dellemc.powerflex.protection_domain (2.3.0) — module

Manage Protection Domain on Dell PowerFlex

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

Authors: Bhavneet Sharma (@sharmb5) <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

Managing Protection Domain on PowerFlex storage system includes creating, modifying attributes, deleting and getting details of Protection Domain.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create protection domain
  dellemc.powerflex.protection_domain:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    protection_domain_name: "domain1"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create protection domain with all parameters
  dellemc.powerflex.protection_domain:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    protection_domain_name: "domain1"
    is_active: true
    network_limits:
      rebuild_limit: 10
      rebalance_limit: 17
      vtree_migration_limit: 14
      overall_limit: 20
      bandwidth_unit: "MBps"
    rf_cache_limits:
      is_enabled: true
      page_size: 16
      max_io_limit: 128
      pass_through_mode: "Read"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get protection domain details using name
  dellemc.powerflex.protection_domain:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    protection_domain_name: "domain1"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get protection domain details using ID
  dellemc.powerflex.protection_domain:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    protection_domain_id: "5718253c00000004"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Modify protection domain attributes
  dellemc.powerflex.protection_domain:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    protection_domain_name: "domain1"
    protection_domain_new_name: "domain1_new"
    network_limits:
      rebuild_limit: 14
      rebalance_limit: 20
      overall_limit: 25
      bandwidth_unit: "MBps"
    rf_cache_limits:
      page_size: 64
      pass_through_mode: "WriteMiss"
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete protection domain using name
  dellemc.powerflex.protection_domain:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    protection_domain_name: "domain1_new"
    state: "absent"

Inputs

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

state:
    choices:
    - present
    - absent
    description:
    - State of the protection domain.
    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

is_active:
    description:
    - Used to activate or deactivate the protection domain.
    type: bool

network_limits:
    description:
    - Network bandwidth limit used by all SDS in protection domain.
    suboptions:
      bandwidth_unit:
        choices:
        - KBps
        - MBps
        - GBps
        default: KBps
        description:
        - Unit for network bandwidth limits.
        type: str
      overall_limit:
        description:
        - Limit the overall network bandwidth.
        type: int
      rebalance_limit:
        description:
        - Limit the network bandwidth for rebalance.
        type: int
      rebuild_limit:
        description:
        - Limit the network bandwidth for rebuild.
        type: int
      vtree_migration_limit:
        description:
        - Limit the network bandwidth for vtree migration.
        type: int
    type: dict

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

rf_cache_limits:
    description:
    - Used to set the RFcache parameters of the protection domain.
    suboptions:
      is_enabled:
        description:
        - Used to enable or disable RFcache in the protection domain.
        type: bool
      max_io_limit:
        description:
        - Used to set cache maximum I/O limit in KB.
        type: int
      page_size:
        description:
        - Used to set the cache page size in KB.
        type: int
      pass_through_mode:
        choices:
        - None
        - Read
        - Write
        - ReadAndWrite
        - WriteMiss
        description:
        - Used to set the cache mode.
        type: str
    type: dict

protection_domain_id:
    description:
    - The ID of the protection domain.
    - Except for create operation, all other operations can be performed using protection_domain_id.
    - Mutually exclusive with I(protection_domain_name).
    type: str

protection_domain_name:
    description:
    - The name of the protection domain.
    - Mandatory for create operation.
    - It is unique across the PowerFlex array.
    - Mutually exclusive with I(protection_domain_id).
    type: str

protection_domain_new_name:
    description:
    - Used to rename the protection domain.
    type: str

Outputs

changed:
  description: Whether or not the resource has changed.
  returned: always
  sample: 'false'
  type: bool
protection_domain_details:
  contains:
    fglDefaultMetadataCacheSize:
      description: FGL metadata cache size.
      type: int
    fglDefaultNumConcurrentWrites:
      description: FGL concurrent writes.
      type: str
    fglMetadataCacheEnabled:
      description: Whether FGL cache enabled.
      type: bool
    id:
      description: Protection domain ID.
      type: str
    links:
      contains:
        href:
          description: Protection domain instance URL.
          type: str
        rel:
          description: Protection domain's relationship with different entities.
          type: str
      description: Protection domain links.
      type: list
    mdmSdsNetworkDisconnectionsCounterParameters:
      contains:
        longWindow:
          description: Long window for Counter Parameters.
          type: int
        mediumWindow:
          description: Medium window for Counter Parameters.
          type: int
        shortWindow:
          description: Short window for Counter Parameters.
          type: int
      description: MDM's SDS counter parameter.
      type: dict
    name:
      description: Name of the protection domain.
      type: str
    overallIoNetworkThrottlingEnabled:
      description: Whether overall network throttling enabled.
      type: bool
    overallIoNetworkThrottlingInKbps:
      description: Overall network throttling in KBps.
      type: int
    protectedMaintenanceModeNetworkThrottlingEnabled:
      description: Whether protected maintenance mode network throttling enabled.
      type: bool
    protectedMaintenanceModeNetworkThrottlingInKbps:
      description: Protected maintenance mode network throttling in KBps.
      type: int
    protectionDomainState:
      description: State of protection domain.
      type: int
    rebalanceNetworkThrottlingEnabled:
      description: Whether rebalance network throttling enabled.
      type: int
    rebalanceNetworkThrottlingInKbps:
      description: Rebalance network throttling in KBps.
      type: int
    rebuildNetworkThrottlingEnabled:
      description: Whether rebuild network throttling enabled.
      type: int
    rebuildNetworkThrottlingInKbps:
      description: Rebuild network throttling in KBps.
      type: int
    rfcacheAccpId:
      description: Id of RF cache acceleration pool.
      type: str
    rfcacheEnabled:
      description: Whether RF cache is enabled or not.
      type: bool
    rfcacheMaxIoSizeKb:
      description: RF cache maximum I/O size in KB.
      type: int
    rfcacheOpertionalMode:
      description: RF cache operational mode.
      type: str
    rfcachePageSizeKb:
      description: RF cache page size in KB.
      type: bool
    sdrSdsConnectivityInfo:
      contains:
        clientServerConnStatus:
          description: Connectivity status of client and server.
          type: str
        disconnectedClientId:
          description: Disconnected client ID.
          type: str
        disconnectedClientName:
          description: Disconnected client name.
          type: str
        disconnectedServerId:
          description: Disconnected server ID.
          type: str
        disconnectedServerIp:
          description: Disconnected server IP.
          type: str
        disconnectedServerName:
          description: Disconnected server name.
          type: str
      description: Connectivity info of SDR and SDS.
      type: dict
    sdsSdsNetworkDisconnectionsCounterParameters:
      contains:
        longWindow:
          description: Long window for Counter Parameters.
          type: int
        mediumWindow:
          description: Medium window for Counter Parameters.
          type: int
        shortWindow:
          description: Short window for Counter Parameters.
          type: int
      description: Counter parameter for SDS-SDS network.
      type: dict
    storagePool:
      description: List of storage pools.
      type: list
    systemId:
      description: ID of system.
      type: str
    vtreeMigrationNetworkThrottlingEnabled:
      description: Whether V-Tree migration network throttling enabled.
      type: bool
    vtreeMigrationNetworkThrottlingInKbps:
      description: V-Tree migration network throttling in KBps.
      type: int
  description: Details of the protection domain.
  returned: When protection domain exists
  sample:
    fglDefaultMetadataCacheSize: 0
    fglDefaultNumConcurrentWrites: 1000
    fglMetadataCacheEnabled: false
    id: 7bd6457000000000
    links:
    - href: /api/instances/ProtectionDomain::7bd6457000000000
      rel: self
    - href: /api/instances/ProtectionDomain::7bd6457000000000/ relationships/Statistics
      rel: /api/ProtectionDomain/relationship/Statistics
    - href: /api/instances/ProtectionDomain::7bd6457000000000/ relationships/Sdr
      rel: /api/ProtectionDomain/relationship/Sdr
    - href: /api/instances/ProtectionDomain::7bd6457000000000/ relationships/AccelerationPool
      rel: /api/ProtectionDomain/relationship/AccelerationPool
    - href: /api/instances/ProtectionDomain::7bd6457000000000/ relationships/StoragePool
      rel: /api/ProtectionDomain/relationship/StoragePool
    - href: /api/instances/ProtectionDomain::7bd6457000000000/ relationships/Sds
      rel: /api/ProtectionDomain/relationship/Sds
    - href: /api/instances/ProtectionDomain::7bd6457000000000/ relationships/ReplicationConsistencyGroup
      rel: /api/ProtectionDomain/relationship/ ReplicationConsistencyGroup
    - href: /api/instances/ProtectionDomain::7bd6457000000000/ relationships/FaultSet
      rel: /api/ProtectionDomain/relationship/FaultSet
    - href: /api/instances/System::0989ce79058f150f
      rel: /api/parent/relationship/systemId
    mdmSdsNetworkDisconnectionsCounterParameters:
      longWindow:
        threshold: 700
        windowSizeInSec: 86400
      mediumWindow:
        threshold: 500
        windowSizeInSec: 3600
      shortWindow:
        threshold: 300
        windowSizeInSec: 60
    name: domain1
    overallIoNetworkThrottlingEnabled: false
    overallIoNetworkThrottlingInKbps: null
    protectedMaintenanceModeNetworkThrottlingEnabled: false
    protectedMaintenanceModeNetworkThrottlingInKbps: null
    protectionDomainState: Active
    rebalanceNetworkThrottlingEnabled: false
    rebalanceNetworkThrottlingInKbps: null
    rebuildNetworkThrottlingEnabled: false
    rebuildNetworkThrottlingInKbps: null
    rfcacheAccpId: null
    rfcacheEnabled: true
    rfcacheMaxIoSizeKb: 128
    rfcacheOpertionalMode: WriteMiss
    rfcachePageSizeKb: 64
    sdrSdsConnectivityInfo:
      clientServerConnStatus: CLIENT_SERVER_CONN_STATUS_ALL _CONNECTED
      disconnectedClientId: null
      disconnectedClientName: null
      disconnectedServerId: null
      disconnectedServerIp: null
      disconnectedServerName: null
    sdsConfigurationFailureCounterParameters:
      longWindow:
        threshold: 700
        windowSizeInSec: 86400
      mediumWindow:
        threshold: 500
        windowSizeInSec: 3600
      shortWindow:
        threshold: 300
        windowSizeInSec: 60
    sdsDecoupledCounterParameters:
      longWindow:
        threshold: 700
        windowSizeInSec: 86400
      mediumWindow:
        threshold: 500
        windowSizeInSec: 3600
      shortWindow:
        threshold: 300
        windowSizeInSec: 60
    sdsReceiveBufferAllocationFailuresCounterParameters:
      longWindow:
        threshold: 2000000
        windowSizeInSec: 86400
      mediumWindow:
        threshold: 200000
        windowSizeInSec: 3600
      shortWindow:
        threshold: 20000
        windowSizeInSec: 60
    sdsSdsNetworkDisconnectionsCounterParameters:
      longWindow:
        threshold: 700
        windowSizeInSec: 86400
      mediumWindow:
        threshold: 500
        windowSizeInSec: 3600
      shortWindow:
        threshold: 300
        windowSizeInSec: 60
    storagePool:
    - id: 8d1cba1700000000
      name: pool1
    systemId: 0989ce79058f150f
    vtreeMigrationNetworkThrottlingEnabled: false
    vtreeMigrationNetworkThrottlingInKbps: null
  type: dict