dellemc.powerflex.replication_consistency_group (2.3.0) — module

Manage replication consistency groups on Dell PowerFlex

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

Authors: Trisha Datta (@Trisha-Datta) <ansible.team@dell.com>, Jennifer John (@Jennifer-John) <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 replication consistency groups on PowerFlex storage system includes getting details, creating, modifying, creating snapshots, pause, resume, freeze, unfreeze, activate, failover, reverse, restore, sync, switchover, inactivate and deleting a replication consistency group.


Requirements

Usage examples

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

- name: Get RCG details
  dellemc.powerflex.replication_consistency_group:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    rcg_name: "{{rcg_name}}"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create a snapshot of the RCG
  dellemc.powerflex.replication_consistency_group:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    rcg_id: "{{rcg_id}}"
    create_snapshot: true
    state: "present"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create a replication consistency group
  dellemc.powerflex.replication_consistency_group:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    rcg_name: "rcg_test"
    rpo: 60
    protection_domain_name: "domain1"
    activity_mode: "active"
    remote_peer:
      hostname: "{{hostname}}"
      username: "{{username}}"
      password: "{{password}}"
      validate_certs: "{{validate_certs}}"
      port: "{{port}}"
      protection_domain_name: "domain1"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Modify replication consistency group
  dellemc.powerflex.replication_consistency_group:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    rcg_name: "rcg_test"
    rpo: 60
    target_volume_access_mode: "ReadOnly"
    activity_mode: "Inactive"
    is_consistent: true
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Rename replication consistency group
  dellemc.powerflex.replication_consistency_group:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    rcg_name: "rcg_test"
    new_rcg_name: "rcg_test_rename"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Pause replication consistency group
  dellemc.powerflex.replication_consistency_group:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    rcg_name: "rcg_test"
    rcg_state: "pause"
    pause_mode: "StopDataTransfer"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Resume replication consistency group
  dellemc.powerflex.replication_consistency_group:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    rcg_name: "rcg_test"
    rcg_state: "resume"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Freeze replication consistency group
  dellemc.powerflex.replication_consistency_group:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    rcg_name: "rcg_test"
    rcg_state: "freeze"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: UnFreeze replication consistency group
  dellemc.powerflex.replication_consistency_group:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    rcg_name: "rcg_test"
    rcg_state: "unfreeze"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Failover replication consistency group
  dellemc.powerflex.replication_consistency_group:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    rcg_name: "rcg_test"
    rcg_state: "failover"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Reverse replication consistency group
  dellemc.powerflex.replication_consistency_group:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    rcg_name: "rcg_test"
    rcg_state: "reverse"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Restore replication consistency group
  dellemc.powerflex.replication_consistency_group:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    rcg_name: "rcg_test"
    rcg_state: "restore"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Switchover replication consistency group
  dellemc.powerflex.replication_consistency_group:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    rcg_name: "rcg_test"
    rcg_state: "switchover"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Synchronize replication consistency group
  dellemc.powerflex.replication_consistency_group:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    rcg_name: "rcg_test"
    rcg_state: "sync"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete replication consistency group
  dellemc.powerflex.replication_consistency_group:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    rcg_name: "rcg_test"
    state: "absent"

Inputs

    
rpo:
    description:
    - Desired RPO in seconds.
    type: int

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

force:
    description:
    - Force switchover the RCG.
    type: bool

pause:
    description:
    - Pause or resume the RCG.
    - This parameter is deprecated. Use rcg_state instead.
    type: bool

state:
    choices:
    - present
    - absent
    default: present
    description:
    - State of the replication consistency group.
    type: str

freeze:
    description:
    - Freeze or unfreeze the RCG.
    - This parameter is deprecated. Use rcg_state instead.
    type: bool

rcg_id:
    description:
    - The ID of the replication consistency group.
    - Mutually exclusive with I(rcg_name).
    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

rcg_name:
    description:
    - The name of the replication consistency group.
    - It is unique across the PowerFlex array.
    - Mutually exclusive with I(rcg_id).
    type: str

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

rcg_state:
    choices:
    - failover
    - reverse
    - restore
    - switchover
    - sync
    - pause
    - resume
    - freeze
    - unfreeze
    description:
    - Specify an action for RCG.
    - Failover the RCG.
    - Reverse the RCG.
    - Restore the RCG.
    - Switchover the RCG.
    - Pause or resume the RCG.
    - Freeze or unfreeze the RCG.
    - Synchronize the RCG.
    type: str

pause_mode:
    choices:
    - StopDataTransfer
    - OnlyTrackChanges
    description:
    - Pause mode.
    - It is required if pause is set as true.
    type: str

remote_peer:
    description:
    - Remote peer system.
    suboptions:
      hostname:
        aliases:
        - gateway_host
        description:
        - IP or FQDN of the remote peer gateway host.
        required: true
        type: str
      password:
        description:
        - The password of the remote peer gateway host.
        required: true
        type: str
      port:
        default: 443
        description:
        - Port number through which communication happens with remote peer gateway host.
        type: int
      protection_domain_id:
        description:
        - Remote protection domain id.
        - Mutually exclusive with I(protection_domain_name).
        type: str
      protection_domain_name:
        description:
        - Remote protection domain name.
        - Mutually exclusive with I(protection_domain_id).
        type: str
      timeout:
        default: 120
        description:
        - Time after which connection will get terminated.
        - It is to be mentioned in seconds.
        type: int
      username:
        description:
        - The username of the remote peer gateway host.
        required: true
        type: str
      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
    type: dict

new_rcg_name:
    description:
    - Name of RCG to rename to.
    type: str

activity_mode:
    choices:
    - Active
    - Inactive
    description:
    - Activity mode of RCG.
    - This parameter is supported for version 3.6 and above.
    type: str

is_consistent:
    description:
    - Consistency of RCG.
    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

create_snapshot:
    description:
    - Whether to create the snapshot of the replication consistency group.
    type: bool

protection_domain_id:
    description:
    - Protection domain id.
    - Mutually exclusive with I(protection_domain_name).
    type: str

protection_domain_name:
    description:
    - Protection domain name.
    - Mutually exclusive with I(protection_domain_id).
    type: str

target_volume_access_mode:
    choices:
    - ReadOnly
    - NoAccess
    description:
    - Target volume access mode.
    type: str

Outputs

changed:
  description: Whether or not the resource has changed.
  returned: always
  sample: 'false'
  type: bool
replication_consistency_group_details:
  contains:
    abstractState:
      description: The abstract state of the replication consistency group.
      type: str
    activeLocal:
      description: Whether the local replication consistency group is active.
      type: bool
    activeRemote:
      description: Whether the remote replication consistency group is active
      type: bool
    currConsistMode:
      description: The current consistency mode of the replication consistency group.
      type: str
    disasterRecoveryState:
      description: The state of disaster recovery of the local replication consistency
        group.
      type: str
    error:
      description: The error code of the replication consistency group.
      type: int
    failoverState:
      description: The state of failover of the replication consistency group.
      type: str
    failoverType:
      description: The type of failover of the replication consistency group.
      type: str
    freezeState:
      description: The freeze state of the replication consistency group.
      type: str
    id:
      description: The ID of the replication consistency group.
      type: str
    inactiveReason:
      description: The reason for the inactivity of the replication consistency group.
      type: int
    lastSnapCreationRc:
      description: The return code of the last snapshot of the replication consistency
        group.
      type: int
    lastSnapGroupId:
      description: ID of the last snapshot of the replication consistency group.
      type: str
    lifetimeState:
      description: The Lifetime state of the replication consistency group.
      type: str
    localActivityState:
      description: The state of activity of the local replication consistency group.
      type: str
    name:
      description: The name of the replication consistency group.
      type: str
    pauseMode:
      description: The Lifetime state of the replication consistency group.
      type: str
    peerMdmId:
      description: The ID of the peer MDM of the replication consistency group.
      type: str
    protectionDomainId:
      description: The Protection Domain ID of the replication consistency group.
      type: str
    remoteActivityState:
      description: The state of activity of the remote replication consistency group..
      type: str
    remoteDisasterRecoveryState:
      description: The state of disaster recovery of the remote replication consistency
        group.
      type: str
    remoteId:
      description: The ID of the remote replication consistency group.
      type: str
    remoteMdmId:
      description: The ID of the remote MDM of the replication consistency group.
      type: str
    remoteProtectionDomainId:
      description: The ID of the remote Protection Domain.
      type: str
    remoteProtectionDomainName:
      description: The Name of the remote Protection Domain.
      type: str
    replicationDirection:
      description: The direction of the replication of the replication consistency
        group.
      type: str
    rpoInSeconds:
      description: The RPO value of the replication consistency group in seconds.
      type: int
    snapCreationInProgress:
      description: Whether the process of snapshot creation of the replication consistency
        group is in progress or not.
      type: bool
    targetVolumeAccessMode:
      description: The access mode of the target volume of the replication consistency
        group.
      type: str
    type:
      description: The type of the replication consistency group.
      type: str
  description: Details of the replication consistency group.
  returned: When replication consistency group exists
  sample:
    abstractState: Ok
    activeLocal: true
    activeRemote: true
    currConsistMode: Consistent
    disasterRecoveryState: None
    error: 65
    failoverState: None
    failoverType: None
    freezeState: Unfrozen
    id: aadc17d500000000
    inactiveReason: 11
    lastSnapCreationRc: SUCCESS
    lastSnapGroupId: e58280b300000001
    lifetimeState: Normal
    localActivityState: Active
    name: test_rcg
    pauseMode: None
    peerMdmId: 6c3d94f600000000
    protectionDomainId: b969400500000000
    remoteActivityState: Active
    remoteDisasterRecoveryState: None
    remoteId: 2130961a00000000
    remoteMdmId: 0e7a082862fedf0f
    remoteProtectionDomainId: 4eeb304600000000
    remoteProtectionDomainName: domain1
    replicationDirection: LocalToRemote
    rpoInSeconds: 30
    snapCreationInProgress: false
    targetVolumeAccessMode: NoAccess
    type: User
  type: dict