Veritas InfoScale™ Installation, Upgrade, and Configuration Using Ansible - Linux

Last Published:
Product(s): InfoScale & Storage Foundation (8.0.2, 8.0, 7.4.3, 7.4.2, 7.4.1)
Platform: Linux

List of pre-defined keywords

Refer to the following tables for a list of the keywords that are used with each of the feature configuration-related modules.

cfsresource

The cfsresource module is used to create cluster file systems in InfoScale. Use the following keywords while referencing the module in your playbook:

Table: Cfsresource module keywords

Name

Description

Mandatory/Optional

state:

Specifies what state the package should be after the task is completed. The value for this keyword can be either present or absent. If you do not give any value for this parameter, by default, the state of the package is set to present, and the package will be installed.

Optional

sgname:

Name of the service group where you are creating the cluster file system.

Mandatory

dgname:

Name of the disk group where you are creating the cluster file system.

Mandatory

volname:

Name of the volume where you are creating the cluster file system.

Mandatory

mnt:

Mount point of the volume where you are creating the cluster file system.

Mandatory

systems:

Specify the list of host names that are part of the cluster.

Ensure that you enter the host names as provided in the in the /etc/ansible/hosts file.

Example:[hostname1,hostname2,hostname3]

Mandatory

facters:

Enter the following value to collect system-related data from the cluster servers.

"{{ ansible_play_hosts_all |map('extract', hostvars, ['facts','infoscale_facts'])| select()|list }}"

Mandatory

vxvm_dgvolfs

The vxvm_dgvolfs module is used to create disk group volumes and file systems in InfoScale. You can also use taginfo arguments to tag disks and create volumes based on tag name. Before using vxvm_dgvolfs module, DiskInit module should be executed for disk initialization.

Use the following keywords while referencing the module in your playbook:

Table: Vxvm_dgvolfs module keywords

Name

Description

Mandatory/Optional

state:

Specifies what state the disk group or volume should be after the task is completed. The value for this keyword can be either present or absent. If you do not give any value for this parameter, by default, the state of the package is set to present, and the package will be installed.

Mandatory

fss:

Specifies whether the disk is part of a Flexible Storage Sharing (FSS) environment.

The value for this keyword can be either 1 or 0. By default, this value is set to 1.

Note:

If fss is set to 1, the volinfo list in the sample playbook can contain additional vxassist command options to describe volume information. For example: volinfo: [[testvol1, 750m, 'layout=mirror'],[testvol2, 800m, 'layout=mirror']]

Optional

dgtype:

Enter shared if you want to configure a shared type of disk group or leave the keyword empty.

Optional

disks:

Specifies the list of disks that you want to add in the disk group. Use the following format to enter the disk names:

Syntax:

[<disk_name_1>,
<disk_name_2>
,...<disk_name_n>]

<disk_name_1>, <disk_name_2>, ...<disk_name_n> are the names of the disks that you want to add to the disk group.

Example:

[disk1,disk2,disk3]

Alternatively, you can provide input as below which will fetch the disk list provided to DiskInit module.

disks: "{{ disk_info['disks'] }}"

Note:

If diskgroup already exists then no need to provide list of disks.

Mandatory

taginfo:

Specify a list of tags. Each tag comprises a name and value. The tags are applied to the disks that are listed below each tag entry.

Syntax:

taginfo:
  - - <tag_name_1>
    - <tag_value_1>
    - - <disk_name_1>
      - <disk_name_2>
  - - <tag_name_2>
    - <tag_value_2>
    - - <disk_name_1>
      - <disk_name_3>
  - - <tag_name_3>
    - <tag_value_3>
    - - <disk_name_2>
  • <tag_name_1>, <tag_name_2>, ...<tag_name_n> are the tag names.

  • <tag_value_1>, <tag_value_2>, ...<tag_value_n> are the are the tag values that you want to associate with each of the tag names.

  • <disk_name_1>, <disk_name_2>, ...<disk_name_n> are the are the names of the disks to which you want to apply the tag.

Example:

taginfo:
  - - disk_use
    - data
    - - virtio0_3
      - virtio0_1
  - - disk_size
    - large
    - - virtio0_3
      - virtio0_2

Optional

volinfo:

Specify the name and size of the volumes that you want to create.

Additionally, if you want to create volumes based on tags, specify the tag name and tag value along with the volume name and volume size.

Also, if you want to unformat the volume, specify "raw" along with volume name, size and tag. If no tag, then empty string needs to be specified.

Syntax:

volinfo:
  - - <volume_name_1>
    - <volume_size_1>
    - disktag:<tag_name_1>=<tag_value_1>
    - raw
  - - <volume_name_2>
    - <volume_size_2>

Example:

volinfo:
  - - vol2
    - 2g
    - disktag:disk_use=data
  - - srlvol1
    - 5g
    - '' 
    - raw

Optional

seednode:

Select any node from the cluster that will be used to run commands related to the operations of that cluster.

Ensure that you enter the host name as provided in the in the /etc/ansible/hosts file.

Mandatory

facters:

Enter the following value to collect system-related data from the cluster servers.

"{{ ansible_play_hosts_all |map('extract', hostvars, ['facts','infoscale_facts'])| select()|list }}"

Mandatory

fsresource

The fsresource module is used to create file systems in InfoScale. Use the following keywords while referencing the module in your playbook:

Table: Fsresource module keywords

Name

Description

Mandatory/Optional

state:

Specifies what state the resource should be in after the task is completed. The value for this keyword can be either present or absent.

Mandatory

sgname:

Name of the service group where you are creating the file system.

Mandatory

sgtype:

Specify the type of service group. This value can either be Parallel or Failover.

Mandatory

dgname:

Name of the disk group where you are creating the file system.

Mandatory

dgresname:

Name of the corresponding disk group resource.

Mandatory

volname:

Name of the volume where you are creating the cluster file system.

Mandatory

volresname:

Name of the corresponding volume resource.

Mandatory

mnt:

Mount point of the volume where you are creating the file system.

Mandatory

mntresname:

Name of the corresponding mount point resource.

Mandatory

systems:

Specify the list of host names that are part of the cluster.

Ensure that you enter the host names as provided in the in the /etc/ansible/hosts file.

Example:[hostname1,hostname2,hostname3]

Mandatory

facters:

Enter the following value to collect system-related data from the cluster servers.

"{{ ansible_play_hosts_all |map('extract', hostvars, ['facts','infoscale_facts'])| select()|list }}"

Mandatory

resize_volume

The resize volume module is used to resize the VxVM volume in a simplified way. The supported operations are growto, growby, shrinkto and shrinkby which can be performed on a VxVM volume.

Table: resize_volume module keywords

Name

Description

Mandatory/Optional

State

Specifies what state the volume should be after the task is completed. The value for this keyword can be either present or absent.

Mandatory

Seednode

Specifies the node on which the task needs to be performed.

Mandatory

Operation

Specifies the operation to be performed on the volume. The value can be any of these - growto, growby, shrinkto and shrinkby

Mandatory

Size

Specifies the desired size for the operation to be performed. The unit can be k, m or g. Eg. To shrink the volume by 200m, size: 200m

Mountpoint

Specifies the mountpoint of the volume.

Optional if dgname and volname are provided

Dgname

Specifies the name of the disk group where the volume belongs.

Optional if mountpoint is provided

Volname

Specifies the name of the volume.

Optional if mountpoint is provided

Facters

Enter the following value to collect system-related data from the cluster servers.

"{{ ansible_play_hosts_all |
map('extract', hostvars,
['facts','infoscale_facts'])| 
select()|list }}"

Mandatory

vvrresource

The vvrresource module is used to setup the Volume Replicator in InfoScale. On the basis of whether provided disk group is shared or non-shared, CVR or VVR resource will be configured. Use the following keywords while referencing the module in your playbook:

Table: vvrresource module keywords

Name

Description

Mandatory/Optional

state

Specifies what state the package should be in after the task is completed.

Set this attribute to present to configure VVR or CVR.

absent to unconfigure VVR or CVR

Mandatory

delete_srlvol

Specifies if srlvol associated with VVR is to be deleted. Value should be 1 to delete srlvol.

Optional

deleteprimaryonly

Specifies if only primary site of VVR is to be unconfigured. Value should be 1 to unconfigure primary site.

First primary site needs to be unconfigured (using deleteprimaryonly) before unconfiguring secondary site.

Optional

deletesecondaryonly

Specifies if only secondary site of VVR is to be unconfigured. Value should be 1 to unconfigure secondary site.

First primary site needs to be unconfigured (using deleteprimaryonly) before unconfiguring secondary site.

Optional

dgname

Name for the disk group where the Replicated Volume Group (RVG) is created.

Mandatory

datavolname

Name of the data volume of the VVR setup.

Mandatory

srlvolname

Name of the Storage Replicator Log (SRL) volume for the VVR setup.

Mandatory

rvgname

Name of the Replicated Volume Group (RVG) to be created

Mandatory

seednode

Specify any node from the cluster that will be used to run commands related to the operations of that cluster. Seednode can be set as FQDN, IP address, and short hostname. It is recommended that the seednode provided should the master node.

Example:

seednode: xx.xxx.xxx.xxx

seednode: objstorer820-1-vm17.veritas.com

seednode: objstorer820-1-vm17

Mandatory

primaryvip

Specify a virtual IP for setting up VVR on the primary site.

Mandatory

secondaryvip

Specify a virtual IP for setting up VVR on the secondary site.

Mandatory

createprimaryonly

Specifies if primary site of VVR is to be created. Value should be 1 to create primary site.

Optional

createsecondaryonly

Specifies if secondary site of VVR is to be created. Value should be 1 to create secondary site.

Optional

start_replication

Specifies if VVR replication is to be started. Value should be 1 to start replication.

Optional

agentinfo

Specify the information required to create the VVR resource under VCS for site and cluster failover.

Skip this attribute if you are not creating a VCS resource for site and cluster failover.

Example:

agentinfo:
      primary:
        clusterlist:
          - Cluster1
          - Cluster2 
        networkhosts:
          - xx.xxx.xxx.x
        nic: eth0
        netmask: 255.255.252.0
        secretkey: "xx:xx:xx"
        mountpoint: /mnt_test/primary
      secondary:
        nic: ens256
        netmask: 255.255.252.0
        secretkey: "xx:xx:xx"
        mountpoint: /mnt_secondary
        clusterlist:
          - Cluster1
          - Cluster2
        networkhosts:
          - xx.xxx.xxx.x

Secretkey is Azure specific and mandatory for azure. It specifies the Azure encrypted secret key for Azure cloud platform needed for AzureAuth and AzureIP resource. Provided secret key should be encrypted with respect to the primary and secondary site respectively.

To plumb the VVR VIP, nic and netmask details for primary and/or secondary site should be provided.

Optional

clusterlist

Specify a list containing the name of clusters having a GCO setup for cluster failover.

Mandatory

networkhosts

Specify an IP address for a NIC resource. Configure the NetworkHosts attribute to ensure that the NIC resource is always online.

Mandatory

mountpoint

Specify the path where the volume is mounted.

Mandatory

primary

Specify information about the resources in the primary site. The NICs, MACs, and VIPs are configured to the primary site.

Mandatory

secondary

Specify information about the resources in the primary site. The NICs, MACs, and VIPs are configured to the secondary site.

Mandatory

rvg_sg_name

Specify a name for the RVG service group. A service group with the user-defined name is created, if it does not already exist.

If this attribute is skipped, a default service group name is used.

For state: absent, specify its name to delete RVG service group and the resources within it

Optional

rvg_res_name

Specify a name for the RVG resource. A resource with the user-defined name is created, if it does not already exist.

If this attribute is skipped, a default resource name is used.

Optional

mount_sg_name

Specify a name for the MOUNT service group. A service group with the user-defined name is created, if it does not already exist.

If this attribute is skipped, a default service group name is used.

For state: absent, specify its name to delete MOUNT service group and the resources within it

Optional

mount_res_name

Specify a name for the MOUNT resource. A resource with the user-defined name is created, if it does not already exist.

If this attribute is skipped, a default resource name is used.

Optional

datadg_res_name

Specify a name for the DATADG resource. A resource with the user-defined name is created, if it does not already exist.

If this attribute is skipped, a default resource name is used.

Optional

ip_res_name

Specify a name for the IP resource. A resource with the user-defined name is created, if it does not already exist.

If this attribute is skipped, a default resource name is used.

Optional

nic_res_name

Specify a name for the NIC resource. A resource with the user-defined name is created, if it does not already exist.

If this attribute is skipped, a default resource name is used.

Optional

awsip_res_name

Specify a name for the AWSIP resource. A resource with the user-defined name is created, if it does not already exist.

If this attribute is skipped, a default resource name is used.

Optional

azureip_res_name

Specify a name for the AZUREIP resource for VVR. A resource with the user-defined name is created if it does not already exist. If this attribute is skipped, a default resource name is used.

Optional

azureauth_res_name

Specify a name for the AZUREAUTH resource for VVR. A resource with the user-defined name is created if it does not already exist. If this attribute is skipped, a default resource name is used.

Optional

rvgprimary_res_name

Specify a name for the RVG PRIMARY resource. A resource with the user-defined name is created, if it does not already exist.

If this attribute is skipped, a default resource name is used.

Optional

iptype

Specifies the IP type - privateip or overlayip for AWSIP resource.

Mandatory for AWS only

vvrshare_res_name

Specify a name for the VVRSHARE resource. A resource with the user-defined name is created, if it does not already exist.

If this attribute is skipped, a default resource name is used.

Optional

logownergrp_sg_name

Specify a name for the LOGOWNER service group. A service group with the user-defined name is created, if it does not already exist.

If this attribute is skipped, a default service group name is used.

For state: absent, specify its name to delete LOGOWNER service group and the resources within it

Optional

logownerip_res_name

Specify a name for the LOGOWNERIP resource. A resource with the user-defined name is created, if it does not already exist.

If this attribute is skipped, a default resource name is used.

Optional

logowner_res_name

Specify a name for the LOGOWNER resource. A resource with the user-defined name is created, if it does not already exist.

If this attribute is skipped, a default resource name is used.

Optional

awsip_logowner

_res_name

Specify a name for the AWSIP LOGOWNER resource. A resource with the user-defined name is created, if it does not already exist.

If this attribute is skipped, a default resource name is used.

Optional

logownernic_res_name

Specify a name for the LOGOWNER NIC resource. A resource with the user-defined name is created, if it does not already exist.

If this attribute is skipped, a default resource name is used.

Optional

azureip_logowner _res_name

Specify a name for the AZUREIP LOGOWNER resource. A resource with the Optional user-defined name is created if it does not already exist. If this attribute is skipped, a default resource name is used.

Optional

azureauth_logowner_res_name

Specify a name for the AZUREAUTH LOGOWNER resource. A resource with the Optional user-defined name is created if it does not already exist. If this attribute is skipped, a default resource name is used.

Optional

subscriptionid

Specifies the azure subscriptionid for Azure cloud platform needed for AzureAuth and AzureIP resource Example: subscriptionid: "xxx"

Mandatory for Azure

clientid

Specifies the azure clientid for Azure cloud platform needed for AzureAuth and AzureIP resource Example: clientid: "xxx"

Mandatory for Azure

tenantid

Specifies the azure tenantid for Azure cloud platform needed for AzureAuth and AzureIP resource Example: tenantid: "xxx"

Mandatory for Azure

mountpoint_info

Specify the information about mountpoints.

The mountpoints consists of:

1. volname: name of the volume

2. mountname: mount location of the volume

3. mount_res_name: resource name of the mount

4. requires_res: list of required VCS resources on which current mount depends upon.

Example:

mountpoint_info:

           - volname: testvol1
             mountname: /mnt/primary
             mount_res_name: custom_mount_new
             requires_res: ['']
           - volname: testvol2
             mountname: /mnt/primary/2
             mount_res_name: custom_mount_new2pri
             requires_res: ['custom_mount_new']
           - volname: testvol3
             mountname: /mnt/primary/3
             mount_res_name: custom_mount_new3pri
             requires_res: ['custom_mount_new']

In the above example, mount '/mnt/primary/2' and '/mnt/primary/3' depend upon 'custom_mount_new' resource.

Optional

facters

This attribute is used to collect system-related data from the cluster servers. Provide the following value to the attribute:

"{{ ansible_play_hosts_all |map('extract', hostvars, ['facts','infoscale_facts'])| select()|list }}"

Mandatory

add_node

The add_node module is used to add or remove nodes from a cluster. Run the following commands on the SEEDNODE of the cluster:

  • /opt/VRTSvcs/bin/haconf -makerw

  • /opt/VRTSvcs/bin/haclus -modify HacliUserLevel COMMANDROOT

  • /opt/VRTSvcs/bin/haconf -dump -makero

Use the following keywords while referencing the module in your playbook:

Table: Add_node module keywords

Name

Description

Mandatory/Optional

state:

Specifies what state the nodes should be in after the task is completed. The value for this keyword can be either present or absent. Use present to add nodes and use absent to delete nodes.

Mandatory

cluster_node:

Specify any node from the cluster. Ensure that you enter the host name as provided in the in the /etc/ansible/hosts file.

Mandatory

add_del_nodes:

List of the nodes that you want to add or delete.

Example: ['hostname1', 'hostname2']

Mandatory

cluster_id:

Specify the ID of the cluster.

Mandatory

cluster_uuid:

Specify the UUID of the cluster.

Mandatory

VipConfig

The VipConfig module configures the virtual IP (VIP) on the mentioned host in the playbook. Using this module, with one playbook run, one VIP can be configured on the mentioned host.

Use the following keywords while referencing the module in your playbook:

Table:

Name

Description

Mandatory/Optional

nic

Specifies the NIC on which the VIP is to be applied

Mandatory

vip

Specifies the VIP to be configured on the host

Mandatory

netmask

Specifies the netmask of the VIP to be configured

Mandatory

facters

Enter the following value to collect system-related data from the cluster servers.

"{{ ansible_play_hosts_all 
|map('extract', 
hostvars,['facts',
'infoscale_facts'])
| select()|list }}"

Mandatory

SecureCluster

The SecureCluster module provides secure cluster configuration of a Veritas InfoScale cluster in a single playbook run. Run the following commands on the SEEDNODE of the cluster:

  • /opt/VRTSvcs/bin/haconf -makerw

  • /opt/VRTSvcs/bin/haclus -modify HacliUserLevel COMMANDROOT

  • /opt/VRTSvcs/bin/haconf -dump -makero

Use the following keywords while referencing the module in your playbook:

Table:

Name

Description

Mandatory/Optional

cluster_id

Specify the ID of the cluster

Optional

cluster_name

Specify the name of the cluster.

Optional

seednode

Select any node from the cluster that will be used to run commands related to the operations of that cluster.

Seednode can be set as FQDN, IP Address, and short hostname. Examples:

seednode: objstorer820-1-vm17.veritas.com

seednode: xx.xxx.xxx.xxx

seednode:  objstorer820-1-vm17 

Mandatory

state

Specifies what state the nodes should be after the task is completed. The value for this keyword can be either present absent or

present indicates 'Configure Secure Cluster'

absent indicates 'Unconfigure Secure Cluster'

Mandatory

reconfig

Specifies if the secure cluster configuration should be reconfigured. Value should be 1 to reconfigure the secure cluster.

Optional

fips

Specifies the mode in which cluster needs to be secured.

Fips:0 Secure with fips-disabled mode.

Fips:1 Secure with fips-enabled mode.

Mandatory

read_access

Specifies read_access. If 0 then grant read access to every usergroup and if 1 then grant access to either specified usergroups or no groups.

Mandatory

usergroups

Specify the usergroups with read access

Optional

facters

Enter the following value to collect system-related data from the cluster servers.

"{{ ansible_play_hosts_all
 |map('extract', hostvars, 
['facts','infoscale_facts'])
| select()|list }}" 

Mandatory

gco_config

The gco_config module configures the Veritas Infoscale Global Cluster Option on primary and secondary site clusters both in one playbook run. Before configuring GCO, it is required both the primary and secondary site clusters are secured.

Use the following keywords while referencing the module in your playbook:

Table:

Name

Description

Mandatory/Optional

primary_seednode

Specifies one of the hosts in the primary site cluster.

Mandatory

secondary_seednode

Specifies one of the hosts in the secondary site cluster.

Mandatory

state

Specifies what state the cluster should be in after the task is completed. The value for this keyword can be either present or absent.

Mandatory

primary

Specifies the information required to configure GCO on the primary site.

Example:

primary:
    prefix: ''
    nic: {'<hostname>': 'ens192'}
    vip: <xx.xxx.xxx.xx>
    ipver: 4
    netmask: '255.255.240.0'
    secretkey: "xx:xx:xx"

Secretkey is Azure specific. It specifies the Azure encrypted secret key for Azure cloud platform needed for AzureAuth and AzureIP resources. Provided secret key should be encrypted with respect to the primary site. It is mandatory for Azure.

Mandatory

prefix

Specifies IP prefix if ipver is 6.

Optional

nic

Specifies the list of NICs to be used to configure GCO. This keyword accepts a dictionary where the key is hostname and the value is the associated NIC on that host in the cluster. Example:

nic: {'<hostname1>': 
'ens192', '<hostname2>': 'ens224'}

Mandatory

vip

Specifies the static IP to be used for GCO configuration on primary site. This Virtual IP can be in ipv4 or ipv6 format. If it is in ipv6 format then value for 'prefix' is required.

Mandatory

ipver

Specifies the IP version - ipv4 or ipv6. This keyword can have value as 4 or 6.

Mandatory

netmask

Specifies the netmask to be used for GCO configuration.

Mandatory

iptype

Specifies the IP type - privateip or overlayip for AWSIP resource.

Mandatory for AWS only

secondary

Specifies the information required to configure GCO on the secondary site. For Example,

secondary:
    prefix: ''
    nic: {'<hostname>': 'ens192'}
    vip: <xx.xxx.xxx.xx>
    ipver: 4
    netmask: '255.255.240.0'
    secretkey: "xx:xx:xx"

Secretkey is Azure specific. It specifies the Azure encrypted secret key for Azure cloud platform needed for AzureAuth and AzureIP resources. Provided secret key should be encrypted with respect to the secondary site. It is mandatory for Azure.

The above keywords - prefix, nic, vip, ipver and netmask - have same significance as those for primary site and should be provided here with respect to secondary site.

Mandatory

facters

Enter the following value to collect system-related data from the cluster servers.

"{{ ansible_play_hosts_all |map('extract', hostvars, 
['facts','infoscale_facts'])| select()|list }}"

Mandatory

subscriptionid

Specifies the Azure subscriptionid for Azure cloud platform needed for AzureAuth and AzureIP resource Example: subscriptionid: "xxx"

Mandatory for Azure

clientid

Specifies the Azure clientid for Azure cloud platform needed for AzureAuth and AzureIP resource Example: clientid: "xxx"

Mandatory for Azure

tenantid

Specifies the Azure tenantid for Azure cloud platform needed for AzureAuth and AzureIP resource Example: tenantid: "xxx"

Mandatory for Azure

I/O Fencing

Table: I/O fencing module keywords

Name

Description

Mandatory/Optional

state:

Specifies what state the nodes should be after the task is completed. The value for this keyword can be either present or absent.

where:

present indicates 'Configure Fencing'

absent indicates 'Delete Fencing configuration'

Mandatory

seednode

Select any node from the cluster that will be used to run commands related to the operations of that cluster.

Ensure that you enter the host name as provided in the in the /etc/ansible/hosts file.

Mandatory

vxfenmode

Mode of fencing to be configured

Mandatory

the choices are:

  • disabled

  • majority

  • cps

  • disks

disks

List of the disks to be used for the fencing. Number of the disks must be 3 or more in odd numbers

Optional

Needed only if 'disks' chosen as fencing mode

no_coord_disk

Needs to be set if coordinator disks are not to be used.

Allowed values are 0 or 1

Optional

Needed only if 'cps' chosen as fencing mode

vxfendg

Disk group name for fencing

Optional

Needed only if 'disks' chosen as fencing mode

For 'cps' based fencing while using disk coord, vxfendg can be utilized if disk group already exists.

cps

List of CP server IP:port

Optional

Needed only if 'cps' fencing is chosen

ntp_server

NTP server for time synchronization

Optional

default_https_port

Default HTTPs port for CP servers.

Optional

max_async_sec

Time in seconds for checking maximum async date/time on server

Optional

cpagent

To create coordination point resources groups under VCS.

Allowed values are 0 or 1. By default 1 will be set.

Optional

RestServerConfig

The RestServerConfig module configures the REST server on the given host in a secure cluster. Ensure that the cluster is secured before configuring REST server.

Use the following keywords while referencing this module in your playbook:

Table: RestServerConfig module keywords

Name

Description

Mandatory/Optional

state

Specifies what state the cluster should be in after the task is completed. The value for this keyword can be either:

present - configure REST server

OR

absent - unconfigure REST server

Mandatory

REST_server_ip

Specifies the IP of REST server to be configured. This should be a free IP which can be used.

Mandatory

REST_server_netmask

Specifies the netmask to be used to configure REST server.

Mandatory

REST_server_nic

Specifies the NIC to be used for the REST server.

Mandatory

REST_server_port

Specifies the port for the REST server.

Mandatory

rest_config

Specifies which configuration option should be used to configure the REST server. Following are the options:

enabled_ldap - To use LDAP server details if it is configured. In this case, REST_server_ldap_domain, REST_server_ldap_ip and REST_server_ldap_username should be specified in the playbook

enabled_tpcacert - To use TP CA certificates details. In this case, REST_server_key, REST_server_cert_file and REST_server_cacert_file should be specified in the playbook

enabled_tpcacert_ldap - To use TP CA certificates details. In this case, REST_server_key, REST_server_cert_file, REST_server_cacert_file, REST_server_ldap_domain, REST_server_ldap_ip and REST_server_ldap_username should be specified in the playbook

default - To configure REST server with Veritas CA certificate, without LDAP

Optional

reconfig

Specifies if the REST server configuration should be reconfigured. The value should be 1 to reconfigure REST server.

Optional

facters

Enter the following value to collect system-related data from the cluster servers. "{{ ansible_play_hosts_all |map('extract', hostvars, ['facts','infoscale_facts'])| select()|list }}"

Mandatory

REST_server_ldap_domain

Specifies the domain of LDAP server to be used.

Optional

REST_server_ldap_ip

Specifies the IP of LDAP server to be used.

Optional

REST_server_username

Specifies the username of LDAP server to be used.

Optional

REST_server_key

Specifies server key file, required for third party CA certificate option

Optional

REST_server_cert_file

Specifies server certificate file, required for third party CA certificate option

Optional

REST_server_cacert_file

Specifies server CA certificate file, required for third party CA certificate option

Optional

REST_server_passphrase

Specifies server passphrase if available, required for third party CA certificate option

Optional

CPServerConfig

The CPServerConfig module configures the CP Server on the single node VCS cluster.

Use the following keywords while referencing the CPServerConfig module in your playbook:

Table: CPServerConfig module keywords

Name

Description

Mandatory/Optional

cps_https_vip

Specifies the IP of CP server to be configured. This should be a free IP which can be used.

Mandatory

cps_netmask

Specifies the netmask to be used to configure CP server.

Mandatory

cps_nic_list

Specifies the nic to be used to configure CP server.

Mandatory

cps_https_ports

Specifies the port for the CP server.

Mandatory

cps_delete_database

Specifies whether the database of the CP server should be deleted while removing the configuration. The value should be 1 to delete the database.

Optional

cps_delete_config_logs

Specifies whether the configuration and the log files of the CP server should be deleted while removing the configuration. The value should be 1 to delete the configuration and log files.

Optional

reconfig

Specifies whether the CP Server configuration should be reconfigured. The value should be 1 to reconfigure CP Server.

Optional

state

Specifies what state the cluster should be in after the task is completed. The value for this keyword can be either:

present: configure CP Server

OR

absent: unconfigure CP Server

Mandatory

facters

Enter the following value to collect system-related data from the cluster servers.

"{{ ansible_play_hosts_all |map('extract', hostvars, ['facts','infoscale_facts'])| select()|list }}"

Mandatory

vip

Specifies the IP of CP server to be configured. This should be a free IP which can be used.

Mandatory

netmask

Specifies the netmask to be used to configure CP server.

Mandatory

port

Specifies the port for the CP server of specific network.

Mandatory

hosts

Specifies the host for the specific network

Mandatory

nic

Specifies the nic for the specific network and the host.

Mandatory

cps_diskgroup

Specifies the diskgroup for the CP server.

Optional

cps_volume

Specifies the volume for the CP server.

Optional

cps_newdg_disk

Specifies the name of new diskgroup to be created for the CP server configuration.

Optional

cps_newvol_volsize

Specifies the size of new volume to be created for the CP server configuration.

Optional

cps_delete_database

Specifies whether the database of the CP server should be deleted while removing the configuration. The value should be 1 to delete the database.

Optional

cps_delete_config_logs

Specifies whether the config and logs file of the CP server should be deleted during the unconfiguration. The value should be 1 to delete the config and log files.

Optional

EO complaint logging

The EO complaint logging module enables or disables the logging of all components of the cluster.

Use the following keywords while referencing the EO complaint logging module in your playbook:

Table: EO logging module keywords

Name

Description

Mandatory/Optional

state

Specifies whether EO logging should be enabled or disabled. Value should be "present" to enable and "absent" to disable.

Mandatory

facters

Enter the following value to collect system-related data from the cluster servers.

"{{ ansible_play_hosts_all |map('extract', hostvars, ['facts','infoscale_facts'])| select()|list }}"

Mandatory

Set Tunables

The SetTunable module sets the llt, vxvm and vxfs related tunables for the cluster.

Use the following keywords while referencing the SetTunable module in your playbook:

Table: Set Tunable module keywords

Name

Description

Mandatory/Optional

llt

Specifies the information required to set LLT related Tunables.

Example:

     - systems: ['dl380g9-127-vm3']
       tunables:
       - "set-flow window: 520"
       - "set-flow highwater: 12000"
     - systems: ['all']
       tunables:
       - "set-flow window: 521"
       - "set-flow highwater: 12001"

Above keywords: 'systems' is a list of nodes of the cluster or ['all'] if all the nodes of the cluster need to be considered. 'tunables' is list of tunables (string)

Optional

vm

Specifies the information required to set VxVM related Tunables.

Example

     - systems: ['all']
       tunables:       
         volraid_rsrtransmax: 1
         voliot_max_open: 32

'systems' is a list of nodes of the cluster or ['all'] if all the nodes of the cluster need to be considered. 'tunables' is a dict with key as tunable_name and value as tunable_value. Also, clusterwide tunable will be automatically handled.

Optional

fs

Specifies the information required to set VxFS related Tunables.

Example

     - systems: ['dl380g9-127-vm3']
       tunables:
       - /mnt1:
            eo_logging_enable: 1
            max_retention_time: 0
       - global: 
            eo_logging_enable: 0
     - systems: ['all']
       tunables:
       - /mnt1:
            eo_logging_enable: 1
            max_retention_time: 0
       - global:
            eo_logging_enable: 0

Above keywords:

'systems' is a list of nodes of the cluster or ['all'] if all the nodes of the cluster need to be considered. 'tunables' is a list of mount points and global (tunable will be set to all the mounts) which further are the dicts with key as tunable_name and value as tunable_value.

Optional

facters

Enter the following value to collect system-related data from the cluster servers.

"{{ ansible_play_hosts_all 
map('extract', hostvars, 
['facts','infoscale_facts'])| select()|list }}"

Mandatory

Set routes and rules for subnets across AZ on AWS

The RouteConfig module sets the routes and rules for subnets across AZ on AWS. On AWS EC2 instance, disable the following nm-cloud setup service which is a pre-requisite for the module:

systemctl stop nm-cloud-setup.timer

systemctl stop nm-cloud-setup.service

systemctl disable nm-cloud-setup.timer

systemctl disable nm-cloud-setup.service

Use the following keywords while referencing the RouteConfig module in your playbook:

Table: RouteConfig module keywords

Name

Description

Mandatory/Optional

system

Specify the system on which routes and rules need to be set. It can be FQDN, IP Address, short hostname.

system: objstorer820-1-vm17.veritas.com 
system: xx.xxx.xxx.xxx 
system: objstorer820-1-vm17

Mandatory

nic

Specify the NIC of the system that will be used as heartbeat link

Mandatory

ip

Specify the private ip of the system

Mandatory

facters

Enter the following value to collect system-related data from the cluster servers.

"{{  ansible_play_hosts_all |map('extract',
 hostvars, ['facts','infoscale_facts'])|
 select()|list }}"

Mandatory

DiskInit

DiskInit module is used for initializing disks present on the node. You can use the following keywords while referencing the DiskInit module in your playbook:

Table: DiskInit module keywords

Name

Description

Mandatory/Optional

fss

Specifies whether the disk is a part of a Flexible Storage Sharing (FSS) optional environment.

The value for this keyword can be either True or False. By default, this value is set to True.

Optional

disks

Enter the following value for initializing disk to fetch the disks list provided in DiskInit module:

Syntax: [<disk_name_1>, <disk_name_2>, 
, ...<disk_name_n>] 
<disk_name_1>, <disk_name_2>, ...<disk_name_n> 
are the names of the disks that you want 
initialise.
 Example: [disk1, disk2, disk3]

If disks parameter is not specified, then all the uninitialized disks present on the system will be initialized using this module

Optional

Add/Remove disks from Diskgroup

The Adddisks module is used to add or remove disks from diskgroup. Before using Adddisks module, DiskInit module should be executed for disk initialization while adding disks to diskgroup. DiskInit module is not needed when removing disks from diskgroup.

Uuse the following keywords while referencing the Adddisks module in your playbook:

Table: Adddisks module keywords

Name

Description

Mandatory/Optional

state

Specifies what state the nodes should be in after the task is completed. The value for this keyword can be either present or absent.

Use present to add disks to diskgroup and use absent to delete disks from diskgroup.

Mandatory

dgname

Name of the disk group to which disk must be added or removed.

Mandatory

disks

To add disks:

Enter the following value for adding disks in DG to fetch the disks list provided in DiskInit module:

"{{disk_info['disks'] }}"

To remove disks:

Specifies the list of disks that you want to remove in the disk group. Use the following format to enter the disk names:

Syntax: 
  [<disk_name_1>, <disk_name_2>,
, ...<disk_name_n>]
 <disk_name_1>, <disk_name_2>, ...<disk_name_n>
 are the names of the disks that you want 
 to add to the disk group.
 Example: [disk1, disk2, disk3]

Mandatory

facters

Enter the following value to collect system-related data from the cluster servers.

"{{ ansible_play_hosts_all 
|map('extract', hostvars, ['facts',
'infoscale_facts'])| select()|list }}" 

Mandatory

Change Replication State

The change_replication_state module is used to change replication state of Volume Replicator in InfoScale. It can be start/stop/pause/resume of VVR replication.

Use the following keywords while referencing the module in your playbook:

Table: Change Replication State module keywords

Name

Description

Mandatory/Optional

newstate

Specifies the required state of VVR replication. It can be start/stop/pause/resume.

Mandatory

rvg_info

Specifies the list of dict containing name of dg along with list of rvgs. Syntax:

[ {'dg_name': <dg_name>, 'rvg_list': <rvg_list>, 'seednode': <system_name>}, {'dg_name': <dg_name>, 'rvg_list': <rvg_list>} ]

Example:

[{'dg_name': 'testdg1', 'rvg_list': ['rvg_vvrtest1', 'rvg_vvrtest2']}, {'dg_name': testdg2, 'rvg_list': ['rvg_vvrtest1', 'rvg_vvrtest2'], seednode: 'r750xs-32-vm11'}]

Here, seednode is optional parameter which can be any node of the cluster that can be used to run commands related to the vvr operations.

Mandatory

secondaryvip

Specifies the virtual VIP used for setting secondary site.

Mandatory