All Projects → aristanetworks → ansible-avd

aristanetworks / ansible-avd

Licence: Apache-2.0 license
Ansible Arista Validated Design

Programming Languages

Jinja
831 projects
python
139335 projects - #7 most used programming language
Makefile
30231 projects
CSS
56736 projects
HTML
75241 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to ansible-avd

ansible-avd-cloudvision-demo
A demo to run Arista Validated Design with CloudVision deployment - From Powerup to EVPN Fabric
Stars: ✭ 21 (-84.33%)
Mutual labels:  arista, cloudvision, cvp
robotframework-aristalibrary
Robot Framework library for Arista EOS
Stars: ✭ 14 (-89.55%)
Mutual labels:  arista, eos
openmgmt
Documentation and examples for using open network management tools such as OpenConfig
Stars: ✭ 23 (-82.84%)
Mutual labels:  arista, eos
datasets
The primary repository for all of the CORGIS Datasets
Stars: ✭ 19 (-85.82%)
Mutual labels:  jinja2
MugglePay
Make Crypto Payment Easy 让数字货币支付更简单
Stars: ✭ 176 (+31.34%)
Mutual labels:  eos
ansible-role-dns
Install and configure dns on your system.
Stars: ✭ 39 (-70.9%)
Mutual labels:  playbook
eosfilestore
📜🔗 Immutable, censorship resistant, cheap, file storage on EOS blockchain
Stars: ✭ 45 (-66.42%)
Mutual labels:  eos
Scatter-Demos
A set of integration demos using eosjs and Scatter
Stars: ✭ 80 (-40.3%)
Mutual labels:  eos
eos21
Teleport your ERC20 tokens to EOS.
Stars: ✭ 42 (-68.66%)
Mutual labels:  eos
web-7.0
The freenode website, home to our blog, knowledge base and policies
Stars: ✭ 112 (-16.42%)
Mutual labels:  jinja2
Flask-QRcode
A concise Flask extension to easily render QR codes on Jinja2 templates using python-qrcode.
Stars: ✭ 89 (-33.58%)
Mutual labels:  jinja2
ansible-taskrunner
Ansible Taskrunner - ansible-playbook wrapper with YAML-abstracted python click cli options!
Stars: ✭ 14 (-89.55%)
Mutual labels:  playbook
elasticsearch plugin
Nodeos plugin for archiving blockchain data into Elasticsearch.
Stars: ✭ 57 (-57.46%)
Mutual labels:  eos
action-ansible-playbook
⚙️ A GitHub Action for running Ansible playbooks
Stars: ✭ 133 (-0.75%)
Mutual labels:  playbook
avd-cEOS-Lab
A repository with playbooks to implement basic EVPN/VXLAN Fabric using Arista AVD and cEOS-Lab
Stars: ✭ 36 (-73.13%)
Mutual labels:  avd
roundup
un-official mirror of http://hg.code.sf.net/p/roundup/code -- used for CI. Please visit https://issues.roundup-tracker.org for finding starter issues or log new issues.
Stars: ✭ 20 (-85.07%)
Mutual labels:  jinja2
gomiko
multi-vendor networking SDK.
Stars: ✭ 46 (-65.67%)
Mutual labels:  arista
go-dc-wallet
交易所收提币功能
Stars: ✭ 76 (-43.28%)
Mutual labels:  eos
openvpn
Build your own private VPN server. OpenVPN, Scramblesuit and DNS up in less then 5 minutes
Stars: ✭ 78 (-41.79%)
Mutual labels:  playbook
jinja2-time
📆 Jinja2 Extension for Dates and Times
Stars: ✭ 64 (-52.24%)
Mutual labels:  jinja2

Ansible Collection For Arista Validated Designs - arista.avd

Arista AVD collection version License

Table of Contents:

About

Arista Networks supports Ansible for managing devices running the EOS operating system natively through eapi or CloudVision Portal (CVP). This collection includes a set of ansible roles and modules to help kick-start your automation with Arista. The various roles and templates provided are designed to be customized and extended to your needs!

Arista AVD Overview

Reference Designs

The arista.avd collection provides abstracted data models and framework to build, document, deploy and validate the following designs:

L3LS EVPN:

Underlay Overlay Topology
eBGP eBGP Multi-Stage + L2 Leafs
ISIS eBGP Multi-Stage + L2 Leafs
ISIS iBGP Multi-Stage + L2 Leafs
OSPF eBGP Multi-Stage + L2 Leafs
OSPF iBGP Multi-Stage + L2 Leafs
RFC5549(eBGP) eBGP Multi-Stage + L2 Leafs

Arista AVD Overview

Project Documentation

The documentation how to leverage ansible-avd collection is located here:

Installation

Collection Installation

Ansible galaxy hosts all stable versions of this collection. Installation from ansible-galaxy is the most convenient approach for consuming arista.avd content. Please follow this guide.

Requirements

To install requirements please follow this guide.

Ansible Configuration INI file:

  • enable jinja2 extensions: loop controls and do
  • By default, Ansible will issue a warning when a duplicate dict key is encountered in YAML. We recommend to change to error instead and stop playbook execution when a duplicate key is detected.
jinja2_extensions=jinja2.ext.loopcontrols,jinja2.ext.do
duplicate_dict_key=error

NOTE: When using ansible-cvp modules, the user who is executing the ansible-playbook has to have access to both CVP and the EOS CLI.

Example Playbooks

An example playbook to deploy VXLAN/EVPN Fabric via CloudVision:

Figure 1: Example Playbook CloudVision Deployment

- hosts: DC1_FABRIC
  tasks:

    - name: generate intended variables
      import_role:
         name: arista.avd.eos_designs

    - name: generate device intended config and documentation
      import_role:
         name: arista.avd.eos_cli_config_gen

- hosts: CVP
  tasks:

  - name: upload cvp configlets
    import_role:
        name: arista.avd.cvp_configlet_upload
    vars:
      configlet_directory: 'configlets/'
      file_extension: 'txt'
      configlets_cvp_prefix: 'DC1-AVD'

    - name: deploy configuration via CVP
      import_role:
         name: arista.avd.eos_config_deploy_cvp

Execute eos_state_validation playbook once change control has been approved and deployed to devices in CVP. Note: To run this playbook, ansible_host must be configured in your inventory for every EOS device. eAPI access must be configured and allowed in your networks.

- hosts: DC1_FABRIC

  tasks:

    - name: audit fabric state using EOS eAPI connection
      import_role:
         name: arista.avd.eos_validate_state

An example playbook to deploy VXLAN/EVPN Fabric via eAPI:

Figure 2: Example Playbook CloudVision Deployment

- hosts: DC1_FABRIC

  tasks:

    - name: generate intended variables
      import_role:
         name: arista.avd.eos_designs

    - name: generate device intended config and documentation
      import_role:
         name: arista.avd.eos_cli_config_gen

    - name: deploy configuration via eAPI
      import_role:
         name: arista.avd.eos_config_deploy_eapi

    - name: audit fabric state using EOS eAPI connection
      import_role:
         name: arista.avd.eos_validate_state

Examples

Full examples with variables and outputs, are located here:

Arista NetDevOps Examples

Additional Resources

Ask a question

Support for this arista.avd 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.

Branching Model

  • The devel branch corresponds to the release actively under development.
  • The releases/x.x.x branches correspond to stable releases.
  • Fork repository and create a branch based on devel to set up a dev environment if you want to open a PR.
  • See the ansible-avd release for information about active branches.

License

Project is published under Apache 2.0 License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].