Veritas InfoScale™ Installation, Upgrade, and Configuration Using Ansible - Linux
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 }}" } } ] } ] | ||
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 Veritas 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 systems: [dl380g10-12-kvm-24, dl380g10-12-kvm-49] 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", "systems": [ "dl380g10-12-kvm-24", "dl380g1012-kvm-49" ], "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 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 option: off 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", "option": "off", "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 }}", } } ] } ] |