dellemc.powerflex.dellemc_powerflex_gatherfacts (1.1.0) — module

Gathering information about Dell EMC PowerFlex

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

Authors: Arindam Datta (@dattaarindam) <ansible.team@dell.com>

preview | supported by community

Install collection

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


Add to requirements.yml

  collections:
    - name: dellemc.powerflex
      version: 1.1.0

Description

Gathering information about Dell EMC PowerFlex storage system includes get the api details of a PowerFlex array, get list of volumes in PowerFlex array, get list of SDSs in a PowerFlex array, get list of SDCs in a PowerFlex array, get list of storage pools in PowerFlex array, get list of protection domains in a PowerFlex array, get list of snapshot policies in a PowerFlex array, and get list of devices in a PowerFlex array.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
 - name: Get detailed list of PowerFlex entities
   dellemc.powerflex.dellemc_powerflex_gatherfacts:
     gateway_host: "{{gateway_host}}"
     username: "{{username}}"
     password: "{{password}}"
     verifycert: "{{verifycert}}"
     gather_subset:
       - vol
       - storage_pool
       - protection_domain
       - sdc
       - sds
       - snapshot_policy
       - device
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
 - name: Get a subset list of PowerFlex volumes
   dellemc.powerflex.dellemc_powerflex_gatherfacts:
     gateway_host: "{{gateway_host}}"
     username: "{{username}}"
     password: "{{password}}"
     verifycert: "{{verifycert}}"
     gather_subset:
       - vol
     filters:
       - filter_key: "name"
         filter_operator: "equal"
         filter_value: "ansible_test"

Inputs

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

filters:
    description:
    - List of filters to support filtered output for storage entities.
    - Each filter is a list of filter_key, filter_operator, filter_value.
    - Supports passing of multiple filters.
    elements: dict
    suboptions:
      filter_key:
        description:
        - Name identifier of the filter.
        required: true
        type: str
      filter_operator:
        choices:
        - equal
        description:
        - Operation to be performed on filter key.
        required: true
        type: str
      filter_value:
        description:
        - Value of the filter key.
        required: true
        type: str
    type: list

password:
    description:
    - The password of the PowerFlex gateway host.
    required: true
    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

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

gather_subset:
    choices:
    - vol
    - storage_pool
    - protection_domain
    - sdc
    - sds
    - snapshot_policy
    - device
    description:
    - List of string variables to specify the Powerflex storage system entities for which
      information is required.
    - Volumes - vol.
    - Storage pools - storage_pool.
    - Protection domains - protection_domain.
    - SDCs - sdc.
    - SDSs - sds.
    - Snapshot policies - snapshot_policy.
    - Devices - device.
    elements: str
    type: list

Outputs

API_Version:
  description: API version of PowerFlex API Gateway.
  returned: always
  sample: '3.5'
  type: str
Array_Details:
  contains:
    addressSpaceUsage:
      description: Address space usage.
      type: str
    authenticationMethod:
      description: Authentication method.
      type: str
    capacityAlertCriticalThresholdPercent:
      description: Capacity alert critical threshold percentage.
      type: int
    capacityAlertHighThresholdPercent:
      description: Capacity alert high threshold percentage.
      type: int
    capacityTimeLeftInDays:
      description: Capacity time left in days.
      type: str
    cliPasswordAllowed:
      description: CLI password allowed.
      type: bool
    daysInstalled:
      description: Days installed.
      type: int
    defragmentationEnabled:
      description: Defragmentation enabled.
      type: bool
    enterpriseFeaturesEnabled:
      description: Enterprise eatures enabled.
      type: bool
    id:
      description: The ID of the system.
      type: str
    installId:
      description: installation Id.
      type: str
    isInitialLicense:
      description: Initial license.
      type: bool
    lastUpgradeTime:
      description: Last upgrade time.
      type: int
    managementClientSecureCommunicationEnabled:
      description: Management client secure communication enabled.
      type: bool
    maxCapacityInGb:
      description: Maximum capacity in GB.
      type: dict
    mdmCluster:
      description: MDM cluster details.
      type: dict
    mdmExternalPort:
      description: MDM external port.
      type: int
    mdmManagementPort:
      description: MDM management port.
      type: int
    mdmSecurityPolicy:
      description: MDM security policy.
      type: str
    showGuid:
      description: Show guid.
      type: bool
    swid:
      description: SWID.
      type: str
    systemVersionName:
      description: System version and name.
      type: str
    tlsVersion:
      description: TLS version.
      type: str
    upgradeState:
      description: Upgrade state.
      type: str
  description: System entities of PowerFlex storage array.
  returned: always
  sample:
    addressSpaceUsage: Normal
    authenticationMethod: Native
    capacityAlertCriticalThresholdPercent: 90
    capacityAlertHighThresholdPercent: 80
    capacityTimeLeftInDays: '24'
    cliPasswordAllowed: true
    daysInstalled: 66
    defragmentationEnabled: true
    enterpriseFeaturesEnabled: true
    id: 4a54a8ba6df0690f
    installId: 38622771228e56db
    isInitialLicense: true
    lastUpgradeTime: 0
    managementClientSecureCommunicationEnabled: true
    maxCapacityInGb: Unlimited
    mdmCluster:
      clusterMode: ThreeNodes
      clusterState: ClusteredNormal
      goodNodesNum: 3
      goodReplicasNum: 2
      id: '5356091375512217871'
      master:
        id: 6101582c2ca8db00
        ips:
        - 10.47.xxx.xxx
        managementIPs:
        - 10.47.xxx.xxx
        name: node0
        opensslVersion: OpenSSL 1.0.2k-fips  26 Jan 2017
        port: 9011
        role: Manager
        status: Normal
        versionInfo: R3_6.0.0
        virtualInterfaces:
        - ens160
      slaves:
      - id: 23fb724015661901
        ips:
        - 10.47.xxx.xxx
        managementIPs:
        - 10.47.xxx.xxx
        opensslVersion: OpenSSL 1.0.2k-fips  26 Jan 2017
        port: 9011
        role: Manager
        status: Normal
        versionInfo: R3_6.0.0
        virtualInterfaces:
        - ens160
      tieBreakers:
      - id: 6ef27eb20d0c1202
        ips:
        - 10.47.xxx.xxx
        managementIPs:
        - 10.47.xxx.xxx
        opensslVersion: N/A
        port: 9011
        role: TieBreaker
        status: Normal
        versionInfo: R3_6.0.0
    mdmExternalPort: 7611
    mdmManagementPort: 6611
    mdmSecurityPolicy: None
    showGuid: true
    swid: ''
    systemVersionName: 'DellEMC PowerFlex Version: R3_6.0.354'
    tlsVersion: TLSv1.2
    upgradeState: NoUpgrade
  type: dict
Devices:
  contains:
    id:
      description: device id.
      type: str
    name:
      description: device name.
      type: str
  description: Details of devices.
  returned: always
  sample:
  - id: b6efa59900000000
    name: device230
  - id: b6efa5fa00020000
    name: device_node0
  - id: b7f3a60900010000
    name: device22
  type: list
Protection_Domains:
  contains:
    id:
      description: protection domain id.
      type: str
    name:
      description: protection domain name.
      type: str
  description: Details of all protection domains.
  returned: always
  sample:
  - id: 9300e90900000001
    name: domain2
  - id: 9300c1f900000000
    name: domain1
  type: list
SDCs:
  contains:
    id:
      description: storage data client id.
      type: str
    name:
      description: storage data client name.
      type: str
  description: Details of storage data clients.
  returned: always
  sample:
  - id: 07335d3d00000006
    name: LGLAP203
  - id: 07335d3c00000005
    name: LGLAP178
  - id: 0733844a00000003
  type: list
SDSs:
  contains:
    id:
      description: storage data server id.
      type: str
    name:
      description: storage data server name.
      type: str
  description: Details of storage data servers.
  returned: always
  sample:
  - id: 8f3bb0cc00000002
    name: node0
  - id: 8f3bb0ce00000000
    name: node1
  - id: 8f3bb15300000001
    name: node22
  type: list
Snapshot_Policies:
  contains:
    id:
      description: snapshot policy id.
      type: str
    name:
      description: snapshot policy name.
      type: str
  description: Details of snapshot policies.
  returned: always
  sample:
  - id: 2b380c5c00000000
    name: sample_snap_policy
  - id: 2b380c5d00000001
    name: sample_snap_policy_1
  type: list
Storage_Pools:
  contains:
    id:
      description: storage pool id.
      type: str
    name:
      description: storage pool name.
      type: str
  description: Details of storage pools.
  returned: always
  sample:
  - id: e0d8f6c900000000
    name: pool1
  - id: e0d96c1f00000002
    name: pool1
  type: list
Volumes:
  contains:
    id:
      description: volume id.
      type: str
    name:
      description: volume name.
      type: str
  description: Details of volumes.
  returned: always
  sample:
  - id: cdd883cf00000002
    name: ansible-volume-1
  type: list
changed:
  description: Whether or not the resource has changed.
  returned: always
  sample: 'false'
  type: bool