dellemc.powerflex.storagepool (2.3.0) — module

Managing Dell PowerFlex storage pool

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

Authors: Arindam Datta (@dattaarindam) <ansible.team@dell.com>, P Srinivas Rao (@srinivas-rao5) <ansible.team@dell.com>

Install collection

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


Add to requirements.yml

  collections:
    - name: dellemc.powerflex
      version: 2.3.0

Description

Dell PowerFlex storage pool module includes getting the details of storage pool, creating a new storage pool, and modifying the attribute of a storage pool.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get the details of storage pool by name
  dellemc.powerflex.storagepool:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    storage_pool_name: "sample_pool_name"
    protection_domain_name: "sample_protection_domain"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get the details of storage pool by id
  dellemc.powerflex.storagepool:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    storage_pool_id: "abcd1234ab12r"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create a new storage pool by name
  dellemc.powerflex.storagepool:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    storage_pool_name: "ansible_test_pool"
    protection_domain_id: "1c957da800000000"
    media_type: "HDD"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Modify a storage pool by name
  dellemc.powerflex.storagepool:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    storage_pool_name: "ansible_test_pool"
    protection_domain_id: "1c957da800000000"
    use_rmcache: true
    use_rfcache: true
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Rename storage pool by id
  dellemc.powerflex.storagepool:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    storage_pool_id: "abcd1234ab12r"
    storage_pool_new_name: "new_ansible_pool"
    state: "present"

Inputs

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

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

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

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

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

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

media_type:
    choices:
    - HDD
    - SSD
    - TRANSITIONAL
    description:
    - Type of devices in the storage pool.
    type: str

use_rfcache:
    description:
    - Enable/Disable RFcache on a specific storage pool.
    type: bool

use_rmcache:
    description:
    - Enable/Disable RMcache on a specific storage pool.
    type: bool

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

storage_pool_id:
    description:
    - The id of the storage pool.
    - It is auto generated, hence should not be provided during creation of a storage
      pool.
    - Mutually exclusive with I(storage_pool_name).
    type: str

storage_pool_name:
    description:
    - The name of the storage pool.
    - If more than one storage pool is found with the same name then protection domain
      id/name is required to perform the task.
    - Mutually exclusive with I(storage_pool_id).
    type: str

protection_domain_id:
    description:
    - The id of the protection domain.
    - During creation of a pool, either protection domain name or id must be mentioned.
    - Mutually exclusive with I(protection_domain_name).
    type: str

storage_pool_new_name:
    description:
    - New name for the storage pool can be provided.
    - This parameter is used for renaming the storage pool.
    type: str

protection_domain_name:
    description:
    - The name of the protection domain.
    - During creation of a pool, either protection domain name or id must be mentioned.
    - Mutually exclusive with I(protection_domain_id).
    type: str

Outputs

changed:
  description: Whether or not the resource has changed.
  returned: always
  sample: 'false'
  type: bool
storage_pool_details:
  contains:
    id:
      description: ID of the storage pool under protection domain.
      type: str
    mediaType:
      description: Type of devices in the storage pool.
      type: str
    name:
      description: Name of the storage pool under protection domain.
      type: str
    protectionDomainId:
      description: ID of the protection domain in which pool resides.
      type: str
    protectionDomainName:
      description: Name of the protection domain in which pool resides.
      type: str
    statistics:
      contains:
        capacityInUseInKb:
          description: Total capacity of the storage pool.
          type: str
        deviceIds:
          description: Device Ids of the storage pool.
          type: list
        unusedCapacityInKb:
          description: Unused capacity of the storage pool.
          type: str
      description: Statistics details of the storage pool.
      type: dict
    useRfcache:
      description: Enable/Disable RFcache on a specific storage pool.
      type: bool
    useRmcache:
      description: Enable/Disable RMcache on a specific storage pool.
      type: bool
  description: Details of the storage pool.
  returned: When storage pool exists
  sample:
    addressSpaceUsage: Normal
    addressSpaceUsageType: DeviceCapacityLimit
    backgroundScannerBWLimitKBps: 3072
    backgroundScannerMode: DataComparison
    bgScannerCompareErrorAction: ReportAndFix
    bgScannerReadErrorAction: ReportAndFix
    capacityAlertCriticalThreshold: 90
    capacityAlertHighThreshold: 80
    capacityUsageState: Normal
    capacityUsageType: NetCapacity
    checksumEnabled: false
    compressionMethod: Invalid
    dataLayout: MediumGranularity
    externalAccelerationType: None
    fglAccpId: null
    fglExtraCapacity: null
    fglMaxCompressionRatio: null
    fglMetadataSizeXx100: null
    fglNvdimmMetadataAmortizationX100: null
    fglNvdimmWriteCacheSizeInMb: null
    fglOverProvisioningFactor: null
    fglPerfProfile: null
    fglWriteAtomicitySize: null
    fragmentationEnabled: true
    id: e0d8f6c900000000
    links:
    - href: /api/instances/StoragePool::e0d8f6c900000000
      rel: self
    - href: /api/instances/StoragePool::e0d8f6c900000000 /relationships/Statistics
      rel: /api/StoragePool/relationship/Statistics
    - href: /api/instances/StoragePool::e0d8f6c900000000 /relationships/SpSds
      rel: /api/StoragePool/relationship/SpSds
    - href: /api/instances/StoragePool::e0d8f6c900000000 /relationships/Volume
      rel: /api/StoragePool/relationship/Volume
    - href: /api/instances/StoragePool::e0d8f6c900000000 /relationships/Device
      rel: /api/StoragePool/relationship/Device
    - href: /api/instances/StoragePool::e0d8f6c900000000 /relationships/VTree
      rel: /api/StoragePool/relationship/VTree
    - href: /api/instances/ProtectionDomain::9300c1f900000000
      rel: /api/parent/relationship/protectionDomainId
    mediaType: HDD
    name: pool1
    numOfParallelRebuildRebalanceJobsPerDevice: 2
    persistentChecksumBuilderLimitKb: 3072
    persistentChecksumEnabled: true
    persistentChecksumState: Protected
    persistentChecksumValidateOnRead: false
    protectedMaintenanceModeIoPriorityAppBwPerDeviceThresholdInKbps: null
    protectedMaintenanceModeIoPriorityAppIopsPerDeviceThreshold: null
    protectedMaintenanceModeIoPriorityBwLimitPerDeviceInKbps: 10240
    protectedMaintenanceModeIoPriorityNumOfConcurrentIosPerDevice: 1
    protectedMaintenanceModeIoPriorityPolicy: limitNumOfConcurrentIos
    protectedMaintenanceModeIoPriorityQuietPeriodInMsec: null
    protectionDomainId: 9300c1f900000000
    protectionDomainName: domain1
    rebalanceEnabled: true
    rebalanceIoPriorityAppBwPerDeviceThresholdInKbps: null
    rebalanceIoPriorityAppIopsPerDeviceThreshold: null
    rebalanceIoPriorityBwLimitPerDeviceInKbps: 10240
    rebalanceIoPriorityNumOfConcurrentIosPerDevice: 1
    rebalanceIoPriorityPolicy: favorAppIos
    rebalanceIoPriorityQuietPeriodInMsec: null
    rebuildEnabled: true
    rebuildIoPriorityAppBwPerDeviceThresholdInKbps: null
    rebuildIoPriorityAppIopsPerDeviceThreshold: null
    rebuildIoPriorityBwLimitPerDeviceInKbps: 10240
    rebuildIoPriorityNumOfConcurrentIosPerDevice: 1
    rebuildIoPriorityPolicy: limitNumOfConcurrentIos
    rebuildIoPriorityQuietPeriodInMsec: null
    replicationCapacityMaxRatio: 32
    rmcacheWriteHandlingMode: Cached
    sparePercentage: 10
    statistics:
      BackgroundScannedInMB: 3466920
      activeBckRebuildCapacityInKb: 0
      activeEnterProtectedMaintenanceModeCapacityInKb: 0
      aggregateCompressionLevel: Uncompressed
      atRestCapacityInKb: 1248256
      backgroundScanCompareErrorCount: 0
      backgroundScanFixedCompareErrorCount: 0
      bckRebuildReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      bckRebuildWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      capacityAvailableForVolumeAllocationInKb: 369098752
      capacityInUseInKb: 2496512
      capacityInUseNoOverheadInKb: 2496512
      capacityLimitInKb: 845783040
      compressedDataCompressionRatio: 0.0
      compressionRatio: 1.0
      currentFglMigrationSizeInKb: 0
      deviceIds: []
      enterProtectedMaintenanceModeCapacityInKb: 0
      enterProtectedMaintenanceModeReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      enterProtectedMaintenanceModeWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      exitProtectedMaintenanceModeReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      exitProtectedMaintenanceModeWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      exposedCapacityInKb: 0
      failedCapacityInKb: 0
      fwdRebuildReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      fwdRebuildWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      inMaintenanceCapacityInKb: 0
      inMaintenanceVacInKb: 0
      inUseVacInKb: 184549376
      inaccessibleCapacityInKb: 0
      logWrittenBlocksInKb: 0
      maxCapacityInKb: 845783040
      migratingVolumeIds: []
      migratingVtreeIds: []
      movingCapacityInKb: 0
      netCapacityInUseInKb: 1248256
      normRebuildCapacityInKb: 0
      normRebuildReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      normRebuildWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      numOfDeviceAtFaultRebuilds: 0
      numOfDevices: 3
      numOfIncomingVtreeMigrations: 0
      numOfVolumes: 8
      numOfVolumesInDeletion: 0
      numOfVtrees: 8
      overallUsageRatio: 73.92289
      pendingBckRebuildCapacityInKb: 0
      pendingEnterProtectedMaintenanceModeCapacityInKb: 0
      pendingExitProtectedMaintenanceModeCapacityInKb: 0
      pendingFwdRebuildCapacityInKb: 0
      pendingMovingCapacityInKb: 0
      pendingMovingInBckRebuildJobs: 0
      persistentChecksumBuilderProgress: 100.0
      persistentChecksumCapacityInKb: 414720
      primaryReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      primaryReadFromDevBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      primaryReadFromRmcacheBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      primaryVacInKb: 92274688
      primaryWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      protectedCapacityInKb: 2496512
      protectedVacInKb: 184549376
      provisionedAddressesInKb: 2496512
      rebalanceCapacityInKb: 0
      rebalanceReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      rebalanceWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      rfacheReadHit: 0
      rfacheWriteHit: 0
      rfcacheAvgReadTime: 0
      rfcacheAvgWriteTime: 0
      rfcacheIoErrors: 0
      rfcacheIosOutstanding: 0
      rfcacheIosSkipped: 0
      rfcacheReadMiss: 0
      rmPendingAllocatedInKb: 0
      rmPendingThickInKb: 0
      rplJournalCapAllowed: 0
      rplTotalJournalCap: 0
      rplUsedJournalCap: 0
      secondaryReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      secondaryReadFromDevBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      secondaryReadFromRmcacheBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      secondaryVacInKb: 92274688
      secondaryWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      semiProtectedCapacityInKb: 0
      semiProtectedVacInKb: 0
      snapCapacityInUseInKb: 0
      snapCapacityInUseOccupiedInKb: 0
      snapshotCapacityInKb: 0
      spSdsIds:
      - abdfe71b00030001
      - abdce71d00040001
      - abdde71e00050001
      spareCapacityInKb: 84578304
      targetOtherLatency:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      targetReadLatency:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      targetWriteLatency:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      tempCapacityInKb: 0
      tempCapacityVacInKb: 0
      thickCapacityInUseInKb: 0
      thinAndSnapshotRatio: 73.92289
      thinCapacityAllocatedInKm: 184549376
      thinCapacityInUseInKb: 0
      thinUserDataCapacityInKb: 2496512
      totalFglMigrationSizeInKb: 0
      totalReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      totalWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      trimmedUserDataCapacityInKb: 0
      unreachableUnusedCapacityInKb: 0
      unusedCapacityInKb: 758708224
      userDataCapacityInKb: 2496512
      userDataCapacityNoTrimInKb: 2496512
      userDataReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      userDataSdcReadLatency:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      userDataSdcTrimLatency:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      userDataSdcWriteLatency:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      userDataTrimBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      userDataWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      volMigrationReadBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      volMigrationWriteBwc:
        numOccured: 0
        numSeconds: 0
        totalWeightInKb: 0
      volumeAddressSpaceInKb: 922XXXXX
      volumeAllocationLimitInKb: 3707XXXXX
      volumeIds:
      - 456afc7900XXXXXXXX
      vtreeAddresSpaceInKb: 92274688
      vtreeIds:
      - 32b1681bXXXXXXXX
    useRfcache: false
    useRmcache: false
    vtreeMigrationIoPriorityAppBwPerDeviceThresholdInKbps: null
    vtreeMigrationIoPriorityAppIopsPerDeviceThreshold: null
    vtreeMigrationIoPriorityBwLimitPerDeviceInKbps: 10240
    vtreeMigrationIoPriorityNumOfConcurrentIosPerDevice: 1
    vtreeMigrationIoPriorityPolicy: favorAppIos
    vtreeMigrationIoPriorityQuietPeriodInMsec: null
    zeroPaddingEnabled: true
  type: dict