Skip to content

Release Notes for AVD 6.x.x

Versioning

The AVD project follows Semantic Versioning. For the best user experience, we recommend working with the latest stable release. If you are upgrading from version 5.x, please see the 6.0.0 release notes.

For additional information, please see versioning.

AVD Future Behavior Opt-In

AVD future behavior settings

AVD 6.x includes opt-in settings for AVD Design and EOS Config behaviors planned as defaults in a later major release. These behaviors are kept behind explicit knobs because AVD follows Semantic Versioning and they are breaking changes, meaning the new behaviors can lead to changes in the generated EOS configurations for the same AVD inputs.

Tip

For new deployments, we recommend setting all avd_design_future and eos_config_future keys to true.

AVD Design Future

The avd_design_future settings are part of the AVD Design schema used by the eos_designs Ansible role.

Variable Type Required Default Value Restrictions Description
avd_design_future Dictionary Opt-in to future AVD behaviors which will become default behaviors in a future AVD major version.
  accept_dhcp_default_route_for_mgmt_ip_dhcp Boolean False Available from AVD 6.2.0.
Configure management interface to accept DHCP default route when the management IP is set to ‘dhcp’.
  configure_inband_mgmt_ipv6_vrf Boolean False Available from AVD 6.2.0.
Configure inband_mgmt_vrf for IPv6 inband management.
  consistent_uplink_vlans Boolean False Available from AVD 6.2.0.
Always configure Port-Channel uplinks with consistent ‘switchport trunk allowed’ on both ends
and on all ‘uplink_switches’ even when available VLANs differ between the ‘uplink_switches’.
  fix_radius_server_group_tls Boolean False Available from AVD 6.2.0.
Fix to configure TLS on RADIUS server group members to match their global RADIUS server configurations.
  only_configure_ipv6_inband_mgmt_prefix_list_when_used Boolean False Available from AVD 6.2.0.
Configure IPv6-PL-L2LEAF-INBAND-MGMT prefix list only when it is needed.
  only_configure_mlag_vrfs_peer_group_when_used Boolean False Available from AVD 6.2.0.
Configure the mlag_ipv4_vrfs_peer BGP peer group only when needed.
  raise_for_port_channels_without_members Boolean False Available from AVD 6.2.0.
Raise an error if an L3 Port-Channel is configured without any member interfaces.
  raise_for_underlay_router_with_uplink_type_port_channel Boolean False Available from AVD 6.2.0.
Raise an error if a node has both ‘underlay_router: true’ and ‘uplink_type: port-channel’ set,
since this combination is not supported.
  remove_redundant_ipv4_unicast_for_peer_groups Boolean False Available from AVD 6.1.0.
Deactivate the IPv4 unicast Address Family for BGP Peer Groups only when IPv4 is activated by default instead of always deactivating it.
# Opt-in to future AVD behaviors which will become default behaviors in a future AVD major version.
avd_design_future:

  # Available from AVD 6.2.0.
  # Configure management interface to accept DHCP default route when the management IP is set to 'dhcp'.
  accept_dhcp_default_route_for_mgmt_ip_dhcp: <bool; default=False>

  # Available from AVD 6.2.0.
  # Configure `inband_mgmt_vrf` for IPv6 inband management.
  configure_inband_mgmt_ipv6_vrf: <bool; default=False>

  # Available from AVD 6.2.0.
  # Always configure Port-Channel uplinks with consistent 'switchport trunk allowed' on both ends
  # and on all 'uplink_switches' even when available VLANs differ between the 'uplink_switches'.
  consistent_uplink_vlans: <bool; default=False>

  # Available from AVD 6.2.0.
  # Fix to configure TLS on RADIUS server group members to match their global RADIUS server configurations.
  fix_radius_server_group_tls: <bool; default=False>

  # Available from AVD 6.2.0.
  # Configure `IPv6-PL-L2LEAF-INBAND-MGMT` prefix list only when it is needed.
  only_configure_ipv6_inband_mgmt_prefix_list_when_used: <bool; default=False>

  # Available from AVD 6.2.0.
  # Configure the `mlag_ipv4_vrfs_peer` BGP peer group only when needed.
  only_configure_mlag_vrfs_peer_group_when_used: <bool; default=False>

  # Available from AVD 6.2.0.
  # Raise an error if an L3 Port-Channel is configured without any member interfaces.
  raise_for_port_channels_without_members: <bool; default=False>

  # Available from AVD 6.2.0.
  # Raise an error if a node has both 'underlay_router: true' and 'uplink_type: port-channel' set,
  # since this combination is not supported.
  raise_for_underlay_router_with_uplink_type_port_channel: <bool; default=False>

  # Available from AVD 6.1.0.
  # Deactivate the IPv4 unicast Address Family for BGP Peer Groups only when IPv4 is activated by default instead of always deactivating it.
  remove_redundant_ipv4_unicast_for_peer_groups: <bool; default=False>

EOS Config Future

The eos_config_future settings are part of the EOS Config schema used by the eos_cli_config_gen Ansible role.

Variable Type Required Default Value Restrictions Description
eos_config_future Dictionary Opt-in to future EOS CLI behaviors which will become default behaviors in a future AVD major version.
  always_render_ip_routing_separator Boolean False Available from AVD 6.2.0.
Always render a ‘!’ before the ‘(no) ip routing’ command section.
Without this the ‘!’ is missing when only configuring routing for VRFs.
  new_ip_radius_cli_order Boolean False Available from AVD 6.1.0.
When true, renders the new EOS CLI order using ip_radius, sorted by VRF name.
When false (default), renders the legacy CLI order using ip_radius_source_interfaces, sorted by source interface name.
  new_ip_tacacs_cli_order Boolean False Available from AVD 6.1.0.
When true, renders the new EOS CLI order using ip_tacacs, sorted by VRF name.
When false (default), renders the legacy CLI order using ip_tacacs_source_interfaces, sorted by source interface name.
  only_render_mpls_rsvp_with_settings Boolean False Available from AVD 6.2.0.
When true, only renders the mpls rsvp CLI block when at least one mpls.rsvp.* setting is defined.
When false (default), renders mpls rsvp whenever mpls.rsvp is defined, even if no sub-settings are set.
# Opt-in to future EOS CLI behaviors which will become default behaviors in a future AVD major version.
eos_config_future:

  # Available from AVD 6.2.0.
  # Always render a '!' before the '(no) ip routing' command section.
  # Without this the '!' is missing when only configuring routing for VRFs.
  always_render_ip_routing_separator: <bool; default=False>

  # Available from AVD 6.1.0.
  # When `true`, renders the new EOS CLI order using `ip_radius`, sorted by VRF name.
  # When `false` (default), renders the legacy CLI order using `ip_radius_source_interfaces`, sorted by source interface name.
  new_ip_radius_cli_order: <bool; default=False>

  # Available from AVD 6.1.0.
  # When `true`, renders the new EOS CLI order using `ip_tacacs`, sorted by VRF name.
  # When `false` (default), renders the legacy CLI order using `ip_tacacs_source_interfaces`, sorted by source interface name.
  new_ip_tacacs_cli_order: <bool; default=False>

  # Available from AVD 6.2.0.
  # When `true`, only renders the `mpls rsvp` CLI block when at least one `mpls.rsvp.*` setting is defined.
  # When `false` (default), renders `mpls rsvp` whenever `mpls.rsvp` is defined, even if no sub-settings are set.
  only_render_mpls_rsvp_with_settings: <bool; default=False>

Release 6.2.0

Changes to requirements

  • Python requirements:
    • PyAVD now supports ansible-core from 2.16.0 to 2.21.x. The latest version can be installed with pip install "ansible-core<2.22" --upgrade.

Breaking Changes

Fixed issues in eos_cli_config_gen

Fixed issues in eos_designs

Fixed issues in both eos_designs and eos_cli_config_gen

Fixed issues in anta_runner

Other Fixed issues

Documentation

New features and enhancements in eos_cli_config_gen

New features and enhancements in eos_designs

New features and enhancements in anta_runner

Other new features and enhancements

PyAVD Changes

Other Changes

Release 6.1.0

Fixed issues in eos_cli_config_gen

Fixed issues in eos_designs

Other Fixed issues

Documentation

New features and enhancements in eos_cli_config_gen

New features and enhancements in eos_designs

New features and enhancement in both eos_designs and eos_cli_config_gen

Other new features and enhancements

PyAVD Changes

Other Changes

Release 6.0.1

Changes to requirements

  • Python requirements:
    • PyAVD now supports grpclib>=0.4.8 instead of the pinned grpclib==0.4.9.

Release 6.0.0

Changes to requirements

  • Python requirements:
    • PyAVD no longer requires the cvprac, treelib and jsonschema libraries.
    • PyAVD now requires the anta Python library as a core dependency.
    • PyAVD now requires the pyavd-utils Python library. It will be installed automatically when upgrading pyavd.
    • PyAVD now requires the cryptography Python library to be version 43.0.0 or higher. It will be installed automatically when upgrading pyavd.
    • PyAVD now requires the python-socks[asyncio] Python library to be version 2.7.2 or higher. It will be installed automatically when upgrading pyavd.
    • PyAVD now supports ansible-core from 2.16.0 to 2.20.x. The latest version can be installed with pip install "ansible-core<2.21" --upgrade.

      Note

      ansible-core version 2.19 and later contains many changes to how templating is done. You may see errors around undefined variables, and these must be resolved before running AVD. Previously such errors were silently ignored.

  • Ansible collection requirements:
    • arista.avd Ansible collection no longer requires the arista.cvp and ansible.utils collections.

Removal of Ansible components

The following Ansible components have been removed from the arista.avd Ansible collection in version 6.0.0.

Component type Name Replacement
Action plugin/Module arista.avd.configlet_build_config The internal arista.avd.configlet_build_config module is no longer used by AVD. The plugin is released as open source, so it can be copied and reused according to the license and copyright.
Action plugin/Module arista.avd.inventory_to_container The internal arista.avd.inventory_to_container module is no longer used by AVD. The plugin is released as open source, so it can be copied and reused according to the license and copyright.
Role arista.avd.dhcp_provisioner The role is not compatible with modern DHCP servers and should not be used for production. The arista.avd.dhcp_provisioner role is released as open source, so it can be copied and reused according to the license and copyright.
Role arista.avd.eos_config_deploy_cvp Migrate to arista.avd.cv_deploy. See the detailed porting guide for instructions.
Role arista.avd.cvp_configlet_upload Migrate to arista.avd.cv_deploy. See the detailed porting guide for instructions.
Role arista.avd.eos_validate_state Migrate to arista.avd.anta_runner. See the how-to guide for instructions.

Schema naming changes

In AVD 6.0.0, the data model schemas have been renamed to better reflect their purpose and improve clarity in documentation and error messages:

Previous Schema Name New Schema Name Ansible Role using the schema PyAVD function using the schema
eos_designs AVD Design arista.avd.eos_designs (unchanged) validate_inputs
eos_cli_config_gen EOS Config arista.avd.eos_cli_config_gen (unchanged) validate_structured_config

Note

No changes to playbooks or inventory are required. You may see the new schema names in:

  • Documentation references
  • Schema validation error messages
  • Warning messages
  • Release notes and porting guide

The new naming convention provides clearer distinction between:

  • AVD Design (eos_designs role): High-level fabric design and topology abstraction.
  • EOS Config (eos_cli_config_gen role): Low-level EOS configuration.

Breaking Changes

Breaking changes may require modifications to the inventory or playbook. See the Porting guide for AVD 6.x.x for details.

Fixed issues in eos_cli_config_gen

Fixed issues in eos_designs

Fixed issues in anta_runner

Other Fixed issues

Documentation

New features and enhancements in eos_cli_config_gen

New features and enhancements in eos_designs

New features and enhancements in both eos_designs and eos_cli_config_gen

New features and enhancements in anta_runner

Other new features and enhancements

PyAVD Changes

Other Changes