cisco.intersight.intersight_ai_storage_policy module – AI-optimized storage policy for Cisco Intersight

Note

This module is part of the cisco.intersight collection (version 2.18.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install cisco.intersight.

To use it in a playbook, specify: cisco.intersight.intersight_ai_storage_policy.

Synopsis

  • Creates storage policies optimized for AI workloads including inference model storage, training data, and telemetry caches.

  • Provides named storage presets that configure NVMe tiering, drive groups, and virtual drive layouts for common AI deployment patterns.

  • Builds on the Intersight storage policy API with AI-specific defaults for high-throughput, low-latency access to model weights and datasets.

  • For full storage configuration control, use cisco.intersight.intersight_storage_policy instead.

  • For more information see Cisco Intersight.

Parameters

Parameter

Comments

api_key_id

string / required

Public API Key ID associated with the private key.

If not set, the value of the INTERSIGHT_API_KEY_ID environment variable is used.

api_private_key

path / required

Filename (absolute path) or string of PEM formatted private key data to be used for Intersight API authentication.

If a string is used, Ansible vault should be used to encrypt string data.

Ex. ansible-vault encrypt_string --vault-id tme@/Users/dsoper/Documents/vault_password_file ‘-----BEGIN EC PRIVATE KEY-----

<your private key data>

-----END EC PRIVATE KEY-----’

If not set, the value of the INTERSIGHT_API_PRIVATE_KEY environment variable is used.

api_uri

string

URI used to access the Intersight API.

If not set, the value of the INTERSIGHT_API_URI environment variable is used.

Default: "https://intersight.com/api/v1"

description

aliases: descr

string

The user-defined description of the storage policy.

m2_boot_enabled

boolean

Override whether to enable M.2 RAID boot drive.

When true, configures M.2 MSTOR-RAID-1 as the boot virtual drive.

Choices:

  • false

  • true

name

string / required

The name assigned to the storage policy.

The name must be between 1 and 62 alphanumeric characters, allowing special characters :-_.

nvme_mode

string

Override the NVMe attachment mode.

direct attaches NVMe drives directly to the CPU for lowest latency.

controller routes NVMe through the RAID controller for management features.

Choices:

  • "direct"

  • "controller"

nvme_slots

string

NVMe drive slots to configure in the selected mode.

Overrides the default slot configuration from the storage profile.

Allowed slots are 1-9, 21-24, 101-104.

Slot format examples: “1,4,5”, “2”, “1-5”, “1,2,6-8”

organization

string

The name of the Organization this resource is assigned to.

Default: "default"

raid_level

string

Override the RAID level for data drive groups.

Only applicable for training_data profile.

Choices:

  • "Raid0"

  • "Raid1"

  • "Raid5"

  • "Raid6"

  • "Raid10"

read_policy

string

Override the read cache policy for virtual drives.

Choices:

  • "Default"

  • "ReadAhead"

  • "NoReadAhead"

state

string

If present, will verify the resource is present and will create if needed.

If absent, will verify the resource is absent and will delete if needed.

Choices:

  • "present" ← (default)

  • "absent"

storage_profile

string / required

The AI storage preset profile to apply.

inference_optimized configures NVMe drives in direct-attach mode for lowest latency access to model weights. Sets all available NVMe slots to direct-attach, disables JBOD for VD creation, and uses RAID0 with read-ahead caching for maximum throughput.

training_data configures storage for large dataset access during training. Uses RAID5/RAID6 for data protection with write-back caching and larger strip sizes for sequential read throughput.

model_cache configures a fast NVMe cache tier for model artifacts with M.2 boot. Enables M.2 virtual drive for OS boot and sets remaining NVMe drives to direct-attach for model weight caching.

edge_compact configures storage for Unified Edge nodes with limited drive bays. Uses M.2 boot with minimal RAID0 configuration suitable for edge inference with constrained storage capacity.

Choices:

  • "inference_optimized"

  • "training_data"

  • "model_cache"

  • "edge_compact"

tags

list / elements=dictionary

List of tags in Key:<user-defined key> Value:<user-defined value> format.

use_proxy

boolean

If no, it will not use a proxy, even if one is defined in an environment variable on the target hosts.

Choices:

  • false

  • true ← (default)

validate_certs

boolean

Boolean control for verifying the api_uri TLS certificate

Choices:

  • false

  • true ← (default)

write_policy

string

Override the write cache policy for virtual drives.

Choices:

  • "Default"

  • "WriteThrough"

  • "WriteBackGoodBbu"

  • "AlwaysWriteBack"

Examples

- name: Create inference-optimized storage policy
  cisco.intersight.intersight_ai_storage_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    organization: AI-Factory
    name: storage-ai-inference
    description: NVMe direct-attach for model weight storage
    storage_profile: inference_optimized

- name: Create training data storage policy with RAID6
  cisco.intersight.intersight_ai_storage_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: storage-ai-training
    description: Protected storage for training datasets
    storage_profile: training_data
    raid_level: Raid6
    write_policy: AlwaysWriteBack

- name: Create model cache storage for inference servers
  cisco.intersight.intersight_ai_storage_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: storage-model-cache
    description: M.2 boot with NVMe model cache
    storage_profile: model_cache
    nvme_slots: "1-4"

- name: Create edge storage policy
  cisco.intersight.intersight_ai_storage_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: storage-edge-inference
    storage_profile: edge_compact

- name: Delete AI storage policy
  cisco.intersight.intersight_ai_storage_policy:
    api_private_key: "{{ api_private_key }}"
    api_key_id: "{{ api_key_id }}"
    name: storage-ai-inference
    storage_profile: inference_optimized
    state: absent

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

api_response

dictionary

The API response output returned by the specified resource.

Returned: always

Sample: {"api_response": {"DirectAttachedNvmeSlots": "1-4", "Name": "storage-ai-inference", "ObjectType": "storage.StoragePolicy"}}

applied_settings

dictionary

The storage settings applied by the profile and any overrides.

Returned: when state is present

Authors

  • Steve Fulmer (@stevefulme1)