Skip to content

mkarnowski/avi-vmc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Avi VMC Playbooks

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

  1. 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.
  2. Deploy Avi Service Engines into the VMC compute domain. Create an Avi Service Engine playbook is invoked whenever load-balancing capacity is desired.

Requirements


Python and ansible are the base requirements that must be installed. In addition to python and ansible, the following packages are also required.

Python Modules

$ pip install pyvmomi avisdk

Avisdk Ansible Role

$ ansible-galaxy install avinetworks.avisdk

Linux package

$ apt install sshpass -y
$ yum install sshpass -y

Usage


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.


Deployment of the Avi Controller Cluster in the Compute Domain


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



vmc-ctl-vars.yml

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

  • True
  • False (Default)
  • 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




    Create an Avi Service Engine in the Compute Domain



    Playbook:  vmc-se.yml
    Variables: vmc-se-vars.yml
    

    This playbook will deploy Avi Service Engines within the VMC Compute Domain.



    vmc-se-vars.yml

    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

  • True
  • False - Default
  • 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
  • Default: DHCP if se_int_pg is defined
  • IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined
    se_int_mask
    string
  • Default: DHCP if se_int_pg is defined
  • 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
  • Default: DHCP if se_int_pg is defined
  • IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined
    se_int_mask
    string
  • Default: DHCP if se_int_pg is defined
  • 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
  • Default: DHCP if se_int_pg is defined
  • IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined
    se_int_mask
    string
  • Default: DHCP if se_int_pg is defined
  • 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
  • Default: DHCP if se_int_pg is defined
  • IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined
    se_int_mask
    string
  • Default: DHCP if se_int_pg is defined
  • 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
  • Default: DHCP if se_int_pg is defined
  • IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined
    se_int_mask
    string
  • Default: DHCP if se_int_pg is defined
  • 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
  • Default: DHCP if se_int_pg is defined
  • IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined
    se_int_mask
    string
  • Default: DHCP if se_int_pg is defined
  • 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
  • Default: DHCP if se_int_pg is defined
  • IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined
    se_int_mask
    string
  • Default: DHCP if se_int_pg is defined
  • 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
  • Default: DHCP if se_int_pg is defined
  • IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined
    se_int_mask
    string
  • Default: DHCP if se_int_pg is defined
  • 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
  • Default: DHCP if se_int_pg is defined
  • IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined
    se_int_mask
    string
  • Default: DHCP if se_int_pg is defined
  • IP address to assign to data nic. Defaults to DHCP if blank and se_int_pg is defined. Example: 24

    About

    No description, website, or topics provided.

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published