Skip to content

Ansible Collection Installation

Installation workflow

  • Install supported Python version 3.11-3.14.
  • Install the pyavd Python package with ansible dependencies.
    • Note: This will install the supported ansible-core version and all required Python dependencies.
  • Install arista.avd Ansible collection.

Python 3.10 end of life

Python 3.10 has reached end of life and no longer receives security updates. AVD support for Python 3.10 is deprecated and will be removed in a future release. Please upgrade to a supported Python version.

Python dependencies

The installed version of PyAVD must match the version of the arista.avd collection. Installation instructions are included under the Install Arista AVD section.

Keep Python dependencies up to date

When installing or upgrading PyAVD, update its Python dependencies to the latest compatible releases to pick up available security fixes using:

  • pip: --upgrade --upgrade-strategy eager
  • uv: --upgrade
ansible-core<2.22.0,>=2.16.0
anta>=1.10.0
aristaproto>=0.1.1
deepmerge>=1.1.0
grpclib>=0.4.8
jinja2>=3.0
netaddr>=0.7.19
pyavd==6.5.0
pyavd-utils==0.0.13
python-socks[asyncio]>=2.7.2
pyyaml>=6.0.0
requests>=2.27.0

Install Arista AVD

These instructions are for regular users to install via Ansible Galaxy. The instructions also include installation of all Python requirements for a given version. To set up a development environment, please follow the development tooling instructions. arista.avd can also be consumed using the “Universal” container. The arista.avd collection is available on the Ansible Galaxy server and can be automatically installed on your system.

Warning

If you have an ansible.cfg file in the directory where you run ansible-galaxy, it may affect the directory under which the collection and dependencies will be installed.

Warning

Depending on your operating system settings, pip might be replaced by pip3.

These commands install all Python requirements including ansible-core and then install the arista.avd Ansible collection including all required Ansible collections:

Install or upgrade to the latest version

pip install --upgrade --upgrade-strategy eager "pyavd[ansible]"
ansible-galaxy collection install arista.avd --upgrade

Install a specific version

pip install --upgrade --upgrade-strategy eager "pyavd[ansible]==6.1.0"
ansible-galaxy collection install arista.avd:==6.1.0 --upgrade

Install latest devel version from AVD GitHub

Note

When installing from devel, collection dependencies like arista.eos will be installed from Ansible Galaxy unless installed first using similar GitHub source.

pip install --force-reinstall "pyavd[ansible] @ git+https://github.com/aristanetworks/avd.git@devel#subdirectory=python-avd"
ansible-galaxy collection install git+https://github.com/aristanetworks/avd.git#/ansible_collections/arista/avd/,devel --upgrade

Note

Before running these commands, create a virtual environment if needed and activate the intended virtual environment. For example, run uv venv and then source .venv/bin/activate on macOS or Linux.

Install or upgrade to the latest version

uv pip install --upgrade "pyavd[ansible]"
ansible-galaxy collection install arista.avd --upgrade

Install a specific version

uv pip install --upgrade "pyavd[ansible]==6.1.0"
ansible-galaxy collection install arista.avd:==6.1.0 --upgrade

Install latest devel version from AVD GitHub

Note

When installing from devel, collection dependencies like arista.eos will be installed from Ansible Galaxy unless installed first using similar GitHub source. With ansible-galaxy –upgrade flag, Ansible can replace a preinstalled Git dependency with a newer compatible Galaxy release.

uv pip install --force-reinstall "pyavd[ansible] @ git+https://github.com/aristanetworks/avd.git@devel#subdirectory=python-avd"
ansible-galaxy collection install git+https://github.com/aristanetworks/avd.git#/ansible_collections/arista/avd/,devel --upgrade

Ansible configuration file

  • 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.
ansible.cfg
[defaults]
duplicate_dict_key=error

Arista EOS requirements

  • EOS 4.21.8M or later
  • Roles validated with eAPI transport -> ansible_connection: httpapi

Arista CloudVision requirements

If you leverage CloudVision deployment with AVD, the cv_deploy role is only supported on CloudVision as a Service (CVaaS) or “on-prem” CloudVision 2024.1.0 or later.

Ansible Documentation