avinetworks.avicontroller
⛔️ NO LONGER SUPPORTED: This repository is not maintained anymore. Please use https://github.com/vmware/ansible-collection-alb instead, as this role has been moved to Ansible collections.
This module allows you to install the Avi Vantage Controller on your system, but certain minimum requirements must be fulfilled.
Warning:
This Ansible role should only be used for initial deployment, not for repeated runs. After deployment, the Avi configuration is managed by Avi.
Requirements
You need to have Docker installed. We created avinetworks.docker
role to help install Docker on your host. Run that role first or install Docker manually.
Role Variables
Setting Deployment Type
Variable | Required | Default | Description |
---|---|---|---|
con_deploy_type |
No | docker |
Defines the type of deployment. Options: docker , openshift |
Standard Parameters
Variable | Required | Default | Description |
---|---|---|---|
con_skip_requirements |
No | false |
Skips checking for disk space, RAM, and CPU. |
Package Deployment Variables
Variable | Required | Default | Description |
---|---|---|---|
con_package_deploy |
No | false |
Set to true to install via package |
con_package_source |
No | controller_docker.tgz |
Source of the Docker package |
con_package_dest |
No | /tmp/controller_docker.tgz |
Destination on the remote server |
Docker Hub Variables
Variable | Required | Default | Description |
---|---|---|---|
con_docker_repo |
No | None |
Local repository if used. |
con_version |
No | 17.2.4-9024-20171127.023607 |
Version of the Avi Controller to deploy. |
con_image |
No | avinetworks/controller:{{ con_version }} |
Full name of the controller image. |
con_docker_repo_user |
No | None |
Username for repository access. |
con_docker_repo_password |
No | None |
Password for repository access. |
Docker Deployment Variables
Variable | Required | Default | Description |
---|---|---|---|
con_cores |
No | {{ ansible_processor_cores * ansible_processor_count }} |
Number of cores for the controller. |
con_memory_gb |
No | {{ ansible_memtotal_mb // 1024 }} |
Amount of memory for the controller. |
con_destination_disk |
No | auto-detect based on ansible_mounts largest sized disk |
Disk for the controller installation. |
con_disk_path |
No | {{ destination_disk }}opt/avi/controller/data |
Path for controller data installation. |
con_disk_gb |
No | 30 |
Disk size for controller data. |
con_metrics_disk_path |
No | None |
Path for storing metrics data. |
con_metrics_disk_gb |
No | None |
Disk size for metrics data. |
con_logs_disk_path |
No | None |
Path for storing logs data. |
con_logs_disk_gb |
No | None |
Disk size for logs data. |
con_controller_ip |
No | {{ ansible_default_ipv4.address }} |
IP address of the controller. |
con_dev_name |
No | auto-detect based on con_controller_ip |
Device name for the controller. |
con_setup_json |
No | None |
Source of the setup.json file for auto-configuration. |
con_setup_json_raw |
No | None |
Raw setup.json data input in YAML/JSON format. |
con_fresh_install |
No | false |
Deletes existing directories related to the controller. |
con_portal_http_port |
No | 80 |
Port for the unsecured web interface. |
con_portal_https_port |
No | 443 |
Port for the secured web interface. |
con_sysint_port |
No | 8443 |
Port for controller communication interface. |
con_ssh_port |
No | 5098 |
Port for SSH access to the controller. |
con_serviceengine_ssh_port |
No | 5099 |
Port for SSH to service engines. |
con_cli_port |
No | 5054 |
Port for command line interface access. |
con_snmp_port |
No | 161 |
UDP port for SNMP service access. |
con_mounts_extras |
No | [] |
Additional mounting points for the controller. |
con_env_variables_extras |
No | [] |
Extra environment variables for the controller. |
con_ports_list_extras |
No | [] |
Additional ports for the controller. |
con_force_deploy |
No | false |
Forces Ansible to run on the host without skipping tasks. |
Example Playbook
WARNING:
Before using this example, adjust it for your server's needs.
More details can be found at https://kb.avinetworks.com/avi-controller-sizing/
It's advisable to change these parameters according to your desired setup.
Docker Deployment Examples
- hosts: servers
roles:
- role: avinetworks.avicontroller
con_controller_ip: 10.10.27.101
con_cores: 4 # Default core count is 4 if not specified
con_memory_gb: 12 # Default memory is 12 GB if not specified
Here is an example with minimal parameters.
- hosts: servers
roles:
- role: avinetworks.avicontroller
Here is an example specifying version 18.1.2
---
- hosts: bm
vars:
avi_con_version: 18.1.2-9058-20180623.025526
tasks:
- name: Avi Controller | Setup Docker
include_role:
name: avinetworks.docker
become: yes
- name: Avi Controller | Setup Controller
include_role:
name: avinetworks.avicontroller
vars:
con_controller_ip: "xxx"
con_memory_gb: 20
con_cores: 4|int
con_fresh_install: True
con_package_deploy: False
con_version: "{{avi_con_version}}"
con_image: avinetworks/controller:{{ con_version }}
con_disk_gb: 50
License
Apache 2.0
Author Information
Deploy's the AVI Vantage Controller
ansible-galaxy install avinetworks.avicontroller