hitachivantara.vspone_block.vsp.hv_shadow_image_pair module – Manages shadow image pairs on VSP 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_shadow_image_pair.
New in hitachivantara.vspone_block 3.0.0
Synopsis
- This module allows for the creation, deletion, splitting, syncing, restoring and migrating of shadow image pairs on VSP block storage systems.
- It supports various shadow image 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/shadow_image_pair.yml
Requirements
The below requirements are needed on the host that executes this module.
- python >= 3.9
Parameters
Parameter | Comments |
|---|---|
connection_info dictionary / required | Information required to establish a connection to the storage system. |
|
address string / required |
IP address or hostname of the storage system. |
|
api_token string |
Token used to operate on locked resources. |
|
connection_type string |
Type of connection to the storage system. Choices:
|
|
password string |
Password for authentication. This is a required field. |
|
username string |
Username for authentication. This is a required field. |
spec dictionary / required | Specification for the shadow image pairs task. |
|
allocate_new_consistency_group boolean |
New consistency group. Optional for the Create a ShadowImage pair for an existing secondary volume /Create ShadowImage pair for non-existing secondary volume /Create and auto-split a ShadowImage pair tasks. Choices:
|
|
auto_split boolean |
Auto split. Optional for the Create a ShadowImage pair for an existing secondary volume /Create ShadowImage pair for non-existing secondary volume tasks. Choices:
|
|
consistency_group_id integer |
Consistency group id. Optional for the Create and auto-split a ShadowImage pair task. |
|
copy_group_name string |
Copy group name. Required for the Create a ShadowImage pair for an existing secondary volume /Create ShadowImage pair for non-existing secondary volum /Split a ShadowImage pair /Resync ShadowImage pair /Create and auto-split a ShadowImage pair /Restore a ShadowImage pair /Migrate ShadowImage pair /Cancel Migration of ShadowImage Pair /Delete ShadowImage pair /Delete ShadowImage pair with force delete /Create ShadowImage pair for an existing secondary volume for migration /Create ShadowImage pair for non-existing secondary volume for migration tasks. |
|
copy_pace aliases: copy_pace_track_size string |
Copy pace track size. Optional for the Create a ShadowImage pair for an existing secondary volume / Supports “SMALL”, “MEDIUM”, “LARGE” values or 1 to 15. /Create ShadowImage pair for non-existing secondary volume /Resync ShadowImage pair /Create and auto-split a ShadowImage pair /Restore a ShadowImage pair tasks. |
|
copy_pair_name string |
Copy pair name. Required for the Create a ShadowImage pair for an existing secondary volume /Create ShadowImage pair for non-existing secondary volume /Split a ShadowImage pair /Resync ShadowImage pair /Create and auto-split a ShadowImage pair /Restore a ShadowImage pair /Migrate ShadowImage pair /Cancel Migration of ShadowImage Pair /Delete ShadowImage pair /Delete ShadowImage pair with force delete /Create ShadowImage pair for an existing secondary volume for migration /Create ShadowImage pair for non-existing secondary volume for migration tasks. |
|
create_for_migration boolean |
Specify to create shadow image pair for migration. Required for the Create ShadowImage pair for an existing secondary volume for migration /Create ShadowImage pair for non-existing secondary volume for migration tasks. Choices:
|
|
enable_quick_mode boolean |
Enable quick mode. Optional for the Create a ShadowImage pair for an existing secondary volume /Create ShadowImage pair for non-existing secondary volume /Split a ShadowImage pair /Resync ShadowImage pair /Restore a ShadowImage pair tasks. Choices:
|
|
enable_read_write boolean |
Enable read write. Optional for the Split a ShadowImage pair task. Choices:
|
|
is_data_reduction_force_copy boolean |
Enable data reduction force copy. Choices:
|
|
mirror_unit_number aliases: pvol_mu_number integer |
Primary volume mirror unit number. Optional for the Create a ShadowImage pair. |
|
pair_id string |
Pair Id. |
|
primary_volume_device_group_name string |
Primary volume device name. Optional for the Create a ShadowImage pair for an existing secondary volume /Create ShadowImage pair for non-existing secondary volume /Create ShadowImage pair for an existing secondary volume for migration /Create ShadowImage pair for non-existing secondary volume for migration tasks. |
|
primary_volume_id string |
Primary volume id. Required for the Create a ShadowImage pair for an existing secondary volume /Create ShadowImage pair for non-existing secondary volume /Create and auto-split a ShadowImage pair /Create ShadowImage pair for an existing secondary volume for migration tasks. Optional for the Split a ShadowImage pair /Resync ShadowImage pair /Restore a ShadowImage pair /Delete ShadowImage pair /Delete ShadowImage pair with force delete /Create ShadowImage pair for non-existing secondary volume for migration tasks. |
|
secondary_pool_id integer |
Secondary storage pool id. Optional for the Create ShadowImage pair for non-existing secondary volume for migration task. |
|
secondary_volume_device_group_name string |
Secondary volume device name. Optional for the Create a ShadowImage pair for an existing secondary volume /Create ShadowImage pair for non-existing secondary volume /Create ShadowImage pair for an existing secondary volume for migration /Create ShadowImage pair for non-existing secondary volume for migration tasks. |
|
secondary_volume_id string |
Secondary volume id. Required for the Create a ShadowImage pair for an existing secondary volume /Create ShadowImage pair for non-existing secondary volume /Create and auto-split a ShadowImage pair /Create ShadowImage pair for an existing secondary volume for migration tasks. Optional for the Split a ShadowImage pair /Resync ShadowImage pair /Restore a ShadowImage pair /Delete ShadowImage pair /Delete ShadowImage pair with force delete tasks. |
|
should_delete_svol boolean |
Specify to delete SVOL from host group, iSCSI Target, and NVM Subsystem. Required for the Delete ShadowImage pair with force delete task. Choices:
|
|
should_force_split boolean |
Specify to force split. Optional for the Cancel Migration of ShadowImage Pair task. Choices:
|
state string | The level of the shadow image pairs task. Choices are Choices:
|
storage_system_info dictionary | Information about the storage system. This field is an optional field. |
|
serial string |
The serial number of the storage system. |
Attributes
Attribute | Support | Description |
|---|---|---|
check_mode | Support: none | Determines if the module should run in check mode. |
Notes
Note
- The output parameters
entitlement_status,subscriber_idandpartner_idwere removed in version 3.4.0. They were also deprecated due to internal API simplification and are no longer supported. - Connection type
gatewaywas removed starting from version 3.4.0. Please use an earlier version if you require this connection type. - During automatic SVOL creation in a pair setup, the system provisions a single secondary host group/iSCSI target.
- The ShadowImage pair supports Fibre Channel, NVMe over FC, NVMe over TCP, and iSCSI protocols.
- In Direct mode, you can create a ShadowImage pair without specifying a secondary volume ID. Instead, provide the secondary pool ID in the specification. Ansible then automatically creates the S-VOL and assigns it to the same NVMe subsystem, host group, and iSCSI target as the P-VOL.
- For Create a ShadowImage pair for an existing secondary volume
-
- When creating a ShadowImage pair, if the primary volume (P-VOL) is the same, use a different copy group name. If the P-VOL is different, you may reuse the same copy group name. The copy pair name must always be unique.
- For Migrate ShadowImage pair
-
- Once the data copy and synchronization between the source and target volumes are complete, the LDEV ID and host I/O of the source volume are swapped with those of the target volume. From the host perspective, the volume and path settings remain unchanged. However, the actual data now resides on the volume prepared for migration.
- For Cancel Migration of ShadowImage Pair
-
- If a pair migration is canceled, its status changes to SMPL, allowing you to restart the migration process.
- For Create ShadowImage pair for an existing secondary volume for migration
-
- When a volume migration pair is created, its status is set to SMPL. Data remains unchanged until the migration process begins.
- For Create ShadowImage pair for non-existing secondary volume for migration
-
- The S-VOL will be automatically created and mapped to same NVMe subsystem, host group, and iSCSI as the P-VOL. When a volume migration pair is created, the pair status is SMPL. Data is not copied until migration is performed.
Examples
- name: Create shadow image pair for non-existing secondary volume
hitachivantara.vspone_block.vsp.hv_shadow_image_pair:
connection_info:
address: storage1.company.com
username: "admin"
password: "secret"
state: "present"
spec:
primary_volume_id: 274
secondary_pool_id: 1
allocate_new_consistency_group: true
copy_pace: "MEDIUM"
enable_quick_mode: false
auto_split: true
copy_group_name: "CGTest"
copy_pair_name: "CPTest"
primary_volume_device_group_name: "CPTestP"
secondary_volume_device_group_name: "CPTestS"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Description |
|---|---|
data dictionary | Newly created shadow image pair object. Returned: success |
|
consistency_group_id integer |
Consistency group id. Returned: success Sample: |
|
copy_group_name string |
Copy group name. Returned: success Sample: |
|
copy_pace_track_size string |
Copy pace track size. Returned: success Sample: |
|
copy_pair_name string |
Copy pair name. Returned: success Sample: |
|
copy_rate integer |
Copy rate. Returned: success Sample: |
|
mirror_unit_id integer |
Deprecated. Use mirror_unit_number instead. Returned: success Sample: |
|
mirror_unit_number integer |
Mirror unit number. Returned: success Sample: |
|
primary_volume_host_groups list / elements=dictionary |
Primary volume host groups. Returned: success Sample: |
|
primary_volume_id integer |
Primary volume id. Returned: success Sample: |
|
primary_volume_id_hex string |
Primary hex volume id. Returned: success Sample: |
|
primary_volume_iscsi_targets list / elements=dictionary |
Primary volume iSCSI targets. Returned: success Sample: |
|
primary_volume_nvm_subsystem_name string |
Primary volume’s nvm subsystem name. Returned: success Sample: |
|
pvol_host_groups list / elements=dictionary |
Deprecated. Use primary_volume_host_groups instead. Returned: success Sample: |
|
pvol_iscsi_targets list / elements=dictionary |
Deprecated. Use primary_volume_iscsi_targets instead. Returned: success Sample: |
|
pvol_nvm_subsystem_name string |
Deprecated. Use primary_volume_nvm_subsystem_name instead. Returned: success Sample: |
|
secondary_volume_host_groups list / elements=dictionary |
Secondary volume host groups. Returned: success Sample: |
|
secondary_volume_id integer |
Secondary volume id. Returned: success Sample: |
|
secondary_volume_id_hex string |
Secondary hex volume id. Returned: success Sample: |
|
secondary_volume_iscsi_targets list / elements=dictionary |
Secondary volume iSCSI targets. Returned: success Sample: |
|
secondary_volume_nvm_subsystem_name string |
Secondary volume’s nvm subsystem name. Returned: success Sample: |
|
status string |
Status. Returned: success Sample: |
|
storage_serial_number string |
Storage serial number. Returned: success Sample: |
|
svol_host_groups list / elements=dictionary |
Deprecated. Use secondary_volume_host_groups instead. Returned: success Sample: |
|
svol_iscsi_targets list / elements=dictionary |
Deprecated. Use secondary_volume_iscsi_targets instead. Returned: success Sample: |
|
svol_nvm_subsystem_name string |
Deprecated. Use secondary_volume_nvm_subsystem_name instead. Returned: success Sample: |
Collection links
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/hitachivantara/vspone_block/vsp.hv_shadow_image_pair_module.html