AVD Provisioning on CVaaS

Provisioning Workflow Demo
Petr Ankudinov
                                      Sep 2023

$ whoami

  • Petr Ankudinov github.com/ankudinov

    • Advanced Services Engineer at Arista Networks
    • Over 20 years of experience in IT with a bit of everything
    • ACE: L5, CCIE 37521
    • Passionate DC and network automation engineer
    • Daily (and nightly) VSCode user

Agenda

  • Ansible AVD collection overview
  • The demo
  • Credits and references

What is Ansible AVD?

  • AVD stands for Arista Validated Design as it was based on the EVPN Deployment Guide
  • A very successful community project used to deploy EVPN based Data Center fabrics
  • High level workflow:
    • Define abstracted group/host vars using AVD data model
    • Generate low level device specific variables (aka structured configs)
    • Parse templates, build plain text configs
    • Deliver configs to network devices using Ansible arista.eos.eos_config

Facts About CVaaS

  • CVaaS is cloud based
  • Customers are assigned to a region with disaster recovery plan relying on availability zones (AZ)
  • CVaaS backups are multi-region
  • CVaaS is maintained by a dedicated Cloud SRE team and is always up to date
  • Users authenticate to CVaaS via OAuth/SAML providers: Google, Okta, OneLogin, Microsoft Azure AD and custom SAML/OAuth providers
  • The API access for AVD orchestration, etc. is authenticated using service account tokens
  • The only traffic required is HTTPS initiated by switch to CVaaS with cert based authentication and HTTPS from AVD host to CVaaS with token based authentication
  • References:

The Demo

  • Start container as Github Codespace (or on any host with dev container supporting tool)
  • Start a simple leaf-spine topology in Containerlab
  • Build EVPN configuration with arista.avd Ansible collection
  • Wait until the lab switches will start streaming using a pre-defined token
  • Deploy configuration to CVP using arista.avd Ansible collection and pre-defined API token
  • Create change control, review and execute the change

Credits and References

This repository is based on many awesome open source repositories and some free/commercial Github features:

Tool Purpose
VS Code create this repository code
DevContainers our topic for today
Marpit Markdown slide deck framework
Github Actions build slides and containers
Github Pages publish slides
Github Packages publish containers
Github Codespaces run the demo container
Carbon code snippets
Pexels and Unsplash Excellent free stock photos resources. It's not possible to reference every author individually, but their work is highly appreciated.
excalidraw, drawio, tldraw VSCode plugins to create drawings
Containerlab Orchestration tool for container based networking labs
Arista AVD Ansible Collection Ansible collection used to build EVPN network
Ansible Automation for everyone.

Q&A

Do not add page number on this slide

Add footer starting from this slide