hitachivantara.vspone_block.sds_block.hv_sds_block_cluster module – Manages storage cluster on Hitachi SDS block storage systems.
Note
This module is part of the hitachivantara.vspone_block collection (version 4.4.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.sds_block.hv_sds_block_cluster.
New in hitachivantara.vspone_block 4.1.0
Synopsis
This module allows adding storage node to the cluster, and removing storage node from the cluster.
For examples, go to URL https://github.com/hitachi-vantara/vspone-block-ansible/blob/main/playbooks/sds_block_direct/sdsb_cluster.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. |
|
Type of connection to the storage system. Choices:
|
|
Password for authentication. This is a required field. |
|
Username for authentication. This is a required field. |
|
Specification for the storage node to be added to or removed from the cluster. |
|
The directory where the cluster configuration file is downloaded. This is a required field when the state field is |
|
The configuration definition file to be transferred to the storage cluster. if this field is specified, storage_nodes field will be ignored if present. |
|
The ID of the storage controller node for which capacity balancing setting will be changded to value specified by attribute is_capacity_balancing_enabled. |
|
Specifies the type of the configuration file to be output for download. This is a valid field when the state field is Choices:
|
|
Enables or disables capacity balancing. If this is true, capacity balancing applies. If this is false, capacity balancing does not apply. If controller_id is not specified it will be applied to the cluster, otherwise it will be applied to the controller node. Choices:
|
|
The ID of the machine image be used for storage node addition or storage node replacement. |
|
The number of drives to be installed per storage node after adding the drives. The specified number of drives applies to all storage nodes. This is a required field when the export_file_type is |
|
The ID of the storage node that will be removed or replaced. This field is valid when the state field is |
|
The name of the storage node that will be removed. This field is valid when the state field is |
|
Whether to create the cluster configuration file. This is a valid field when the state field is Choices:
|
|
Setup user password. |
|
Whether to recover a single node. This is a valid field when the state field is Choices:
|
|
List of storage node objects. |
|
Information about the control network. |
|
Default IPv4 gateway for the compute network. If not provided, gateway information from the other compute node of the cluster will be used. |
|
IP address (IPv4) of the storage node for the compute network. |
|
Default IPv6 gateway for the compute network. |
|
IPv6 global addresses for the compute network. |
|
IPv6 subnet prefix for the compute network. |
|
MTU size of the compute network. Default: |
|
IPv4 subnet of the compute network. Default: |
|
Protocol of the compute port. Choices:
|
|
Whether the compute network uses IPv6 mode. Choices:
|
|
Information about the control and inter node networks. |
|
Destination networks to be set in the routing table of the control port or internode port. Up to four network addresses or ip addresses can be provided. Default: |
|
Gateways (IPv4) to be set in the routing table of the control port or internode port. If not provided, gateway information from the other node of the cluster will be used. |
|
Interface name to be set in the routing table of the control port or internode port. Default: |
|
Information about the control network. |
|
IP address (IPv4) of the storage node for the control network. |
|
MTU size of the control network. Default: |
|
IPv4 subnet of the control network. Default: |
|
Name of the fault domain to which the storage node belongs. |
|
Name of the storage node. Used as the host name of the storage node. |
|
Information about the control network. |
|
IP address (IPv4) of the storage node for the inter node network. |
|
MTU size of the inter node network. Default: |
|
IPv4 subnet of the inter node network. Default: |
|
Whether the node is a master node in the cluster. Choices:
|
|
Number of FC target ports. Default: |
|
The path of system requirements file, that describes system requirements to be updated. This field is valid and mandatory when the state field is |
|
URL (https) of Amazon S3 where the VM configuration file is to be stored at the time of each maintenance operation. This option is a mandatory parameter for the cloud model for AWS when the state field is |
|
URI (starting with “s3”) of Amazon S3 where the VMConfigurationFile.yml VM configuration file is stored. If the bucket name contains a period (.), the URI cannot be specified. This option is a mandatory parameter for the cloud model for AWS when the state field is |
|
The desired state of the storage cluster. Choices:
|
Attributes
Attribute |
Support |
Description |
|---|---|---|
Support: none |
Determines if the module should run in check mode. |
Notes
Note
Replace node operation steps for GCP platform 1) The node should be on block state before replacement. 2) Create configuration file using hv_sds_block_cluster module with state as download_config_file and export_file_type as replace_storage_node and id of the existing node. 3) Run the terraform file generated using the above step to replace the node (it will remove the existing node from GCP). 4) Create configuration file using hv_sds_block_cluster module with state as download_config_file and export_file_type as replace_storage_node with recover_single_node as true. 5) Run the terraform file generated using the above step to add the new node to GCP (it will add the new node to GCP). 6) Add the new node to the cluster using hv_sds_block_cluster module with state as replace_storage_node and node_id as the id of the existing node.
Replace node operation steps for AWS platform 1) The node should be on block state before replacement. 2) Create configuration file using hv_sds_block_cluster module with state as download_config_file and export_file_type as replace_storage_node and id of the existing node. 3) Transfer the configuration file to the S3 location specified in vm_configuration_file_s3_uri. 4) Add the new node to the cluster using hv_sds_block_cluster module with state as replace_storage_node, node_id as the id of the existing node and machine_image_id as the AMI id
Replace node operation steps for Azure platform 1) The node should be on block state before replacement. 2) Add the new node to the cluster using hv_sds_block_cluster module with state as replace_storage_node, node_id as the id of the existing node and machine_image_id as the VM image id.
Replace node operation steps for on-premise platform 1) The node should be on block state before replacement. 2) add the new node to the cluster using hv_sds_block_cluster module with state as replace_storage_node, node_id as the id of the existing node.
Examples
- name: Add storage node to the cluster with the configuration file
hitachivantara.vspone_block.sds_block.hv_sds_block_cluster:
connection_info:
address: storage1.company.com
username: "admin"
password: "secret"
state: "add_storage_node"
spec:
configuration_file: "/tmp/download2/SystemConfigurationFile.csv"
setup_user_password: "CHANGE_ME_SET_YOUR_PASSWORD"
- name: Add storage node to the cluster using ansible variables
hitachivantara.vspone_block.sds_block.hv_sds_block_cluster:
connection_info:
address: storage1.company.com
username: "admin"
password: "secret"
state: "add_storage_node"
spec:
setup_user_password: "CHANGE_ME_SET_YOUR_PASSWORD"
storage_nodes:
- host_name: "SDSB-NODE6"
fault_domain_name: "SC01-PD01-FD01"
is_cluster_master_role: false
control_network:
control_network_ip: "10.76.34.106"
internode_network:
internode_network_ip: "192.168.210.106"
control_internode_network:
control_internode_network_route_destinations:
- "default"
control_internode_network_route_gateways:
- "10.76.34.1"
control_internode_network_route_interfaces:
- "control"
compute_networks:
- compute_network_ip: "10.76.27.106"
compute_network_gateway: "10.76.27.1"
- name: Remove storage node from the cluster by storage node ID
hitachivantara.vspone_block.sds_block.hv_sds_block_cluster:
connection_info:
address: storage1.company.com
username: "admin"
password: "secret"
state: "remove_storage_node"
spec:
node_id: "8deb71e9-cdba-4002-94bc-c2f6f7a1bee7"
- name: Remove storage node from the cluster by storage node name
hitachivantara.vspone_block.sds_block.hv_sds_block_cluster:
connection_info:
address: storage1.company.com
username: "admin"
password: "secret"
state: "remove_storage_node"
spec:
node_name: "vssbesxi1"
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
|---|---|
A success or failure message for the task. Returned: always |
|
A success or failure message for the task. Returned: success Sample: |