dellemc.powerflex.dellemc_powerflex_sds (1.1.1) — module

Manage SDS on Dell EMC PowerFlex

| "added in version" 1.1.0 of dellemc.powerflex"

Authors: Rajshree Khare (@khareRajshree) <ansible.team@dell.com>

preview | supported by community

Install collection

Install with ansible-galaxy collection install dellemc.powerflex:==1.1.1


Add to requirements.yml

  collections:
    - name: dellemc.powerflex
      version: 1.1.1

Description

Managing SDS on PowerFlex storage system includes creating new SDS, getting details of SDS, adding/removing IP to/from SDS, modifying attributes of SDS, and deleting SDS.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create SDS
  dellemc.powerflex.dellemc_powerflex_sds:
    gateway_host: "{{gateway_host}}"
    username: "{{username}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    port: "{{port}}"
    sds_name: "node0"
    protection_domain_name: "domain1"
    sds_ip_list:
      - ip: "198.10.xxx.xxx"
        role: "all"
    sds_ip_state: "present-in-sds"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create SDS with all parameters
  dellemc.powerflex.dellemc_powerflex_sds:
    gateway_host: "{{gateway_host}}"
    username: "{{username}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    port: "{{port}}"
    sds_name: "node1"
    protection_domain_name: "domain1"
    sds_ip_list:
      - ip: "198.10.xxx.xxx"
        role: "sdcOnly"
    sds_ip_state: "present-in-sds"
    rmcache_enabled: true
    rmcache_size: 128
    performance_profile: "HighPerformance"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get SDS details using name
  dellemc.powerflex.dellemc_powerflex_sds:
    gateway_host: "{{gateway_host}}"
    username: "{{username}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    port: "{{port}}"
    sds_name: "node0"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get SDS details using ID
  dellemc.powerflex.dellemc_powerflex_sds:
    gateway_host: "{{gateway_host}}"
    username: "{{username}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    port: "{{port}}"
    sds_id: "5718253c00000004"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Modify SDS attributes using name
  dellemc.powerflex.dellemc_powerflex_sds:
    gateway_host: "{{gateway_host}}"
    username: "{{username}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    port: "{{port}}"
    sds_name: "node0"
    sds_new_name: "node0_new"
    rfcache_enabled: true
    rmcache_enabled: true
    rmcache_size: 256
    performance_profile: "HighPerformance"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Modify SDS attributes using ID
  dellemc.powerflex.dellemc_powerflex_sds:
    gateway_host: "{{gateway_host}}"
    username: "{{username}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    port: "{{port}}"
    sds_id: "5718253c00000004"
    sds_new_name: "node0_new"
    rfcache_enabled: true
    rmcache_enabled: true
    rmcache_size: 256
    performance_profile: "HighPerformance"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Add IP and role to an SDS
  dellemc.powerflex.dellemc_powerflex_sds:
    gateway_host: "{{gateway_host}}"
    username: "{{username}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    port: "{{port}}"
    sds_name: "node0"
    sds_ip_list:
      - ip: "198.10.xxx.xxx"
        role: "sdcOnly"
    sds_ip_state: "present-in-sds"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Remove IP and role from an SDS
  dellemc.powerflex.dellemc_powerflex_sds:
    gateway_host: "{{gateway_host}}"
    username: "{{username}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    port: "{{port}}"
    sds_name: "node0"
    sds_ip_list:
      - ip: "198.10.xxx.xxx"
        role: "sdcOnly"
    sds_ip_state: "absent-in-sds"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete SDS using name
  dellemc.powerflex.dellemc_powerflex_sds:
    gateway_host: "{{gateway_host}}"
    username: "{{username}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    port: "{{port}}"
    sds_name: "node0"
    state: "absent"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete SDS using ID
  dellemc.powerflex.dellemc_powerflex_sds:
    gateway_host: "{{gateway_host}}"
    username: "{{username}}"
    password: "{{password}}"
    verifycert: "{{verifycert}}"
    port: "{{port}}"
    sds_id: "5718253c00000004"
    state: "absent"

Inputs

    
port:
    default: 443
    description:
    - Port number through which communication happens with PowerFlex gateway host.
    required: false
    type: int

state:
    choices:
    - present
    - absent
    description:
    - State of the SDS.
    required: true
    type: str

sds_id:
    description:
    - The ID of the SDS.
    - Except create operation, all other operations can be performed using sds_id.
    - Mutually exclusive with sds_name.
    type: str

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

sds_name:
    description:
    - The name of the SDS.
    - Mandatory for create operation.
    - It is unique across the PowerFlex array.
    - Mutually exclusive with sds_id.
    type: str

username:
    description:
    - The username of the PowerFlex gateway host.
    required: true
    type: str

verifycert:
    choices:
    - true
    - false
    default: true
    description:
    - Boolean variable to specify whether or not to validate SSL certificate.
    - True - Indicates that the SSL certificate should be verified.
    - False - Indicates that the SSL certificate should not be verified.
    required: false
    type: bool

sds_ip_list:
    description:
    - Dictionary of IPs and their roles for the SDS.
    - At least one IP-role is  mandatory while creating a SDS.
    - IP-roles can be updated as well.
    elements: dict
    suboptions:
      ip:
        description:
        - IP address of the SDS.
        required: true
        type: str
      role:
        choices:
        - sdsOnly
        - sdcOnly
        - all
        description:
        - Role assigned to the SDS IP address.
        required: true
        type: str
    type: list

gateway_host:
    description:
    - IP or FQDN of the PowerFlex gateway host.
    required: true
    type: str

rmcache_size:
    description:
    - Read RAM cache size (in MB).
    - Minimum size is 128 MB.
    - Maximum size is 3911 MB.
    type: int

sds_ip_state:
    choices:
    - present-in-sds
    - absent-in-sds
    description:
    - State of IP with respect to the SDS.
    type: str

sds_new_name:
    description:
    - SDS new name.
    type: str

rfcache_enabled:
    description:
    - Whether to enable the Read Flash cache.
    type: bool

rmcache_enabled:
    description:
    - Whether to enable the Read RAM cache.
    type: bool

performance_profile:
    choices:
    - Compact
    - HighPerformance
    description:
    - Performance profile to apply to the SDS.
    - The HighPerformance profile configures a predefined set of parameters for very high
      performance use cases.
    - Default value by API is "HighPerformance".
    type: str

protection_domain_id:
    description:
    - The ID of the protection domain.
    - Mutually exclusive with protection_domain_name.
    type: str

protection_domain_name:
    description:
    - The name of the protection domain.
    - Mutually exclusive with protection_domain_id.
    type: str

Outputs

changed:
  description: Whether or not the resource has changed.
  returned: always
  sample: 'false'
  type: bool
sds_details:
  contains:
    authenticationError:
      description: Indicates authentication error.
      type: str
    certificateInfo:
      description: Information about certificate.
      type: str
    configuredDrlMode:
      description: Configured DRL mode.
      type: str
    drlMode:
      description: DRL mode.
      type: str
    faultSetId:
      description: Fault set ID.
      type: str
    fglMetadataCacheSize:
      description: FGL metadata cache size.
      type: int
    fglMetadataCacheState:
      description: FGL metadata cache state.
      type: str
    fglNumConcurrentWrites:
      description: FGL concurrent writes.
      type: int
    id:
      description: SDS ID.
      type: str
    ipList:
      contains:
        ip:
          description: IP present in the SDS.
          type: str
        role:
          description: Role of the SDS IP.
          type: str
      description: SDS IP list.
      type: list
    lastUpgradeTime:
      description: Last time SDS was upgraded.
      type: str
    links:
      contains:
        href:
          description: SDS instance URL.
          type: str
        rel:
          description: SDS's relationship with different entities.
          type: str
      description: SDS links.
      type: list
    maintenanceState:
      description: Maintenance state.
      type: str
    maintenanceType:
      description: Maintenance type.
      type: str
    mdmConnectionState:
      description: MDM connection state.
      type: str
    membershipState:
      description: Membership state.
      type: str
    name:
      description: Name of the SDS.
      type: str
    numOfIoBuffers:
      description: Number of IO buffers.
      type: int
    numRestarts:
      description: Number of restarts.
      type: int
    onVmWare:
      description: Presence on VMware.
      type: bool
    perfProfile:
      description: Performance profile.
      type: str
    port:
      description: SDS port.
      type: int
    protectionDomainId:
      description: Protection Domain ID.
      type: str
    protectionDomainName:
      description: Protection Domain Name.
      type: str
    raidControllers:
      description: Number of RAID controllers.
      type: int
    rfcacheEnabled:
      description: Whether RF cache is enabled or not.
      type: bool
    rfcacheErrorApiVersionMismatch:
      description: RF cache error for API version mismatch.
      type: bool
    rfcacheErrorDeviceDoesNotExist:
      description: RF cache error for device does not exist.
      type: bool
    rfcacheErrorInconsistentCacheConfiguration:
      description: RF cache error for inconsistent cache configuration.
      type: bool
    rfcacheErrorInconsistentSourceConfiguration:
      description: RF cache error for inconsistent source configuration.
      type: bool
    rfcacheErrorInvalidDriverPath:
      description: RF cache error for invalid driver path.
      type: bool
    rfcacheErrorLowResources:
      description: RF cache error for low resources.
      type: bool
    rmcacheEnabled:
      description: Whether Read RAM cache is enabled or not.
      type: bool
    rmcacheFrozen:
      description: RM cache frozen.
      type: bool
    rmcacheMemoryAllocationState:
      description: RM cache memory allocation state.
      type: bool
    rmcacheSizeInKb:
      description: RM cache size in KB.
      type: int
    rmcacheSizeInMb:
      description: RM cache size in MB.
      type: int
    sdsConfigurationFailure:
      description: SDS configuration failure.
      type: str
    sdsDecoupled:
      description: SDS decoupled.
      type: str
    sdsReceiveBufferAllocationFailures:
      description: SDS receive buffer allocation failures.
      type: str
    sdsState:
      description: SDS state.
      type: str
    softwareVersionInfo:
      description: SDS software version information.
      type: str
  description: Details of the SDS.
  returned: When SDS exists
  sample:
    authenticationError: None
    certificateInfo: null
    configuredDrlMode: Volatile
    drlMode: Volatile
    faultSetId: null
    fglMetadataCacheSize: 0
    fglMetadataCacheState: Disabled
    fglNumConcurrentWrites: 1000
    id: 8f3bb0cc00000002
    ipList:
    - ip: 10.47.xxx.xxx
      role: all
    lastUpgradeTime: 0
    links:
    - href: /api/instances/Sds::8f3bb0cc00000002
      rel: self
    - href: /api/instances/Sds::8f3bb0cc00000002/relationships /Statistics
      rel: /api/Sds/relationship/Statistics
    - href: /api/instances/Sds::8f3bb0cc00000002/relationships /SpSds
      rel: /api/Sds/relationship/SpSds
    - href: /api/instances/Sds::8f3bb0cc00000002/relationships /Device
      rel: /api/Sds/relationship/Device
    - href: /api/instances/ProtectionDomain::9300c1f900000000
      rel: /api/parent/relationship/protectionDomainId
    maintenanceState: NoMaintenance
    maintenanceType: NoMaintenance
    mdmConnectionState: Connected
    membershipState: Joined
    name: node0
    numOfIoBuffers: null
    numRestarts: 2
    onVmWare: true
    perfProfile: HighPerformance
    port: 7072
    protectionDomainId: 9300c1f900000000
    protectionDomainName: domain1
    raidControllers: null
    rfcacheEnabled: true
    rfcacheErrorApiVersionMismatch: false
    rfcacheErrorDeviceDoesNotExist: false
    rfcacheErrorInconsistentCacheConfiguration: false
    rfcacheErrorInconsistentSourceConfiguration: false
    rfcacheErrorInvalidDriverPath: false
    rfcacheErrorLowResources: false
    rmcacheEnabled: true
    rmcacheFrozen: false
    rmcacheMemoryAllocationState: AllocationPending
    rmcacheSizeInKb: 131072
    rmcacheSizeInMb: 128
    sdsConfigurationFailure: null
    sdsDecoupled: null
    sdsReceiveBufferAllocationFailures: null
    sdsState: Normal
    softwareVersionInfo: R3_6.0.0
  type: complex