dellemc.powerstore.storage_container (3.2.0) — module

Manage storage container for PowerStore

| "added in version" 2.0.0 of dellemc.powerstore"

Authors: Trisha Datta (@trisha-dell) <ansible.team@dell.com>, Bhavneet Sharma (@Bhavneet-Sharma) <ansible.team@dell.com>

Install collection

Install with ansible-galaxy collection install dellemc.powerstore:==3.2.0


Add to requirements.yml

  collections:
    - name: dellemc.powerstore
      version: 3.2.0

Description

Managing storage containers on PowerStore Storage System includes creating a storage container, getting details of a storage container, modifying a storage container and deleting a storage container.

This module also supports creating and deleting storage container destinations.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.

- name: Create a storage_container
  dellemc.powerstore.storage_container:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    storage_container_name: "Ansible_storage_container_1"
    quota: 0
    storage_protocol: "SCSI"
    high_water_mark: 60
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get the details of the storage container using id
  dellemc.powerstore.storage_container:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    storage_container_id: "storage_container_id"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get the details of the storage container by name
  dellemc.powerstore.storage_container:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    storage_container_name: "Ansible_storage_container_1"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Modify a storage container
  dellemc.powerstore.storage_container:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    storage_container_name: "Ansible_storage_container_1"
    quota: 20
    quota_unit: "GB"
    storage_protocol: "NVMe"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Rename a storage container
  dellemc.powerstore.storage_container:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    storage_container_name: "Ansible_storage_container_1"
    new_name: "Ansible_storage_container_1_new"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete a storage container containing vVols
  dellemc.powerstore.storage_container:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    storage_container_name: "Ansible_storage_container_1"
    force_delete: true
    state: "absent"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete a storage container using id
  dellemc.powerstore.storage_container:
    array_ip: "{{array_ip}}"
    validate_certs: "{{validate_certs}}"
    user: "{{user}}"
    password: "{{password}}"
    storage_container_id: "storage_container_id_1"
    state: "absent"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create a storage container destination
  dellemc.powerstore.storage_container:
    array_ip: "{{array_ip}}"
    user: "{{user}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    storage_container_name: "local_storage_container"
    storage_container_destination:
      remote_address: "x.x.x.x"
      user: "{{user}}"
      password: "{{password}}"
      validate_certs: "{{validate_certs}}"
      remote_system: "remote_system_name"
      remote_storage_container: "remote_storage_container_name"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete a storage container destination
  dellemc.powerstore.storage_container:
    array_ip: "{{array_ip}}"
    user: "{{user}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    storage_container_id: "storage_container_id"
    storage_container_destination_state: "absent"
    storage_container_destination:
      remote_address: "x.x.x.x"
      user: "{{user}}"
      password: "{{password}}"
      validate_certs: "{{validate_certs}}"
      remote_system: "remote_system_name"
      remote_storage_container: "remote_storage_container_name"

Inputs

    
port:
    description:
    - Port number for the PowerStore array.
    - If not passed, it will take 443 as default.
    type: int

user:
    description:
    - The username of the PowerStore host.
    required: true
    type: str

quota:
    description:
    - The total number of bytes that can be provisioned/reserved against this storage
      container.
    - A value of C(0) means there is no limit.
    - It is possible to set the quota to a value that overprovisions the amount of space
      available in the system.
    type: int

state:
    choices:
    - absent
    - present
    default: present
    description:
    - Define whether the storage container should exist or not.
    - For Delete operation only, it should be set to C(absent).
    required: false
    type: str

timeout:
    default: 120
    description:
    - Time after which the connection will get terminated.
    - It is to be mentioned in seconds.
    type: int

array_ip:
    description:
    - IP or FQDN of the PowerStore management system.
    required: true
    type: str

new_name:
    description:
    - The new name of the storage container.
    type: str

password:
    description:
    - The password of the PowerStore host.
    required: true
    type: str

quota_unit:
    choices:
    - GB
    - TB
    - PB
    default: GB
    description:
    - Unit of the quota.
    type: str

force_delete:
    default: false
    description:
    - This option overrides the error and allows the deletion to continue in case there
      are any vVols associated with the storage container.
    - Use with great caution.
    type: bool

validate_certs:
    aliases:
    - verifycert
    default: true
    description:
    - Boolean variable to specify whether to validate SSL certificate or not.
    - C(true) - indicates that the SSL certificate should be verified. Set the environment
      variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
    - C(false) - indicates that the SSL certificate should not be verified.
    type: bool

high_water_mark:
    description:
    - This is the percentage of the quota that can be consumed before an alert is raised.
    - This is used only for creating a storage container.
    type: int

storage_protocol:
    choices:
    - SCSI
    - NVMe
    description:
    - The type of storage container.
    - C(SCSI) is set when a storage container is dedicated to C(SCSI) usage.
    - C(NVMe) is set when a storage container is dedicated to C(NVMe) usage.
    type: str

storage_container_id:
    description:
    - The unique identifier of the storage container.
    type: str

storage_container_name:
    description:
    - Name for the storage container.
    - This should be unique across all storage containers in the cluster.
    type: str

storage_container_destination:
    description:
    - It contains details of remote system and remote storage container.
    - It is required while creating and deleting storage container destinations.
    suboptions:
      password:
        description:
        - Password of the remote PowerStore storage system.
        required: true
        type: str
      port:
        default: 443
        description:
        - Port number of the remote PowerStore storage system.
        type: int
      remote_address:
        description:
        - The IP address of the remote storage system.
        required: true
        type: str
      remote_storage_container:
        description:
        - Name or ID of the remote storage container on the remote storage system.
        required: true
        type: str
      remote_system:
        description:
        - Name or ID of the remote system.
        required: true
        type: str
      timeout:
        default: 120
        description:
        - Time after which connection will be terminated.
        - It is mentioned in seconds.
        type: int
      user:
        description:
        - Username of the remote PowerStore storage system.
        required: true
        type: str
      validate_certs:
        aliases:
        - verifycert
        default: true
        description:
        - Boolean variable to specify whether to validate SSL certificate or not.
        - C(true) - indicates that the SSL certificate should be verified. Set the environment
          variable REQUESTS_CA_BUNDLE to the path of the SSL certificate.
        - C(false) - indicates that the SSL certificate should not be verified.
        type: bool
    type: dict

storage_container_destination_state:
    choices:
    - present
    - absent
    default: present
    description:
    - Define whether the storage container destination should exist in the storage container.
    - To delete storage container destination, it should be C(absent).
    type: str

Outputs

changed:
  description: Whether or not the resource has changed.
  returned: always
  sample: 'false'
  type: bool
storage_container_details:
  contains:
    datastores:
      contains:
        id:
          description: Unique identifier of the datastore instance.
          type: str
        name:
          description: User-assigned name of the datastore in vCenter.
          type: str
      description: List of associated datstores.
      type: list
    destinations:
      contains:
        id:
          description: The unique id of the storage container destination.
          type: str
        remote_storage_container_id:
          description: The unique id of the destination storage container on the remote
            system.
          type: str
        remote_system_id:
          description: The unique id of the remote system.
          type: str
        remote_system_name:
          description: The name of the remote system.
          type: str
      description: A storage container destination defines replication destination
        for a local storage container on a remote system.
      type: list
    id:
      description: The unique identifier of the storage container.
      type: str
    name:
      description: The name for the storage container.
      type: str
    quota:
      description: The total number of bytes that can be provisioned/reserved against
        this storage container.
      type: int
    replication_groups:
      contains:
        id:
          description: Unique identifier of the Replication Group instance.
          type: str
        name:
          description: Name of the Replication Group.
          type: str
      description: Properties of a Replication Group.
      type: list
    storage_protocol:
      description: The type of storage container.
      type: str
    virtual_volumes:
      contains:
        id:
          description: The unique identifier of the virtual volume.
          type: str
        name:
          description: The name of the virtual volume.
          type: str
      description: The virtual volumes associated to the storage container.
      type: list
  description: Details of the storage container.
  returned: When storage container exists.
  sample:
    datastores: []
    destinations: []
    id: e0ccd953-5650-41d8-9bce-f36d876d6a2a
    name: Ansible_storage_container_1
    quota: 21474836480
    replication_groups: []
    storage_protocol: NVMe
    storage_protocol_l10n: NVMe
    virtual_volumes: []
  type: complex