hitachivantara.vspone_block.vsp.hv_vsp_one_gad_consistency_group module – Manages GAD pairs in a consistency group on VSP One block storage systems.
Note
This module is part of the hitachivantara.vspone_block collection (version 4.8.1).
You might already have this collection installed if you are using the ansible package.
It is not included in ansible-core.
To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install hitachivantara.vspone_block.
You need further requirements to be able to use this module,
see Requirements for details.
To use it in a playbook, specify: hitachivantara.vspone_block.vsp.hv_vsp_one_gad_consistency_group.
New in hitachivantara.vspone_block 4.8.0
Synopsis
This module allows for the splitting, and resynchronization of GAD pairs in a consistency group on VSP One block storage systems.
It supports various GAD pairs operations based on the specified task level.
For examples, go to URL https://github.com/hitachi-vantara/vspone-block-ansible/blob/main/playbooks/vsp_direct/vsp_one_gad_consistency_group.yml
Requirements
The below requirements are needed on the host that executes this module.
python >= 3.9
Parameters
Parameter |
Comments |
|---|---|
Information required to establish a connection to the storage system. |
|
IP address or hostname of the storage system. |
|
Token used to operate on locked resources. |
|
Type of connection to the storage system. Choices:
|
|
Password for authentication. This is a required field. |
|
Username for authentication. This is a required field. |
|
Information required to establish a connection to the secondary storage system. |
|
IP address or hostname of the secondary storage. |
|
Value of the lock token to operate on locked resources. |
|
Password for authentication. This field is required for secondary storage connection if api_token is not provided. |
|
Username for authentication. This field is required for secondary storage connection if api_token is not provided. |
|
Specification for the GAD consistency group task. |
|
List of consistency group IDs. Each consistency group ID must be an integer in the range 0 to 1023 (inclusive). |
|
The volume to continue I/O on during the suspend operation. Specifies which volume should remain active for I/O while suspending. Valid values are PRIMARY or SECONDARY. Case insensitive. |
|
The copy pace for the resync operation. Higher values indicate faster copy speed. Valid values are integers from 1 to 15. Default: |
|
The I/O preference mode for the resync operation. Determines how I/O is handled during the resync process. Valid values are KEEP_CURRENT_SETTING, DISABLED, or PRIMARY_ENABLED. Case insensitive. |
|
The level of the GAD consistency group task. Choices:
|
Attributes
Attribute |
Support |
Description |
|---|---|---|
Support: none |
Determines if the module should run in check mode. |
Notes
Note
Connection type
gatewaywas removed starting from version 3.4.0. Please use an earlier version if you require this connection type.Ansible modules use a technology called copy group to manage all remote replication pair types (GAD, TC, HUR). Therefore, replication pairs created by tools that do not use copy group technology are not compatible with the Ansible modules. As a result, replication pairs created without copy group technology cannot be managed by the Ansible modules.
This module supports Fibre Channel, iSCSI, NVMe Fibre Channel, and NVMe TCP-based GAD pairs.
For GAD single server, cluster, and crosspath configurations
Before managing a GAD pair through Ansible Direct Connect, you must register (or pair) the source and target storage systems in the source storage’s API server. This step is required because Ansible uses REST API calls on the backend. If you skip this step—especially if you are unfamiliar with Hitachi’s REST API—you will encounter errors when managing a GAD pair through Ansible. For instructions, see Manage remote storage registration.
After creating the secondary host group, you must manually add it to the VSM resource group.
A valid WWN should be added to the host groups (primary and secondary).
Before executing the GAD playbook, make sure that remote paths and the quorum disk are configured correctly as mentioned in the User Guide for GAD.
For VSM to VSM GAD, a common VSM must be created on the primary and secondary storage systems.
Add the P-VOL and host group to the VSM. Map the P-VOL to the host group.
After adding a P-VOL to the VSM, the virtual ID of the P-VOL becomes the ‘GAD Reserve’ or 65534. Hence, update the virtual ID of the P-VOL using the Update volume with virtual ldev task from the LDEV playbook. The P-VOL’s physical and virtual ID must match.
Add the secondary host group to the VSM.
If the P-VOL is unnamed, the S-VOL will be assigned a name in the format smrha-[ldev_id]. If the P-VOL has a name, the S-VOL should use the same name. (Here, smrha stands for Storage Module Red Hat Ansible.)
Examples
- name: Suspend GAD pairs using consistency group Ids
hitachivantara.vspone_block.vsp.hv_gad:
state: "suspended"
connection_info:
address: storage1.company.com
username: "username"
password: "password"
secondary_connection_info:
address: storage2.company.com
username: "admin"
password: "secret"
spec:
consistency_group_ids: [0, 1]
continue_io_volume: "PRIMARY"
- name: Resync GAD pairs using consistency group Ids
hitachivantara.vspone_block.vsp.hv_gad:
state: "swap_resync"
connection_info:
address: storage2.company.com
username: "username"
password: "password"
secondary_connection_info:
address: storage1.company.com
username: "admin"
password: "secret"
spec:
consistency_group_ids: [0, 1]
copy_pace: 10
io_preference_mode: "KEEP_CURRENT_SETTING"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
|---|---|
The number of GAD pairs retrieved and stored in ansible_facts. Returned: success Sample: |
|
List of dictionaries containing detailed GAD pair properties. Returned: always |
|
ID of the consistency group the pair belongs to. Returned: success Sample: |
|
Speed of the copy operation (1-15). Returned: success Sample: |
|
Percentage of initial copy completion. Returned: success Sample: |
|
Total seconds taken to reach PAIR status. Returned: success Sample: |
|
Timestamp of pair creation. Returned: success Sample: |
|
Synchronization percentage between volumes. Returned: success Sample: |
|
Reason for GAD pair failure, if any. Returned: success Sample: |
|
I/O preference settings. Returned: success Sample: |
|
Timestamp of the last local update. Returned: success Sample: |
|
Mirror Unit (MU) number. Returned: success Sample: |
|
Behavior when the quorum disk is blocked. Returned: success Sample: |
|
Method used for differential data management. Returned: success Sample: |
|
LDEV ID of the local (primary) volume. Returned: success Sample: |
|
Hexadecimal representation of the primary volume ID. Returned: success Sample: |
|
Host I/O behavior (MIRROR, LOCAL, BLOCK). Returned: success Sample: |
|
Nickname or name assigned to the primary volume. Returned: success Sample: |
|
Role of the local volume (PRIMARY or SECONDARY). Returned: success Sample: |
|
Capacity expansion status (IDLE, EXPANDING). Returned: success Sample: |
|
Provisioning type (INTERNAL, VIRTUAL, or EXTERNAL). Returned: success Sample: |
|
Current pair status (PAIR, COPY, PSUS, etc.). Returned: success Sample: |
|
ID of the quorum disk used for the GAD pair. Returned: success Sample: |
|
Information about the remote storage system connection. Returned: success |
|
ID of the path group used for the connection. Returned: success Sample: |
|
Model of the remote storage (e.g., RH20ETP). Returned: success Sample: |
|
Serial number of the remote storage. Returned: success Sample: |
|
LDEV ID of the volume on the remote storage system. Returned: success Sample: |
|
Hexadecimal representation of the secondary volume ID. Returned: success Sample: |