hitachivantara.vspone_block.vsp.hv_vsp_one_gad module – Manages GAD pairs 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.

New in hitachivantara.vspone_block 4.8.0

Synopsis

  • This module allows for the creation, deletion, splitting, and resynchronization of GAD pairs on VSP One block storage systems.

  • It supports various GAD pairs operations based on the specified task level.

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.

password

string

Password for authentication. This is a required field.

username

string

Username for authentication. This is a required field.

secondary_connection_info

dictionary

Information required to establish a connection to the secondary storage system.

address

string / required

IP address or hostname of the secondary storage.

api_token

string

Value of the lock token to operate on locked resources. Provide this only when operation is on locked resources.

password

string

Password for authentication. This field is required for secondary storage connection api_token is not provided.

username

string

Username for authentication. This field is required for secondary storage connection if api_token is not provided.

spec

dictionary / required

Specification for the GAD pair operation.

allow_volume_access_after_force_delete

boolean

Required if delete_mode is FORCE. Whether to allow access to volumes after force deletion.

Choices:

  • false

  • true

consistency_group_id

integer

The consistency group ID. Required for state present (create).

continue_io_volume

string

Which volume stays R/W during a split (PRIMARY or SECONDARY). Default is PRIMARY.

copy_pace

integer

The copy pace.

delete_mode

string

NORMAL or FORCE deletion. Default is NORMAL.

gad_pairs

list / elements=dictionary

List of GAD pair definitions. Required for state present (create).

primary_volume_id

integer / required

The primary volume ID.

provisioned_secondary_volume_id

integer

The provisioned secondary volume ID.

io_preference

string

I/O priority mode during path failure. Values are ‘KEEP_CURRENT_SETTING’, ‘DISABLE’, or ‘PRIMARY_ENABLE’. Default is KEEP_CURRENT_SETTING.

io_priority_mode

string

The IO priority mode, values are ‘DISABLE’ or ‘PRIMARY_ENABLE’ and case insensitive.

is_swap_resynced

boolean

Whether to perform a swap-resync (Secondary becomes new Primary).

Choices:

  • false ← (default)

  • true

mirror_unit_number

integer

The mirror unit number.

Choices:

  • 0

  • 1

  • 2

  • 3

path_group_id

integer

The path group ID. Required for state present (create).

primary_volume_mirrors

list / elements=dictionary

List of pairs for volume-level actions. Required for state splitted/resynced/delete.

mirror_unit_number

integer / required

The mirror unit ID.

Choices:

  • 0

  • 1

  • 2

  • 3

primary_volume_id

integer / required

The primary volume ID.

quorum_id

integer

The quorum ID. Required for state present (create).

secondary_servers

list / elements=integer

List of secondary servers.

secondary_storage_pool_id

integer

The secondary storage pool ID. Required for state present (create).

should_replicate_from_primary_to_secondary

boolean

Whether to replicate from primary to secondary.

Choices:

  • false

  • true

state

string / required

Desired state of the GAD resource.

Choices:

  • "present"

  • "absent"

  • "splitted"

  • "resynced"

Attributes

Attribute

Support

Description

check_mode

Support: none

Determines if the module should run in check mode.

Examples

- name: Create GAD pairs with automatic provisioning
  hitachivantara.vspone_block.vsp.hv_vsp_one_gad:
    connection_info: "{{ connection_info }}"
    secondary_connection_info: "{{ secondary_connection_info }}"
    state: present
    spec:
      consistency_group_id: 1
      path_group_id: 0
      quorum_id: 22
      secondary_storage_pool_id: 2
      gad_pairs:
        - primary_volume_id: 385
          provisioned_secondary_volume_id: 85 # Optional
      should_replicate_from_primary_to_secondary: true
      copy_pace: 3
      mirror_unit_number: 1 # Optional

- name: Suspend (Split) GAD pairs
  hitachivantara.vspone_block.vsp.hv_vsp_one_gad:
    connection_info: "{{ connection_info }}"
    state: splitted
    spec:
      primary_volume_mirrors:
        - primary_volume_id: 100
          mirror_unit_number: 1
        - primary_volume_id: 200
          mirror_unit_number: 1
      continue_io_volume: primary

- name: Resync GAD pairs
  hitachivantara.vspone_block.vsp.hv_vsp_one_gad:
    connection_info: "{{ connection_info }}"
    state: sync
    spec:
      primary_volume_mirrors:
        - primary_volume_id: 100
          mirror_unit_number: 1
      is_swap_resynced: false
      copy_pace: 3
      io_preference: KEEP_CURRENT_SETTING

- name: Delete GAD pairs (Force Mode)
  hitachivantara.vspone_block.vsp.hv_vsp_one_gad:
    connection_info: "{{ connection_info }}"
    state: absent
    spec:
      primary_volume_mirrors:
        - primary_volume_id: 100
          mirror_unit_number: 1
      delete_mode: force
      allow_volume_access_after_force_delete: true

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key

Description

gad_pairs

list / elements=dictionary

List of GAD pairs returned from the operation.

Returned: always

consistency_group_id

integer

The consistency group ID of the GAD pair.

Returned: success

Sample: 6

copy_progress_rate

integer

The copy progress rate. -1 indicates copy is complete.

Returned: success

Sample: -1

copy_speed

integer

The copy speed setting.

Returned: success

Sample: 3

copy_time

integer

The copy time in seconds.

Returned: success

Sample: 0

data_synchronization_rate

integer

The data synchronization rate percentage.

Returned: success

Sample: 100

failure_factor

string

The failure factor if any.

Returned: success

Sample: "NONE"

id

string

The GAD pair ID in format ‘volume_id,mirror_unit_number’.

Returned: success

Sample: "385,1"

io_preference

string

The IO preference setting.

Returned: success

Sample: "DISABLED"

local_volume_differential_data_management

string

The differential data management type for the local volume.

Returned: success

Sample: "HIERARCHICAL"

local_volume_id

integer

The local (primary) volume ID.

Returned: success

Sample: 385

local_volume_io_mode

string

The IO mode of the local volume.

Returned: success

Sample: "MIRROR"

local_volume_nickname

string

The nickname of the local volume.

Returned: success

Sample: "NewGadTest"

local_volume_position

string

The position of the local volume in the pair.

Returned: success

Sample: "PRIMARY"

local_volume_processing_status

string

The processing status of the local volume.

Returned: success

Sample: "IDLE"

local_volume_provisioning_type

string

The provisioning type of the local volume.

Returned: success

Sample: "VIRTUAL"

local_volume_status

string

The status of the local volume in the GAD pair.

Returned: success

Sample: "PAIR"

mirror_unit_number

integer

The mirror unit number.

Returned: success

Sample: 1

pair_operation_mode_for_blocked_quorum_disk

string

The pair operation mode when quorum disk is blocked.

Returned: success

Sample: "QUORUMLESS"

quorum_id

integer

The quorum ID used by the GAD pair.

Returned: success

Sample: 22

remote_connection_id

dictionary

Remote connection information for the GAD pair.

Returned: success

path_group_id

integer

The path group ID for the remote connection.

Returned: success

Sample: 0

storage_model

string

The model of the remote storage system.

Returned: success

Sample: "RH20ETP"

storage_serial_number

string

The serial number of the remote storage system.

Returned: success

Sample: "70041"

remote_volume_id

integer

The remote (secondary) volume ID.

Returned: success

Sample: 85

Authors

  • Hitachi Vantara LTD (@hitachi-vantara)