The Avi VMC ansible playbooks provide the ability for day 0 provisioning as well as day 1 expansion tasks. The provided playbooks allow for the user to
- Deploy a 3-node Avi Controller Cluster.
Deployment of the Avi Controller Cluster
playbook is invoked to set up a Avi Controller cluster as the first step to onboard the Avi Vantage platform into VMC compute domain. - Deploy Avi Service Engines into the VMC compute domain.
Create an Avi Service Engine
playbook is invoked whenever load-balancing capacity is desired.
Python and ansible are the base requirements that must be installed. In addition to python and ansible, the following packages are also required.
$ pip install pyvmomi avisdk
$ ansible-galaxy install avinetworks.avisdk
$ apt install sshpass -y
$ yum install sshpass -y
Each playbook has a corresponding variable file that requires user inputted data to successfully complete. The variable files for each playbook denote whether specific variables are required are optional. If a required variable is overlooked the playbook will fail to complete successfully.
Playbook: vmc-ctl.yml
Variables: vmc-ctl-vars.yml
This playbook will deploy an Avi Controller cluster within the VMC compute domain; setting the admin password, and creating the 3-node cluster is desired (recommended.)
Variable | Choices/Defaults | Comments |
---|---|---|
vcenter_hostname string / required
|
IP or fqdn of VMC mgmt vCenter server used to deploy Avi Controller(s)
|
|
vcenter_username string / required
|
Username to login to vCenter server
|
|
vcenter_password string / required
|
Password used to authenticate with the vCenter server
|
|
datacenter string
|
Default: SDDC-Datacenter |
The vCenter datacenter where the Avi Controller(s) will be deployed
|
cluster string
|
Default: Cluster-1 |
The vCenter esxi cluster name to deploy the Avi Controller(s)
|
datastore string
|
Default: WorkloadDatastore |
The vCenter datastore to be used
|
folder string
|
Default: the Datacenter VM root |
The vCenter VM folder for the Avi Controller VMs. EX: SDDC-Datacenter/vm/avi
|
ova_path string / required
|
Local path/filename where to find the Avi Controller ova
|
|
management_network_pg string / required
|
The network portgroup name to place the Avi Controller vNICs into
|
|
avi_admin_password string / required
|
The password to set for the local admin account
|
|
ctl_memory_mb string
|
Default: 24576 |
The amount of memory in MB to assign to the Avi Controller(s)
|
ctl_num_cpus string
|
Default: 8 |
The number of vcpus to assign to the Avi Controller(s)
|
ctl_disk_size_gb string
|
Default: 128 |
The size of disk in GB to assign to the Avi Controller(s)
|
cluster_vip string
|
Cluster VIP to be used for a 3 node cluster
|
|
three_node_cluster boolean
|
Deploy 3 Avi Controller nodes and cluster them
|
|
node1_mgmt_ip string
|
Default: DHCP |
MGMT IP address to Avi Cluster node 1, if blank DHCP will be used. Recommended to specify a static IP address
|
node1_mgmt_mask string
|
Default: DHCP |
Netmask to be used when static IP is assigned. Example: 24 Recommended to specify a static IP address
|
node1_mgmt_gw string
|
Default: DHCP |
Gateway IP to be used when static IP is assigned. Recommended to specify a static IP address
|
node2_mgmt_ip string
|
Default: DHCP |
MGMT IP address to Avi Cluster node 2, if blank DHCP will be used. Recommended to specify a static IP address
|
node2_mgmt_mask string
|
Default: DHCP |
Netmask to be used when static IP is assigned. Example: 24 Recommended to specify a static IP address
|
node2_mgmt_gw string
|
Default: DHCP |
Gateway IP to be used when static IP is assigned. Recommended to specify a static IP address
|
node3_mgmt_ip string
|
Default: DHCP |
MGMT IP address to Avi Cluster node 3, if blank DHCP will be used. Recommended to specify a static IP address
|
node3_mgmt_mask string
|
Default: DHCP |
Netmask to be used when static IP is assigned. Example: 24 Recommended to specify a static IP address
|
node3_mgmt_gw string
|
Default: DHCP |
Gateway IP to be used when static IP is assigned. Recommended to specify a static IP address
|
Playbook: vmc-se.yml
Variables: vmc-se-vars.yml
This playbook will deploy Avi Service Engines within the VMC Compute Domain.
Variable | Choices/Defaults | Comments |
---|---|---|
avi_controller_ip string / required
|
IP or fqdn of Avi Controller cluster for the service engine
|
|
avi_username string / required
|
Username to use for authentication to the Avi Controller
|
|
avi_password string / required
|
Password to use for authentication to the Avi Controller
|
|
cloud string
|
Default: Default-Cloud |
Name of the Avi Cloud to deploy the Avi Service Engine in
|
segroup string
|
Default: Default-Group |
Name of the Avi serviceengine group to deploy the Avi Service Engine in
|
vcenter_hostname string / required
|
IP or fqdn of VMC compute vCenter server used to deploy Avi Service Engine
|
|
vcenter_username string / required
|
Username to login to vCenter server
|
|
vcenter_password string / required
|
Password used to authenticate with the vCenter server
|
|
datacenter string
|
Default: SDDC-Datacenter |
The vCenter datacenter where the Avi Service Engine will be deployed
|
cluster string
|
Default: Cluster-1 |
The vCenter esxi cluster name to deploy the Service Engine
|
datastore string
|
Default: WorkloadDatastore |
The vCenter datastore to be used
|
folder string
|
Default is the Datacenter VM root |
The vCenter VM folder for the Avi Service Engine VM. EX: SDDC-Datacenter/vm/avi
|
management_network_pg string / required
|
The network portgroup name to place the Avi service engine management vNIC into
|
|
data_nic_parking_pg string / required
|
The network portgroup name to place unused Avi service engine data vNIC(s) into
|
|
se_mgmt_ip string
|
Default: DHCP |
MGMT IP address to assign to Service Engine, if blank DHCP will be used. Recommended to specify a static IP address
|
se_mgmt_mask string
|
Default: DHCP |
Netmask to be used when static IP is assigned. Example: 24 Recommended to specify a static IP address
|
se_mgmt_gw string
|
Default: DHCP |
Gateway IP to be used when static IP is assigned. Recommended to specify a static IP address
|
se_memory_mb string
|
Default: 4096 |
The amount of memory in MB to assign to the Avi Service Engine
|
se_memory_reserve_lock boolean
|
Reserve service engine memory on esxi server
|
|
se_num_cpus string
|
Default: 2 |
The number of vcpus to assign to the Avi Service Engine
|
se_cpu_reserve_mhz string
|
Amount of CPU in mhz to reserve on esxi server for the Service Engine
|
|
se_disk_size_gb string
|
Default: 20 |
The size of disk in GB to assign to the Avi Service Engine
|
data_network1
dictionary
|
Parameters for defining data vnic 1 on Avi Service Engine
|
||
se_int_pg
string
|
Port group name to use for SE data nic 1, leave blank for unused
|
||
se_int_ip
string
|
IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined
|
||
se_int_mask
string
|
IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined. Example: 24
|
data_network2
dictionary
|
Parameters for defining data vnic 2 on Avi Service Engine
|
||
se_int_pg
string
|
Port group name to use for SE data nic 2, leave blank for unused
|
||
se_int_ip
string
|
IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined
|
||
se_int_mask
string
|
IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined. Example: 24
|
data_network3
dictionary
|
Parameters for defining data vnic 3 on Avi Service Engine
|
||
se_int_pg
string
|
Port group name to use for SE data nic 3, leave blank for unused
|
||
se_int_ip
string
|
IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined
|
||
se_int_mask
string
|
IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined. Example: 24
|
data_network4
dictionary
|
Parameters for defining data vnic 4 on Avi Service Engine
|
||
se_int_pg
string
|
Port group name to use for SE data nic 4, leave blank for unused
|
||
se_int_ip
string
|
IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined
|
||
se_int_mask
string
|
IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined. Example: 24
|
data_network5
dictionary
|
Parameters for defining data vnic 5 on Avi Service Engine
|
||
se_int_pg
string
|
Port group name to use for SE data nic 5, leave blank for unused
|
||
se_int_ip
string
|
IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined
|
||
se_int_mask
string
|
IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined. Example: 24
|
data_network6
dictionary
|
Parameters for defining data vnic 6 on Avi Service Engine
|
||
se_int_pg
string
|
Port group name to use for SE data nic 6, leave blank for unused
|
||
se_int_ip
string
|
IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined
|
||
se_int_mask
string
|
IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined. Example: 24
|
data_network7
dictionary
|
Parameters for defining data vnic 7 on Avi Service Engine
|
||
se_int_pg
string
|
Port group name to use for SE data nic 7, leave blank for unused
|
||
se_int_ip
string
|
IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined
|
||
se_int_mask
string
|
IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined. Example: 24
|
data_network8
dictionary
|
Parameters for defining data vnic 8 on Avi Service Engine
|
||
se_int_pg
string
|
Port group name to use for SE data nic 8, leave blank for unused
|
||
se_int_ip
string
|
IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined
|
||
se_int_mask
string
|
IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined. Example: 24
|
data_network9
dictionary
|
Parameters for defining data vnic 9 on Avi Service Engine
|
||
se_int_pg
string
|
Port group name to use for SE data nic 9, leave blank for unused
|
||
se_int_ip
string
|
IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined
|
||
se_int_mask
string
|
IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined. Example: 24
|