Code Monkey home page Code Monkey logo

ansible-role-avicontroller's Introduction

โ›”๏ธ DEPRECATED: This repo is no longer supported, please consider using https://github.com/vmware/ansible-collection-alb instead since this role is migrated to ansible collections.

Ansible Galaxy

Using this module you are able to install the Avi Vantage Controlller, to your system. However, minimum requirements must be met.

Warning:
This Ansible role is not meant to be ran repeatedly on the host. It's meant for deployment only. Once deployed the configuration for Avi is managed by Avi.

Requirements

Requires Docker to be installed. We have created avinetworks.docker to install Docker on a host. Please run that role first, or manually install Docker.

Role Variables

Setting Deployment type

Variable Required Default Comments
con_deploy_type No docker Sets the type of deployment that should be triggered. Valid options: docker, openshift

Standard Parameters

Variable Required Default Comments
con_skip_requirements No false Skips any requirements for disk space, ram, and cpu.

Package Deploy Variables

Variable Required Default Comments
con_package_deploy No false Set to true to deploy via package
con_package_source No controller_docker.tgz Source location of the docker tgz
con_package_dest No /tmp/controller_docker.tgz Destination location on the remote server

Docker Hub and Docker Repo Variables

Variable Required Default Comments
con_docker_repo No None If using a local repository please enter it here.
con_version No 17.2.4-9024-20171127.023607 Version of the Avi Controller package you want to deploy.
con_image No avinetworks/controller:{{ con_version }} Full name of the controller image.
con_docker_repo_user No None User to be used for repository authentication.
con_docker_repo_password No None Password to be used for repository authentication.

Docker Deployment Variables

Variable Required Default Comments
con_cores No {{ ansible_processor_cores * ansible_processor_count }} How many cores the controller will use.
con_memory_gb No {{ ansible_memtotal_mb // 1024 }} How much memory the controller will use.
con_destination_disk No auto-detect based on ansible_mounts largest sized disk The disk that the controller data will be installed
con_disk_path No {{ destination_disk }}opt/avi/controller/data The path that the controller data will be installed.
con_disk_gb No 30 The size of the disk that will be used by controller data.
con_metrics_disk_path No None The path that the controller metric data will be stored.
con_metrics_disk_gb No None The size of the disk that will be used by metric data.
con_logs_disk_path No None The path that the controller log data will be stored.
con_logs_disk_gb No None The size of the disk that will be used by log data.
con_controller_ip No {{ ansible_default_ipv4.address }} The IP address of the controller.
con_dev_name No auto-detect based on con_controller_ip The device name that will be used by the controller.
con_setup_json No None The source location of the setup.json file. Used to auto-configure a controller.
con_setup_json_raw No None Allows a user to input the setup.json data in YAML or JSON format directly in Ansible.
con_fresh_install No false Erases any pre-existing directories associated with the controller.
con_portal_http_port No 80 Port used for the controllers unsecured web interface.
con_portal_https_port No 443 Port used for the controllers secured web interface.
con_sysint_port No 8443 Port to be used by the controller communication interface.
con_ssh_port No 5098 Port used to connect directly to the controllers ssh port.
con_serviceengine_ssh_port No 5099 Port used to connect directly to the service engines ssh port.
con_cli_port No 5054 Port used to access the command line interface of the controller.
con_snmp_port No 161 UDP port used to access the SNMP service on the controller.
con_mounts_extras No [] Extra mounting points to be used by the controller.
con_env_variables_extras No [] Extra environment variables to be used by the controller.
con_ports_list_extras No [] Extra ports to be used by the controller.
con_force_deploy No false Forces Ansible to run on the host, does not skip tasks.

Example Playbook

WARNING:
Before using this example please make the correct changes required for your server.
For more information please visit https://kb.avinetworks.com/avi-controller-sizing/
It is recommended you adjust these parameters based on the implementation desired.

Docker Deployment Examples

- hosts: servers
  roles:
    - role: avinetworks.avicontroller
      con_controller_ip: 10.10.27.101
      con_cores: 4                     # If not specified core count is 4
      con_memory_gb: 12                 # If not specified memory count is 12

The following is an example with minimum parameters.

- hosts: servers
  roles:
    - role: avinetworks.avicontroller

The following is an example with specific 18.1.2 release

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

Avi Networks

ansible-role-avicontroller's People

Contributors

amolopcito avatar azizavi avatar chaitanyaavi avatar ericsysmin avatar gitshrikant avatar jeyanthinath avatar parimanur avatar patilshrikant786 avatar rishabh-baranwal avatar sabandi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ansible-role-avicontroller's Issues

controller containers don't restart after fresh install

When "fresh_install: true", con_disk_path, con_metrics_disk_path and con_logs_disk_path are removed and recreated. One or more of these is mounted as a bind volume inside the docker container.

If there is a pre-existing controller instance running, and I run the avicontroller role, then the bind volumes are lost as the original directories were deleted.

I imagine the controller needs restarting when fresh_install is true.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.