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.1.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

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.

connection_type

string

Type of connection to the storage system.

Choices:

  • "direct" ← (default)

password

string / required

Password for authentication. This is a required field.

username

string / required

Username for authentication. This is a required field.

spec

dictionary

Specification for the storage node to be added to or removed from the cluster.

config_file_location

string

The directory where the cluster configuration file is downloaded. This is a required field when the state field is download_config_file.

configuration_file

string

The configuration definition file to be transferred to the storage cluster. if this field is specified, storage_nodes field will be ignored if present.

node_id

string

The ID of the storage node that will be removed. This field is valid when the state field is remove_storage_node.

node_name

string

The name of the storage node that will be removed. This field is valid when the state field is remove_storage_node.

refresh

boolean

Whether to create the cluster configuration file. This is a valid field when the state field is download_config_file.

Choices:

  • false ← (default)

  • true

setup_user_password

string

Setup user password.

storage_nodes

list / elements=dictionary

List of storage node objects.

compute_networks

list / elements=dictionary / required

Information about the control network.

compute_network_gateway

string

Default IPv4 gateway for the compute network. If not provided, gateway information from the other compute node of the cluster will be used.

compute_network_ip

string / required

IP address (IPv4) of the storage node for the compute network.

compute_network_ipv6_gateway

string

Default IPv6 gateway for the compute network.

compute_network_ipv6_globals

list / elements=string

IPv6 global addresses for the compute network.

compute_network_ipv6_subnet_prefix

string

IPv6 subnet prefix for the compute network.

compute_network_mtu_size

integer

MTU size of the compute network.

Default: 9000

compute_network_subnet

string

IPv4 subnet of the compute network.

Default: "255.255.255.0"

compute_port_protocol

string

Protocol of the compute port.

Choices:

  • "iSCSI" ← (default)

  • "NVMe/TCP"

is_compute_network_ipv6_mode

boolean

Whether the compute network uses IPv6 mode.

Choices:

  • false ← (default)

  • true

control_internode_network

dictionary

Information about the control and inter node networks.

control_internode_network_route_destinations

list / elements=string

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: ["default"]

control_internode_network_route_gateways

list / elements=string

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.

control_internode_network_route_interfaces

list / elements=string

Interface name to be set in the routing table of the control port or internode port.

Default: ["control"]

control_network

dictionary / required

Information about the control network.

control_network_ip

string / required

IP address (IPv4) of the storage node for the control network.

control_network_mtu_size

integer

MTU size of the control network.

Default: 1500

control_network_subnet

string

IPv4 subnet of the control network.

Default: "255.255.255.0"

fault_domain_name

string / required

Name of the fault domain to which the storage node belongs.

host_name

string / required

Name of the storage node. Used as the host name of the storage node.

internode_network

dictionary / required

Information about the control network.

internode_network_ip

string / required

IP address (IPv4) of the storage node for the inter node network.

internode_network_mtu_size

integer

MTU size of the inter node network.

Default: 9000

internode_network_subnet

string

IPv4 subnet of the inter node network.

Default: "255.255.255.0"

is_cluster_master_role

boolean

Whether the node is a master node in the cluster.

Choices:

  • false ← (default)

  • true

number_of_fc_target_port

integer

Number of FC target ports.

Default: 0

state

string / required

The desired state of the storage cluster.

Choices:

  • "add_storage_node"

  • "remove_storage_node"

  • "download_config_file"

Attributes

Attribute

Support

Description

check_mode

Support: none

Determines if the module should run in check mode.

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: "Hitachi1"

- 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: "Hitachi1"
        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

storage_nodes

dictionary

A success or failure message for the task.

Returned: always

clusters

string

A success or failure message for the task.

Returned: success

Sample: "Successfully downloaded SystemConfigurationFile.csv in the directory /tmp/1752598196036657707"

Authors

  • Hitachi Vantara LTD (@hitachi-vantara)