InfoScale™ Installation, Upgrade, and Configuration Using Ansible - Linux
- Section I. InfoScale Ansible playbooks
- Section II. InfoScale Ansible end to end workflow / solution
Ansible modules for configuring features in InfoScale
Use the following Ansible modules in your playbooks to perform feature configuration-related operations. Refer to the following table for a list of modules, along with a sample playbook, used for each of the operations:
Table: Feature configuration-related keywords
Operation | Required modules | Sample playbook |
|---|---|---|
Configuring a Cluster File System (CFS) |
| Sample playbook - YAML ---
- hosts: cpicluster11
gather_facts: false
any_errors_fatal: true
tasks:
- name: Facters
veritas_infoscale:
module: site_facters
release_matrix_path: <URL>
register: facts
- name: CFS Resource
veritas_infoscale:
module: cfsresource
state: present
sgname: testsg1
dgname: testdg5
volname: testvol1
mnt: /testvol1
seednode: objstorer820-1-vm17
facters: "{{ ansible_play_hosts_all
|map('extract', hostvars,['facts','infoscale_facts'])
| select()|list }}" |
Sample playbook - JSON [
{
"hosts": "cpicluster11",
"gather_facts": false,
"any_errors_fatal": true,
"tasks": [
{
"name": "Facters",
"veritas_infoscale": {
"module": "site_facters",
"release_matrix_path": "<URL>"
},
"register": "facts"
},
{
"name": "CFS Resource",
"veritas_infoscale": {
"module": "cfsresource",
"state": "present",
"sgname": "testsg1",
"dgname": "testdg5",
"volname": "testvol1",
"mnt": "/testvol1",
"seednode": "objstorer820-1-vm17",
"facters": "{{ ansible_play_hosts_all
|map('extract', hostvars, ['facts','infoscale_facts'])
| select()|list }}"
}
}
]
}
] | ||
Performing service group operations |
| Sample playbook - YAML - hosts: mycluster
gather_facts: false
become: yes
tasks:
- name: Facters
veritas_infoscale:
module: site_facters
register: facts
- name: Service Group Operations
veritas_infoscale:
module: servicegroup_operations
service_group_tree: "{{ service_group_tree }}"
seednode: "{{ seednode }}"
facters: "{{ ansible_play_hosts_all \
|map('extract', hostvars, \
['facts','infoscale_facts'])| \
select()|list }}"
register: result |
Sample playbook - JSON
[
{
"hosts": "mycluster",
"gather_facts": false,
"become": yes,
"tasks": [
{
"name": "Facters",
"veritas_infoscale": {
"module": "site_facters"
},
"register": "facts"
},
{
"name": " Service Group Operations",
"veritas_infoscale": {
"module": " servicegroup_operations ",
"service_group_tree": "{{ service_group_tree }}",
"seednode": "{{ seednode }}",
"facters": "{{ ansible_play_hosts_all
|map('extract', hostvars,
['facts','infoscale_facts'])| select()|list }}"
},
"register": "facts"
}
]
}
] | ||
Creating a disk group volume |
| Sample playbook - YAML ---
- hosts: cluster2
gather_facts: false
any_errors_fatal: true
tasks:
- name: Init disks
veritas_infoscale:
module: DiskInit
init:
initdisks: True
disks: [ 'disk1', 'disk2', 'disk3' ]
register: disk_info
- name: Facters
veritas_infoscale:
module: site_facters
register: facts
- name: Create DG, Volume, FS
veritas_infoscale:
module: vxvm_dgvolfs
state: present
dg_info:
- dgname: custappdg
dgtype: shared
disks:
- 10-132-1-56_xen-vd0_1
- 10-132-1-56_xen-vd0_2
- 10-132-0-55_xen-vd0_1
- 10-132-0-55_xen-vd0_2
fss: 1
seednode: ip-10-132-0-55
taginfo:
volinfo:
- - custappvol
- 9.00g
- 'layout=mirror-stripe nstripe=2 nmirrors=2'
facters: "{{ ansible_play_hosts_all
|map('extract', hostvars,
['facts','infoscale_facts'])| select()|list }}"
|
Sample playbook - JSON [
{
"hosts": "cluster2",
"gather_facts": false,
"any_errors_fatal": true,
"tasks": [
{
"name": "Init disks",
"veritas_infoscale": {
"module": "DiskInit",
"init": {
"initdisks": true
},
"disks": [
"disk1",
"disk2",
"disk3"
]
},
"register": "disk_info"
},
{
"name": "Facters",
"veritas_infoscale": {
"module": "site_facters"
},
"register": "facts"
},
{
"name": "Create DG, Volume, FS",
"veritas_infoscale": {
"module": "vxvm_dgvolfs",
"state": "present",
"dg_info": [
{
"dgname": "custappdg",
"dgtype": "shared",
"disks": [
"10-132-1-56_xen-vd0_1",
"10-132-1-56_xen-vd0_2",
"10-132-0-55_xen-vd0_1",
"10-132-0-55_xen-vd0_2"
],
"fss": 1,
"seednode": "ip-10-132-0-55",
"taginfo": null,
"volinfo": [
[
"custappvol",
"9.00g",
"layout=mirror-stripe nstripe=2 nmirrors=2"
]
]
}
],
"facters": "{{ ansible_play_hosts_all
|map('extract', hostvars,
['facts','infoscale_facts'])| select()|list }}"
}
}
]
}
]
| ||
Configuring a File System (FS) resource |
| Sample playbook - YAML ---
- hosts: cpicluster10
gather_facts: false
any_errors_fatal: true
tasks:
- name: Facters
veritas_infoscale:
module: site_facters
release_matrix_path: <URL>
register: facts
- name: Create FS resource
veritas_infoscale:
module: fsresource
state: present
sgname: testdgsg5
dgname: testdg5
volname: testvol5
mnt: /testvol5
dgresname: dgres5
volresname: volres5
mntresname: mntres5
sgtype: Parallel
facters: "{{ ansible_play_hosts_all
|map('extract', hostvars,
['facts','infoscale_facts'])| select()|list }}"
|
Sample playbook - JSON [
{
"hosts": "cpicluster10",
"gather_facts": false,
"tasks": [
{
"name": "Facters",
"veritas_infoscale": {
"module": "site_facters"
},
"register": "facts"
},
{
"name": "Create FS resource",
"veritas_infoscale": {
"module": "fsresource",
"state": "present",
"sgname": "testdgsg5",
"dgname": "testdg5",
"volname": "testvol5",
"mnt": "/testvol5",
"dgresname": "dgres5",
"volresname": "volres5",
"mntresname": "mntres5",
"sgtype": "Parallel",
"facters": "{{ ansible_play_hosts_all
|map('extract', hostvars,
['facts','infoscale_facts'])| select()|list }}"
}
}
]
}
]
| ||
Resize FS | Sample playbook - YAML
| ---
- hosts: mycluster
gather_facts: False
any_errors_fatal: true
tasks:
- name: Facters
veritas_infoscale:
module: site_facters
release_matrix_path: <URL>
register: facts
- name: Resize volume
veritas_infoscale:
module: resize_volume
size: '5084m'
operation: 'growto'
dgname: ''
volname: ''
mountpoint: '/mnt1'
state: present
seednode:<one of the nodes in the cluster>
facters: "{{ ansible_play_hosts_all
|map('extract', hostvars, ['facts','infoscale_facts'])
| select()|list }}"
|
Sample playbook - JSON [
{
"hosts": "mycluster",
"gather_facts": false,
"any_errors_fatal": true,
"tasks": [
{
"name": "Facters",
"veritas_infoscale": {
"module": "site_facters",
"release_matrix_path": "<URL>",
},
"register": "facts"
},
{
"name": "Resize volume",
"veritas_infoscale": {
"module": "resize_volume",
"size": "5084m",
"operation": "growto",
"dgname": "",
"volname": "",
"mountpoint": "/mnt1",
"state": "present",
"seednode": "<one of the nodes in the cluster>",
"facters": "{{ ansible_play_hosts_all
|map('extract', hostvars, ['facts','infoscale_facts'])
| select()|list }}"
}
}
]
}
] | ||
Configuring a Arctera Volume Replicator (VVR) or Cluster Volume Replication (CVR) |
| Sample playbook - YAML ---
- hosts: <ansible host group>
gather_facts: False
tasks:
- name: Facters
veritas_infoscale:
module: site_facters
release_matrix_path: <URL>
register: facts
- name: VVR/CVR Resource
veritas_infoscale:
module: vvrresource
seednode: <hostname>
primaryvip: xx.xx.xx.xx
secondaryvip: xx.xx.xx.xx
dgname: testdg1
datavolname: testvol
srlvolname: srlvol1
rvgname: rvg_vvrtest1
createsecondaryonly: 1
createprimaryonly: 0
start_replication: 0
agentinfo:
rvg_sg_name: custom_RVG
primary:
clusterlist:
- mycluster_47
- mycluster_u
networkhosts:
- xx.xx.xx.xx
nic: eth0
netmask: 255.255.240.0
mountpoint_info:
- volname: testvol
mountname: /new_pri
mount_res_name: custom_mount_new
requires_res: ['']
secondary:
nic: ens192
netmask: 255.255.240.0
mountpoint_info:
- volname: testvol
mountname: /new_sec
mount_res_name: custom_mount_new
requires_res: ['']
clusterlist:
- mycluster_47
- mycluster_u
networkhosts:
- xx.xx.xx.xx
rvg_res_name : null
mount_sg_name : null
mount_res_name : null
datadg_res_name : null
ip_res_name : null
nic_res_name : null
awsip_res_name : null
rvgprimary_res_name : null
vvrshare_res_name : null
logownergrp_sg_name : null
logownerip_res_name : null
logowner_res_name : null
awsip_logowner_res_name : null
logownernic_res_name : null
state: present
facters: "{{ ansible_play_hosts_all |
map('extract', hostvars, ['facts','infoscale_facts'])
| select()|list }}"
|
Sample playbook - JSON [
{
"hosts": "<ansible host group>",
"gather_facts": false,
"tasks": [
{
"name": "Facters",
"veritas_infoscale": {
"module": "site_facters",
"release_matrix_path": "<URL>"
},
"register": "facts"
},
{
"name": "VVR/CVR Resource",
"veritas_infoscale": {
"module": "vvrresource",
"seednode": "<hostname>",
"primaryvip": "xx.xx.xx.xx",
"secondaryvip": "xx.xx.xx.xx",
"dgname": "testdg1",
"datavolname": "testvol",
"srlvolname": "srlvol1",
"rvgname": "rvg_vvrtest1",
"createsecondaryonly": 1,
"createprimaryonly": 0,
"start_replication": 0,
"agentinfo": {
"rvg_sg_name": "custom_RVG",
"primary": {
"clusterlist": [
"mycluster_47",
"mycluster_u"
],
"networkhosts": [
"xx.xx.xx.xx"
],
"nic": "eth0",
"netmask": "255.255.240.0",
"mountpoint_info": [
{
"volname": "testvol",
"mountname": "/new_pri",
"mount_res_name": "custom_mount_new",
"requires_res": [
""
]
}
]
},
"secondary": {
"nic": "ens192",
"netmask": "255.255.240.0",
"mountpoint_info": [
{
"volname": "testvol",
"mountname": "/new_sec",
"mount_res_name": "custom_mount_new",
"requires_res": [
""
]
}
],
"clusterlist": [
"mycluster_47",
"mycluster_u"
],
"networkhosts": [
"xx.xx.xx.xx"
]
},
"rvg_res_name": null,
"mount_sg_name": null,
"mount_res_name": null,
"datadg_res_name": null,
"ip_res_name": null,
"nic_res_name": null,
"awsip_res_name": null,
"rvgprimary_res_name": null,
"vvrshare_res_name": null,
"logownergrp_sg_name": null,
"logownerip_res_name": null,
"logowner_res_name": null,
"awsip_logowner_res_name": null,
"logownernic_res_name": null
},
"state": "present",
"facters": "{{ ansible_play_hosts_all
| map('extract', hostvars,
['facts','infoscale_facts']) | select()|list }}"
}
}
]
}
]
| ||
Adding nodes |
| Sample playbook - YAML ---
- hosts: cpicluster11
gather_facts: false
any_errors_fatal: true
tasks:
- name: Facters
veritas_infoscale:
module: site_facters
release_matrix_path: <URL>
register: facts
- name: Add/Del node
veritas_infoscale:
module: add_node
state: present
clusternode: dl380g10-kvm-12-03
add_del_nodes: ['dl380g10-kvm-12-56' ,
'dl380g10-kvm-12-57' ]
cluster_id: 34321
cluster_uuid: c7c2d65e-058f-11e8-a32c-c094107f3b61
facters: "{{ ansible_play_hosts_all
|map('extract', hostvars, ['facts','infoscale_facts'])
| select()|list }}" |
Sample playbook - JSON [
{
"hosts": "cpicluster11",
"gather_facts": false,
"any_errors_fatal": true,
"tasks": [
{
"name": "Facters",
"veritas_infoscale": {
"module": "site_facters",
"release_matrix_path": "<URL>",
},
"register": "facts"
},
{
"name": "Add/Del node",
"veritas_infoscale": {
"module": "add_node",
"state": "present",
"clusternode": "dl380g10-kvm-12-03",
"add_del_nodes": [
"dl380g10-kvm-12-56",
"dl380g10-kvm-12-57"
],
"cluster_id": 34321,
"cluster_uuid":
"c7c2d65e-058f-11e8-a32c-c094107f3b61",
"facters": "{{ ansible_play_hosts_all
|map('extract', hostvars, ['facts','infoscale_facts'])
| select()|list }}"
}
}
]
}
] | ||
Deleting nodes |
| Sample playbook - YAML ---
- hosts: cpicluster11
gather_facts: false
any_errors_fatal: true
tasks:
- name: Facters
veritas_infoscale:
module: site_facters
release_matrix_path: <URL>
register: facts
- name: Add/Del node
veritas_infoscale:
module: add_node
state: absent
clusternode: dl380g10-kvm-12-03
add_del_nodes: ['dl380g10-kvm-12-56' ,
'dl380g10-kvm-12-57' ]
cluster_id: 34321
cluster_uuid: c7c2d65e-058f-11e8-a32c-c094107f3b61
facters: "{{ ansible_play_hosts_all
|map('extract', hostvars, ['facts','infoscale_facts'])
| select()|list }}" |
Sample playbook - JSON [
{
"hosts": "cpicluster11",
"gather_facts": false,
"any_errors_fatal": true,
"tasks": [
{
"name": "Facters",
"veritas_infoscale": {
"module": "site_facters",
"release_matrix_path": "<URL>",
},
"register": "facts"
},
{
"name": "Add/Del node",
"veritas_infoscale": {
"module": "add_node",
"state": "absent",
"clusternode": "dl380g10-kvm-12-03",
"add_del_nodes": [
"dl380g10-kvm-12-56",
"dl380g10-kvm-12-57"
],
"cluster_id": 34321,
"cluster_uuid":
"c7c2d65e-058f-11e8-a32c-c094107f3b61",
"facters": "{{ ansible_play_hosts_all
|map('extract', hostvars, ['facts','infoscale_facts'])
| select()|list }}"
}
}
]
}
] | ||
Configure VIP |
| Sample playbook - YAML ---
- hosts: <ansible host group>
gather_facts: false
any_errors_fatal: true
tasks:
- name: Facters
veritas_infoscale:
module: site_facters
release_matrix_path: <URL>
register: facts
- name: Configure VIP
veritas_infoscale:
module: VipConfig
nic: ens3
vip: 'xx.xx.xx.xx'
netmask: 'xxx.xxx.xxx.xxx'
facters: "{{ ansible_play_hosts_all
|map('extract', hostvars, ['facts','infoscale_facts'])
| select()|list }}" |
Sample playbook - JSON [
{
"hosts": "node_vip",
"gather_facts": false,
"any_errors_fatal": true,
"tasks": [
{
"name": "Facters",
"veritas_infoscale": {
"module": "site_facters",
"release_matrix_path": "<URL>"
},
"register": "facts"
},
{
"name": "Configure VIP",
"veritas_infoscale": {
"module": "VipConfig",
"nic": "ens3",
"vip": " xx.xx.xx.xx ",
"netmask": "xxx.xxx.xxx.xxx ",
"facters": "{{ ansible_play_hosts_all
|map('extract', hostvars, ['facts','infoscale_facts'])
| select()|list }}"
}
}
]
}
] | ||
Configure Secure Cluster |
| Sample playbook - YAML ---
- hosts: <ansible host group>
gather_facts: false
any_errors_fatal: true
tasks:
- name: Facters
veritas_infoscale:
module: site_facters
register: facts
- name: Secure Cluster
veritas_infoscale:
module: SecureCluster
cluster_id:
cluster_name: clust_cpi9
seednode: dl380g10-12-kvm-49
state: present
fips: 0
read_access: 0
usergroups:
facters: "{{ ansible_play_hosts_all
|map('extract', hostvars, ['facts','infoscale_facts'])
| select()|list }}"
|
Sample playbook - JSON [
{
"hosts": "<ansible host group>",
"gather_facts": false,
"any_errors_fatal": true,
"tasks": [
{
"name": "Facters",
"veritas_infoscale": {
"module": "site_facters"
},
"register": "facts"
},
{
"name": "Secure Cluster",
"veritas_infoscale": {
"module": "SecureCluster",
"cluster_id": null,
"cluster_name": "clust_cpi9",
"seednode": "dl380g10-12-kvm-49",
"state": "present",
"fips": 0,
"read_access": 0,
"usergroups": null,
"facters": "{{ ansible_play_hosts_all
|map('extract', hostvars, ['facts','infoscale_facts'])
| select()|list }}"
}
}
]
}
]
| ||
Configure GCO |
| Sample playbook - YAML ---
- hosts: <ansible host group>
gather_facts: False
any_errors_fatal: true
tasks:
- name: Facters
veritas_infoscale:
module: site_facters
release_matrix_path: <URL>
register: facts
- name: GCO configuration
veritas_infoscale:
module: gco_config
primary:
prefix: ''
nic: {'<primary site hostname>' : 'ens192'}
vip: xx.xxx.xxx.xx
ipver: 4
netmask: xx.xxx.xxx.xx
secondary:
prefix: ''
nic: {'<secondary site hostname>' : 'ens192'}
vip: xx.xxx.xxx.xx
ipver: 4
netmask: xx.xxx.xxx.xx
primary_seednode: <primary site hostname>
secondary_seednode: <secondary site hostname>
state: present
extra_args: null
facters: "{{ ansible_play_hosts_all
|map('extract', hostvars, ['facts','infoscale_facts'])
| select()|list }}" |
Sample playbook - JSON [
{
"hosts": "<ansible host group>",
"gather_facts": false,
"any_errors_fatal": true,
"tasks": [
{
"name": "Facters",
"veritas_infoscale": {
"module": "site_facters",
"release_matrix_path": "<URL>",
},
"register": "facts"
},
{
"name": "GCO configuration",
"veritas_infoscale": {
"module": "gco_config",
"primary": {
"prefix": "",
"nic": {
"<primary site hostname>": "ens192"
},
"vip": "xx.xxx.xxx.xx",
"ipver": 4,
"netmask": "xx.xxx.xxx.xx"
},
"secondary": {
"prefix": "",
"nic": {
"<secondary site hostname>": "ens192"
},
"vip": "xx.xxx.xxx.xx",
"ipver": 4,
"netmask": "xx.xxx.xxx.xx"
},
"primary_seednode": "<primary site hostname>",
"secondary_seednode": "<secondary site hostname>",
"state": "present",
"extra_args": null,
"facters": "{{ ansible_play_hosts_all
|map('extract', hostvars, ['facts','infoscale_facts'])
| select()|list }}"
}
}
]
}
] | ||
Configure REST server |
| Configure REST server ---
- hosts: <any one ansible host from the cluster on which
you want to configure REST server>
gather_facts: false
any_errors_fatal: true
tasks:
- name: Facters
veritas_infoscale:
module: site_facters
register: facts
- name: Configure REST Server
veritas_infoscale:
module: RestServerConfig
REST_server_ip: xx.xx.xx.xx
REST_server_netmask: xx.xx.xx.xx
REST_server_nic: eth0
REST_server_port: '5637'
REST_server_username: ldapuser1
REST_server_ldap_domain: 'example.com'
REST_server_ldap_ip: xx.xx.xx.xx
REST_server_key: '/certs/server.key'
REST_server_cert_file: '/certs/server.crt'
REST_server_cacert_file: '/certs/serverca.crt'
REST_server_passphrase:
rest_config: enabled_ldap
reconfig:
state: present
facters: "{{ ansible_play_hosts_all
|map('extract', hostvars, ['facts','infoscale_facts'])
| select()|list }}" |
Sample Playbook - JSON [
{
"hosts": "<any one ansible host from the cluster on
which you want to configure REST server>",
"gather_facts": false,
"any_errors_fatal": true,
"tasks": [
{
"name": "Facters",
"veritas_infoscale": {
"module": "site_facters"
},
"register": "facts"
},
{
"name": "Configure REST Server",
"veritas_infoscale": {
"module": "RestServerConfig",
"REST_server_ip": "xx.xx.xx.xx",
"REST_server_netmask": "xx.xx.xx.xx",
"REST_server_nic": "eth0",
"REST_server_port": "5637",
"rest_config": "enabled_ldap",
"REST_server_username": "ldapuser1"
"REST_server_ldap_domain": "example.com"
"REST_server_ldap_ip": "xx.xx.xx.xx"
"REST_server_key": "/certs/server.key"
"REST_server_cert_file": "/certs/server.crt"
"REST_server_cacert_file": "/certs/serverca.crt"
"REST_server_passphrase": null
"reconfig": null,
"state": "present",
"facters": "{{ ansible_play_hosts_all
|map('extract', hostvars, ['facts','infoscale_facts'])
| select()|list }}"
}
}
]
}
] | ||
Configure CP Server | site facters CPServerConfig | Sample playbook - YAML ---
- hosts: cluster-vip-06
gather_facts: false
any_errors_fatal: true
tasks:
- name: Facters
veritas_infoscale:
module: site_facters
register: facts
- name: Configure CP Server
veritas_infoscale:
module: CPServerConfig
cps_db_dir: /etc/VRTScps/db
cps_name: cps1
cps_network:
- vip: [ "xx.xx.xx.xx" ]
netmask: [ "xx.xx.xx.xx" ]
port: 443
systems:
- hosts: dl380g9-109vip06
nic: eth0
cps_diskgroup: fendg1
cps_volume: fenvol1
cps_newdg_disk:
cps_newvol_volsize:
cps_delete_database: 1
cps_delete_config_logs: 1
reconfig:
state: present
facters: "{{ ansible_play_hosts_all |map('extract',
hostvars, ['facts','infoscale_facts'])|
select()|list }}" |
Sample playbook - JSON [
{
"hosts": "cluster-vip-06",
"gather_facts": false,
"any_errors_fatal": true,
"tasks": [
{
"name": "Facters",
"veritas_infoscale": {
"module": "site_facters"
},
"register": "facts"
},
{
"name": "Configure CP Server",
"veritas_infoscale": {
"module": "CPServerConfig",
"cps_db_dir": "/etc/VRTScps/db",
"cps_name": "cps1",
"cps_network": [
{
"vip": [
"xx.xx.xx.xx"
],
"netmask": [
"xx.xx.xx.xx"
],
"port": 443,
"systems": [
{
"hosts": "dl380g9-109vip06",
"nic": "eth0"
}
]
}
],
"cps_diskgroup": "fendg1",
"cps_volume": "fenvol1",
"cps_newdg_disk": null,
"cps_newvol_volsize": null,
"cps_delete_database": 1,
"cps_delete_config_logs": 1,
"reconfig": null,
"state": "present",
"facters": "{{ ansible_play_hosts_all
|map('extract', hostvars,
['facts','infoscale_facts'])| select()|list }}"
}
}
]
}
]
| ||
Enable/Disable EO-compliant logging | site facters Logging | Sample Playbook - YAML ---
- hosts: cluster-44-50
gather_facts: false
any_errors_fatal: true
tasks:
- name: Facters
veritas_infoscale:
module: site_facters
register: facts
- name: Logging
veritas_infoscale:
module: Logging
facters: "{{ ansible_play_hosts_all |map('extract',
hostvars, ['facts','infoscale_facts'])|
select()|list }}" |
Sample Playbook - JSON
[
{
"hosts": "cluster-44-50",
"gather_facts": false,
"any_errors_fatal": true,
"tasks": [
{
"name": "Facters",
"veritas_infoscale": {
"module": "site_facters"
},
"register": "facts"
},
{
"name": "Logging",
"veritas_infoscale": {
"module": "Logging",
"facters": "{{ ansible_play_hosts_all
|map('extract', hostvars,
['facts','infoscale_facts'])| select()|list }}"
}
}
]
}
]
| ||
Setting Tunables | site facter SetTunable | Sample playbook - YAML ---
- hosts: cluster-vm
gather_facts: no
tasks:
- name: Facters
veritas_infoscale:
module: site_facters
register: facts
- name: Set Tunables
veritas_infoscale:
module: SetTunable
llt:
- systems: ['dl380g9-127-vm3', 'dl380g9-127-vm4']
tunables:
- "set-flow window: 520"
- "set-flow highwater: 12000"
- systems: ['all']
tunables:
- "set-flow window: 521"
- "set-flow highwater: 12001"
fs:
- 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
vm:
- systems: ['all']
tunables:
volraid_rsrtransmax: 1
voliot_max_open: 32
facters : "{{ ansible_play_hosts_all
|map('extract', hostvars,
['facts','infoscale_facts'])| select()|list }}" |
Sample playbook - JSON [
{
"hosts": "cluster-vm",
"gather_facts": "no",
"tasks": [
{
"name": "Facters",
"veritas_infoscale": {
"module": "site_facters"
},
"register": "facts"
},
{
"name": "Set Tunables",
"veritas_infoscale": {
"module": "SetTunable",
"llt": [
{
"systems": [
"dl380g9-127-vm3",
"dl380g9-127-vm4"
],
"tunables": [
"set-flow window: 520",
"set-flow highwater: 12000"
]
},
{
"systems": [
"all"
],
"tunables": [
"set-flow window: 521",
"set-flow highwater: 12001"
]
}
],
"fs": [
{
"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
}
}
]
}
],
"vm": [
{
"systems": [
"all"
],
"tunables": {
"volraid_rsrtransmax": 1,
"voliot_max_open": 32
}
}
],
"facters": "{{ ansible_play_hosts_all
|map('extract', hostvars,
['facts','infoscale_facts'])| select()|list }}"
}
}
]
}
] | ||
Setting Route and rules for subnets across AZ on AWS | site facters RouteConfig | Sample playbook - YAML ---
- hosts: cluster2
gather_facts: false
any_errors_fatal: true
tasks:
- name: Facters
veritas_infoscale:
module: site_facters
register: facts
- name: Configure Routes and Rules
veritas_infoscale:
module: RouteConfig
udp_link:
- system: 'ip-10-0-0-71'
heartbeat_link:
- nic: eth1
ip: xx.xx.xx.xx /24
- nic: eth2
ip: xx.xx.xx.xx /24
- system: 'ip-10-0-10-168'
heartbeat_link:
- nic: eth1
ip: xx.xx.xx.xx /24
- nic: eth2
ip: xx.xx.xx.xx/24
facters : "{{ ansible_play_hosts_all |map('extract',
hostvars, ['facts','infoscale_facts'])|
select()|list }}" |
Sample playbook - JSON [
{
"hosts": "cluster2",
"gather_facts": false,
"any_errors_fatal": true,
"tasks": [
{
"name": "Facters",
"veritas_infoscale": {
"module": "site_facters"
},
"register": "facts"
},
{
"name": "Configure Routes and Rules",
"veritas_infoscale": {
"module": "RouteConfig",
"udp_link": [
{
"system": "ip-10-0-0-71",
"heartbeat_link": [
{
"nic": "eth1",
"ip": " xx.xx.xx.xx/24"
},
{
"nic": "eth2",
"ip": " xx.xx.xx.xx/24"
}
]
},
{
"system": "ip-10-0-10-168",
"heartbeat_link": [
{
"nic": "eth1",
"ip": " xx.xx.xx.xx/24"
},
{
"nic": "eth2",
"ip": "xx.xx.xx.xx/24"
}
]
}
],
"facters": "{{ ansible_play_hosts_all
|map('extract', hostvars,
['facts','infoscale_facts'])| select()|list }}"
}
}
]
}
] | ||
Add disks to diskgroup |
| Sample playbook - YAML ---
- hosts: cluster2
gather_facts: false
any_errors_fatal: true
tasks:
- name: Init disks
veritas_infoscale:
module: DiskInit
init:
initdisks: True
fss: True
disks: [ 'disk1', 'disk2' ]
register: disk_info
- name: Facters
veritas_infoscale:
module: site_facters
register: facts
- name: Add disks to Diskgroup
veritas_infoscale:
module: adddisks
state: present
dgname: testdg
disks: "{{ disk_info['disks'] }}"
facters: "{{ ansible_play_hosts_all
| map('extract', hostvars,
['facts','infoscale_facts'])| select()|list }}" |
Sample playbook - JSON [
{
"hosts": "cluster2",
"gather_facts": false,
"any_errors_fatal": true,
},
"tasks": [
{
"name": "Init disks",
"veritas_infoscale": {
"module": "DiskInit",
"init": {
"initdisks": true,
"fss": true
},
"disks": [
"disk1",
"disk2"
]
},
"register": "disk_info"
},
{
"name": "Facters",
"veritas_infoscale": {
"module": "site_facters"
},
"register": "facts"
},
{
"name": "Add disks to Diskgroup",
"veritas_infoscale": {
"module": "adddisks",
"state": "present",
"dgname": "testdg",
"disks": "{{ disk_info['disks'] }}",
"facters": "{{ ansible_play_hosts_all
| map('extract', hostvars,
['facts','infoscale_facts'])| select()|list }}"
}
}
]
}
] | ||
Remove disks from diskgroup |
| Sample playbook - YAML ---
- hosts: cluster2
gather_facts: false
any_errors_fatal: true
tasks:
- name: Facters
veritas_infoscale:
module: site_facters
register: facts
- name: Remove disks from Diskgroup
veritas_infoscale:
module: adddisks
state: absent
dgname: testdg
disks: ['disk1', 'disk2']
facters: "{{ ansible_play_hosts_all
| map('extract', hostvars,
['facts','infoscale_facts'])| select()|list }}" |
Sample playbook - JSON [
{
"hosts": "cluster2",
"gather_facts": false,
"any_errors_fatal": true,
},
"tasks": [
{
"name": "Facters",
"veritas_infoscale": {
"module": "site_facters"
},
"register": "facts"
},
{
"name": "Remove disks from Diskgroup",
"veritas_infoscale": {
"module": "adddisks",
"state": "absent",
"dgname": "testdg",
"disks": ["disk1", "disk2"
],
"facters": "{{ ansible_play_hosts_all
| map('extract', hostvars,
['facts','infoscale_facts'])| select()|list }}"
}
}
]
}
] | ||
Change Replication Status |
| Sample playbook YAML ---
- hosts: <ansible host group>
gather_facts: False
become: yes
tasks:
- name: Change replcation state
veritas_infoscale:
module: change_replication_state
newstate: start
rvg_info: [ {'dg_name': 'checkdg',
'rvg_list': ['rvg_test1']} ]
secondaryvip: "{{ vtas_secondaryvip }}" |
Sample playbook JSON [
{
"hosts": "<ansible host group>",
"gather_facts": false,
"become": "yes",
"tasks": [
{
"name": "Change replication state",
"veritas_infoscale": {
"module": "ChangeReplicationState",
"newstate": "start",
"rvg_info": [
{
"dg_name": "checkdg",
"rvg_list": [
"rvg_test1"
]
}
],
"secondaryvip": "{{ vtas_secondaryvip }}",
}
}
]
}
] |