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.9.0).

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

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.

ca_cert

string

Path to a CA certificate file or directory on the Ansible control node used to verify the storage system SSL certificate.

Required when connection_info.validate_cert is true and the storage system uses a self-signed or privately issued certificate.

Accepts a PEM file path or a directory of hashed CA certificates.

client_cert

string

Path to client SSL certificate file or CA certificate directory for mutual TLS authentication.

Must be provided together with connection_info.client_key.

client_key

string

Path to the client private key file for mutual TLS authentication.

Must be provided together with connection_info.client_cert.

password

string

Password for authentication. This is a required field.

suppress_validate_cert_warning

boolean

Whether to suppress the SSL certificate validation warning.

When set to false (default), a warning is displayed if certificate validation is disabled.

Set to true to suppress the warning.

Choices:

  • false ← (default)

  • true

username

string

Username for authentication. This is a required field.

validate_cert

boolean

Whether to validate the storage system SSL certificate.

When set to false (default), certificate validation is disabled. A security warning will be displayed unless connection_info.suppress_validate_cert_warning is true.

Set to true to enable certificate validation. When true, provide connection_info.ca_cert if the storage system uses a self-signed certificate.

Note: Starting with major version 5.0, the default value will change to true. It is strongly recommended to enable certificate validation in production environments.

Choices:

  • false ← (default)

  • true

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.

ca_cert

string

Path to a CA certificate file or directory on the Ansible control node used to verify the storage system SSL certificate.

Required when connection_info.validate_cert is true and the storage system uses a self-signed or privately issued certificate.

Accepts a PEM file path or a directory of hashed CA certificates.

client_cert

string

Path to client SSL certificate file or CA certificate directory for mutual TLS authentication.

Must be provided together with connection_info.client_key.

client_key

string

Path to the client private key file for mutual TLS authentication.

Must be provided together with connection_info.client_cert.

password

string

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

suppress_validate_cert_warning

boolean

Whether to suppress the SSL certificate validation warning.

When set to false (default), a warning is displayed if certificate validation is disabled.

Set to true to suppress the warning.

Choices:

  • false ← (default)

  • true

username

string

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

validate_cert

boolean

Whether to validate the storage system SSL certificate.

When set to false (default), certificate validation is disabled. A security warning will be displayed unless connection_info.suppress_validate_cert_warning is true.

Set to true to enable certificate validation. When true, provide connection_info.ca_cert if the storage system uses a self-signed certificate.

Note: Starting with major version 5.0, the default value will change to true. It is strongly recommended to enable certificate validation in production environments.

Choices:

  • false ← (default)

  • true

spec

dictionary / required

Specification for the GAD pair operation.

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.

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

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)