Ansible Collection Installation¶
Installation workflow¶
- Install supported Python version 3.11-3.14.
- The Python version determines the supported
ansible-coreversion. Consult the ansible-core support matrix for more information.
- The Python version determines the supported
- Install the pyavd Python package with
ansibledependencies.- 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.
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¶
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.
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.
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.