dellemc.powerflex.replication_pair (2.3.0) — module

Manage replication pairs on Dell PowerFlex

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

Authors: 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 pairs on PowerFlex storage system includes getting details, creating, pause, resume initial copy and deleting a replication pair.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Get replication pair details
  dellemc.powerflex.replication_pair:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    pair_id: "123"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create a replication pair
  dellemc.powerflex.replication_pair:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    rcg_name: "test_rcg"
    pairs:
      - source_volume_id: "002"
        target_volume_id: "001"
        copy_type: "OnlineCopy"
        name: "pair1"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create a replication pair with target volume name
  dellemc.powerflex.replication_pair:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    rcg_name: "test_rcg"
    pairs:
      - source_volume_name: "src_vol"
        target_volume_name: "dest_vol"
        copy_type: "OnlineCopy"
        name: "pair1"
    remote_peer:
      hostname: "{{hostname}}"
      username: "{{username}}"
      password: "{{password}}"
      validate_certs: "{{validate_certs}}"
      port: "{{port}}"
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Pause replication pair
  dellemc.powerflex.replication_pair:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    pair_name: "pair1"
    pause: true
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Resume replication pair
  dellemc.powerflex.replication_pair:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    pair_name: "pair1"
    pause: false
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete replication pair
  dellemc.powerflex.replication_pair:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    pair_name: "pair1"
    state: "absent"

Inputs

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

pairs:
    description:
    - List of replication pairs to add to rcg.
    elements: dict
    suboptions:
      copy_type:
        choices:
        - Identical
        - OnlineCopy
        - OnlineHashCopy
        - OfflineCopy
        description:
        - Copy type.
        required: true
        type: str
      name:
        description:
        - Name of replication pair.
        type: str
      source_volume_id:
        description:
        - Source volume ID.
        - Mutually exclusive with I(source_volume_name).
        type: str
      source_volume_name:
        description:
        - Source volume name.
        - Mutually exclusive with I(source_volume_id).
        type: str
      target_volume_id:
        description:
        - Target volume ID.
        - Mutually exclusive with I(target_volume_name).
        type: str
      target_volume_name:
        description:
        - Target volume name.
        - If specified, I(remote_peer) details should also be specified.
        - Mutually exclusive with I(target_volume_id).
        type: str
    type: list

pause:
    description:
    - Pause or resume the initial copy of replication pair.
    type: bool

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

rcg_id:
    description:
    - The ID of the replication consistency group.
    - Mutually exclusive with I(rcg_name).
    type: str

pair_id:
    description:
    - The ID of the replication pair.
    - Mutually exclusive with I(pair_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.
    - Mutually exclusive with I(rcg_id).
    type: str

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

pair_name:
    description:
    - The name of the replication pair.
    - Mutually exclusive with I(pair_id).
    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
      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

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

Outputs

changed:
  description: Whether or not the resource has changed.
  returned: always
  sample: 'false'
  type: bool
rcg_replication_pairs:
  contains:
    copyType:
      description: The copy type of the replication pair.
      type: str
    id:
      description: The ID of the replication pair.
      type: str
    initialCopyPriority:
      description: Initial copy priority.
      type: int
    initialCopyState:
      description: The inital copy state of the replication pair.
      type: str
    lifetimeState:
      description: Lifetime state of replication pair.
      type: int
    localActivityState:
      description: The state of activity of the local replication pair.
      type: str
    localVolumeId:
      description: The ID of the local volume.
      type: str
    localVolumeName:
      description: The name of the local volume.
      type: str
    name:
      description: The name of the replication pair.
      type: str
    peerSystemName:
      description: Peer system name.
      type: int
    remoteActivityState:
      description: The state of activity of the remote replication pair.
      type: str
    remoteCapacityInMB:
      description: Remote Capacity in MB.
      type: int
    remoteId:
      description: The ID of the remote replication pair.
      type: str
    remoteVolumeId:
      description: Remote Volume ID.
      type: int
    remoteVolumeName:
      description: Remote Volume Name.
      type: int
    replicationConsistencyGroupId:
      description: The ID of the replication consistency group.
      type: str
    userRequestedPauseTransmitInitCopy:
      description: Value of user requested pause transmit initial copy.
      type: int
  description: Details of the replication pairs of rcg.
  returned: When rcg exists
  sample:
  - copyType: OnlineCopy
    id: 23aa0bc900000001
    initialCopyPriority: -1
    initialCopyState: Done
    lifetimeState: Normal
    localActivityState: RplEnabled
    localVolumeId: e2bc1fab00000008
    localVolumeName: vol1
    name: null
    peerSystemName: null
    remoteActivityState: RplEnabled
    remoteCapacityInMB: 8192
    remoteId: a058446700000001
    remoteVolumeId: 1cda7af20000000d
    remoteVolumeName: vol
    replicationConsistencyGroupId: e2ce036b00000002
    userRequestedPauseTransmitInitCopy: false
  type: list
replication_pair_details:
  contains:
    copyType:
      description: The copy type of the replication pair.
      type: str
    id:
      description: The ID of the replication pair.
      type: str
    initialCopyPriority:
      description: Initial copy priority.
      type: int
    initialCopyState:
      description: The inital copy state of the replication pair.
      type: str
    lifetimeState:
      description: Lifetime state of replication pair.
      type: int
    localActivityState:
      description: The state of activity of the local replication pair.
      type: str
    localVolumeId:
      description: The ID of the local volume.
      type: str
    localVolumeName:
      description: The name of the local volume.
      type: str
    name:
      description: The name of the replication pair.
      type: str
    peerSystemName:
      description: Peer system name.
      type: int
    remoteActivityState:
      description: The state of activity of the remote replication pair.
      type: str
    remoteCapacityInMB:
      description: Remote Capacity in MB.
      type: int
    remoteId:
      description: The ID of the remote replication pair.
      type: str
    remoteVolumeId:
      description: Remote Volume ID.
      type: int
    remoteVolumeName:
      description: Remote Volume Name.
      type: int
    replicationConsistencyGroupId:
      description: The ID of the replication consistency group.
      type: str
    userRequestedPauseTransmitInitCopy:
      description: Value of user requested pause transmit initial copy.
      type: int
  description: Details of the replication pair.
  returned: When replication pair exists
  sample:
    copyType: OnlineCopy
    id: 23aa0bc900000001
    initialCopyPriority: -1
    initialCopyState: Done
    lifetimeState: Normal
    localActivityState: RplEnabled
    localVolumeId: e2bc1fab00000008
    localVolumeName: vol1
    name: null
    peerSystemName: null
    remoteActivityState: RplEnabled
    remoteCapacityInMB: 8192
    remoteId: a058446700000001
    remoteVolumeId: 1cda7af20000000d
    remoteVolumeName: vol
    replicationConsistencyGroupId: e2ce036b00000002
    userRequestedPauseTransmitInitCopy: false
  type: dict