Skip to content

mpergament/ansible-cvp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub GitHub commit activity GitHub last commit

Ansible Modules for Arista CloudVision Platform

About

Arista Networks supports Ansible for managing devices running the EOS operating system through CloudVision platform (CVP). This roles includes a set of ansible modules that perform specific configuration tasks on CVP server. These tasks include: collecting facts, managing configlets, containers, build provisionning topology and running tasks. For installation, you can refer to specific section of this readme.

Modules overview

This repository provides content for Ansible's collection arista.cvp with following content:

This collection supports CVP version 2018.2.x and 2019.1.x

Important notes.

This repository is built based on new collections system introduced by ansible starting version 2.9.

It means that it is required to run at least ansible 2.9.0rc4 to be able to use this collection.

Installation

Dependencies

This collection requires the following to be installed on the Ansible control machine:

  • python 2.7
  • ansible >= 2.9.0rc4
  • requests >= 2.22.0
  • fuzzywuzzy running 0.17.0 or later
  • treelib version 1.5.5 or later

Git installation for testing

You can git clone this repository and use examples folder for testing. This folder contains a set of pre-configured playbook and ansible configuration:

$ git clone https://github.com/aristanetworks/ansible-cvp.git
$ cd ansible-cvp/examples
$ make build

It is highly recommended to use a python virtual-environment to not alter your production environment.

Git installation

You can git clone this repository and use examples folder for testing. This folder contains a set of pre-configured playbook and ansible configuration:

Clone repository

$ git clone https://github.com/aristanetworks/ansible-cvp.git
$ cd ansible-cvp

Build and install collection

$ ansible-galaxy collection build --force arista/cvp
$ ansible-galaxy collection install arista.cvp.*.tar.gz

Example playbook

This example outlines how to use arista.cvp to create a containers topology on Arista CloudVision.

Some playbook examples are provided in examples folder with information about how to built a test environment.

Below is a very basic example to build a container tology on a CloudVision platform assuming you have 3 veos named veos0{1,3} and a configlet named alias

---
- name: Playbook to demonstrate cv_container module.
  hosts: cvp
  connection: local
  gather_facts: no
  collections:
    - arista.cvp
  vars:
    containers_provision:
        Fabric:
          parent_container: Tenant
        Spines:
          parent_container: Fabric
        Leaves:
          parent_container: Fabric
          configlets:
              - alias
          devices:
            - veos03
        MLAG01:
          parent_container: Leaves
          devices:
            - veos01
            - veos02
  tasks:
    - name: "Gather CVP facts from {{inventory_hostname}}"
      cv_facts:
      register: cvp_facts

    - name: "Build Container topology on {{inventory_hostname}}"
      cv_container:
        topology: '{{containers_provision}}'
        cvp_facts: '{{cvp_facts.ansible_facts}}'
        save_topology: true

As modules of this collection are based on HTTPAPI connection plugin, authentication elements shall be declared using this plugin mechanism and are automatically shared with arista.cvp.cv_* modules.

[development]
cvp_foster  ansible_host= 10.90.224.122 ansible_httpapi_host=10.90.224.122

[development:vars]
ansible_connection=httpapi
ansible_httpapi_use_ssl=True
ansible_httpapi_validate_certs=False
ansible_user=cvpadmin
ansible_password=ansible
ansible_network_os=eos
ansible_httpapi_port=443

Resources

License

Project is published under Apache License.

Ask a question

Support for this arista.cvp collection is provided by the community directly in this repository. Easiest way to get support is to open an issue.

Contributing

Contributing pull requests are gladly welcomed for this repository. If you are planning a big change, please start a discussion first to make sure we’ll be able to merge it.

You can also open an issue to report any problem or to submit enhancement.

About

Ansible modules for Arista CloudVision

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%