Release Notes for AVD 5.x.x¶
- Documentation for AVD version
5.x.xavailable here
Release 5.0.0¶
Changes to requirements¶
- AVD v.5.0.0 requires Python version 3.10 or newer.
- AVD now requires the
cvpracPython library to be version 1.4.0 or higher.
The latest version can be installed withpip install "cvprac>=1.4.0" --upgrade.
Removal of Ansible plugins¶
The following ansible plugins have been removed from the arista.avd Ansible collection in v5.0.0.
Filters:
arista.avd.convert_dictsarista.avd.hash_passphrasearista.avd.generate_esiarista.avd.generate_lacp_idarista.avd.generate_route_target
Action plugins / Modules:
arista.avd.deploy_to_cvarista.avd.batch_templatearista.avd.validate_and_templatearista.avd.yaml_templates_to_factsarista.avd._emit_warning
See the porting guide for details.
Data model changes from “dict-of-dicts” to “list-of-dicts”¶
In AVD 4.0.0 and across both eos_designs and eos_cli_config_gen, all “dict-of-dicts” data models with user-defined keys were changed to “list-of-dicts”.
In AVD 4.x inputs were auto-converted to the new data models.
As of AVD 5.0.0 the automatic conversion from dict-of-dicts has been removed, so it is required to update the input data to the new data models.
The avd_data_conversion_mode key has also been removed.
See the porting guide for details.
All eos_designs and eos_cli_config_gen variables are always validated by schemas¶
In AVD 5.0.0, all eos_designs and eos_cli_config_gen keys are validated by schemas and execution will stop for any violations.
If additional custom keys are desired, a key starting with an underscore _, will be ignored.
Danger
The input variable avd_data_validation_mode now has a default value of error, and while it can be set to warning, this is highly discouraged.
All AVD code relies on the validation to ensure valid data, so the code assumes that the data is valid.
If the validation mode is set to warning, execution will continue with invalid data, which can lead to hard-to-read errors or incorrect behavior.
Breaking or behavioral changes in eos_cli_config_gen¶
Breaking changes may require modifications to the inventory or playbook. See the Porting guide for AVD 5.x.x for details.
TODO: add level4 sections for breaking changes outlining the change and referring to porting guide for migration.
No auto-conversion of old data model for router_bgp.redistribute_routes and router_bgp.vrfs[].redistribute_routes¶
The data models for router_bgp.redistribute_routes and router_bgp.vrfs[].redistribute_routes previously supported either a list of strings or a dict-of-dicts.
In 4.0.0 this was changed to a list-of-dicts with automatic conversion from any of the previous models into the new model.
As of AVD 5.0.0 the automatic conversion from both of the previous models has been removed, so it is required to update the input data to the new data models.
See the porting guide for details.
monitor_sessions no longer requires both monitor_sessions.sources and monitor_sessions.destinations to be defined for generating configuration¶
See the porting_guide for details.
router_isis.address_family_ipv4/6.enabled is now Required to generate the configuration and documentation for router_isis address-families¶
See the porting guide for details.
ip_security.sa_policies[].esp.integrity and .encryption “null” option has been replaced with “disabled”¶
See the porting guide for details.
router_ospf.redistribute.bgp/connected/static.enabled is required¶
See the porting guide for details.
router_traffic_engineering.enabled is required¶
See the porting guide for details.
Removal of schema in JSON format¶
The eos_cli_config_gen.jsonschema.json is no longer generated. This schema was not being used and had never been complete.
Removal of default type switched from ethernet interfaces and port-channel interfaces¶
Starting AVD 5.0.0, the default value for type in ethernet_interfaces and port_channel_interfaces is no longer supported. The type key must now be explicitly defined in the input variables if it is needed in the configuration and documentation.
Removal of type key dependency for rendering ethernet/port-channel interfaces configuration and documentation¶
See the porting guide for details.
Breaking or behavioral changes in eos_designs¶
Breaking changes may require modifications to the inventory or playbook. See the Porting guide for AVD 5.x.x for details.
TODO: add level4 sections for breaking changes outlining the change and referring to porting guide for migration.
Structured Configuration merged from SVI profiles is now deep merged instead of replaced¶
When merging structured_config from SVI profiles and parent profiles, AVD versions below 5.0.0 replaced the entire structured_config object with the most specific definition of structured_config.
With AVD version 5.0.0 structured_config is now deep-merged, same as for other profiles in AVD. This allows the user to contribute different parts of the structured_config from profiles or parent profiles.
See the porting guide for details.
custom_structured_configuration_prefix no longer accepts a string¶
Starting AVD 5.0.0, custom_structured_configuration_prefix only accepts a list of strings.
Previously it also accepted a string, which was autoconverted to a list.
See the porting guide for details.
default_overlay_address_families and overlay_address_families no longer accept a string¶
Starting AVD 5.0.0, node_type_keys[].default_overlay_address_families and <node_type_key>.defaults.overlay_address_families only accept a list of strings.
Previously they also accepted a string, which was autoconverted to a list.
See the porting guide for details.
Shutdown interfaces and BGP towards undeployed peers by default¶
Starting AVD 5.0.0, the default value of shutdown_bgp_towards_undeployed_peers and shutdown_interfaces_towards_undeployed_peers is true.
See the porting guide for details.
mpls_route_servers no longer accepts a string¶
Starting AVD 5.0.0, <node_type_key>.defaults.mpls_route_servers only accepts a list of strings.
Previously it also accepted a string, which was autoconverted to a list.
See the porting guide for details.
Default MTU value changed from 9214 to 9194 for Dps1, WAN HA and WAN p2p uplink interfaces¶
Starting AVD 5.0.0, the default MTU for Dps1, WAN HA and WAN p2p uplink interfaces changed from 9214 to 9194.
See the porting guide for details.
Default value for OSPF area has been updated to “0.0.0.0”¶
See the porting guide for details.
Only render IGMP snooping querier version and address when enabled¶
Starting from AVD 5.0.0, the ip igmp snooping vlan command for version and address is rendered only when the IGMP snooping querier is enabled.
See the porting guide for details.
ipv6_virtual_router_addresses are now configured if ipv6_enable is true on SVIs¶
For SVIs with ipv6_virtual_router_addresses set, AVD versions below 5.0.0 only rendered the configuration if ipv6_address
was also set on the SVI.
With AVD version 5.0.0 ipv6_virtual_router_addresses are rendered in the configuration if either ipv6_address or ipv6_enable: true is set.
ipv6_address_virtuals are now only configured on SVIs if ipv6_virtual_router_addresses are not set¶
AVD versions below 5.0.0 had a bug where ipv6_address_virtuals were rendered in the configuration even if ipv6_virtual_router_addresses were
set. Instead ipv6_address_virtuals were removed if the IPv4 ip_virtual_router_addresses were set.
With AVD version 5.0.0 ipv6_address_virtuals are only rendered in the configuration when ipv6_virtual_router_addresses are not set for a specific node.
ip_virtual_router_addresses is no longer used to decide whether ipv6_address_virtuals are configured.
Removal of schema in JSON format¶
The eos_designs.jsonschema.json is no longer generated. This schema was not being used and had never been complete.
Removed redistribute igmp from BGP vlan config belonging to a VRF with evpn multicast¶
Having redistribute igmp configured for a BGP SVIs with both L2 and L3 EVPN Multicast enabled will take up additional control-plane and data-plane resources.
Starting AVD 5.0.0, by default redistribute igmp will only get configured when evpn_l2_multicast is True and evpn_l3_multicast for the VRF is False.
See the Porting guide for AVD 5.x.x
vrf_id will be used instead of vrf_vni to get the ip address of evpn underlay multicast group¶
Starting AVD 5.0.0, vrf_id is used instead of vrf_vni in the algorithm to set the offset for IP address of EVPN underlay multicast group when evpn_l3_multicast is enabled.
See the Porting guide for AVD 5.x.x
AvdInterfaceDescriptions breaking changes¶
The class AvdInterfaceDescriptions was moved to pyavd and heavily modified.
Users who have subclassed it for custom descriptions will have to adjust their code.
The updated version gives more flexibility to customizing interface descriptions.
See the Porting guide for AVD 5.x.x
Reference to a non-existing profile now raise an error¶
With AVD version 5.0.0, if any referenced profile or parent profile is not defined, AVD will now raise an error. This helps catching typos in the input variables.
This applies to:
l3_interface_profilesport_profilessvi_profilesptp_profiles
wan_mode: autovpn renamed wan_mode: legacy-autovpn¶
With AVD version 5.0.0 the valid values for wan_mode key are now legacy-autovpn | cv-pathfinder.
See the porting guide for details.
Default encapsulation for WAN EVPN iBGP peerings changed to path-selection¶
With AVD version 5.0.0 the default encapsulation used for EVPN iBGP peering between WAN routers is path-selection. Previously it was vxlan.
Danger
The path-selection encapsulation is only supported on EOS above 4.33.0F.
It is critical that all WAN devices use the same encapsulation. For
existing deployments it is recommended to set the encapsulation back to
vxlan until a migration can be done across the entire WAN network.
Contact your Arista account team for guidance on migration.
See the porting guide for details.
Preview WAN HA Direct Link now uses Port-Channel by default¶
TODO: Keep Preview changes at the end as we warn users that Preview mean changes
For WAN direct HA, AVD will now configure a port-channel by default. This feature was introduced recently in EOS and may not be supported on your version.
See the porting guide for details.
Prevent redistributing the MLAG peer link subnets into BGP for all VRFs by default¶
Starting AVD 5.0.0, default value of redistribute_mlag_ibgp_peering_vrfs changed to false.
See the porting guide
Other breaking or behavioral changes¶
Breaking changes may require modifications to the inventory or playbook. See the Porting guide for AVD 5.x.x for details.
TODO: add level4 sections for breaking changes outlining the change and referring to porting guide for migration.
Breaking or behavioral changes in eos_validate_state¶
Starting AVD 5.0.0, eos_validate_state uses ANTA as backend, which will change the default behavior (same as setting use_anta: true in the latest AVD 4.x.x versions).
If you have not been using use_anta: true in latest versions of AVD 4.x.x, please go through the following sections for details on the changes.
Please report any issues on the GitHub discussions board.
Breaking changes may require modifications to the inventory, input variables or playbooks. See the Porting guide for AVD 5.x.x for details.
Loose mode is the only supported mode¶
In the previous implementation, loose mode was used by default to avoid stopping the playbook and hence the tests when they were run task by task in Ansible. It was possible to turn loose mode off with a variable that would make the playbook stop at the first failing tasks for whatever reason on each host.
Loose mode is now the default and all the tests are always run and the errors are all present in the final report.
- No porting guide entry.
Input for hardware tests have been updated¶
The inputs for the hardware test have changed. See the porting guide for details.
Filtering tests using Ansible tags support was removed¶
Instead use the skip_tests mechanism. See the porting guide for details.
Changes to CSV and Markdown reports¶
- Hardware tests are now collapsed.
- Sorting of test results is now done per device as opposed to per category.
- Test categories, descriptions and inputs have been improved to follow ANTA.
- CSV report headers updated from
test_id,node,test_category,test_description,test,result,failure_reasontoid,dut,categories,test,description,inputs,result,messages - Tests skipped by ANTA will be marked as
SKIPPEDin the final reports.
Undeployed devices¶
- All tests will be removed from the catalog for a device flagged as undeployed using the host level variable
is_deployed: false. Additionally, all tests take into account theis_deployedvariable value and remove tests accordingly.
Warning
Tests can also be automatically removed from the catalogs depending on the structured configuration of the devices. ANTA is therefore not aware of these tests and they will not appear in the final report. For example, the AvdTestMLAG tests will not be present in the test catalog of a device that does not have an MLAG configuration in its structured configuration.
BGP test change¶
- BGP tests will only run if
service_routing_protocols_modelis set tomulti-agentin the structured configuration file.
Note
Starting from version 4.30.1F, service_routing_protocols_model is set to multi-agent by default on EOS devices.
Inband management reachability test change¶
- Inband management reachability test has been refactored to support AVD inband management data model.
Deprecation of design.type¶
The variable design.type is used to select between different variants of default values for node_type_keys.
In AVD 5.0.0 the default values of node_type_keys for the default design.type l3ls-evpn has been updated to combine all the default node type from all designs.
This means it is no longer needed to set the design.type.
The default node_type_keys for the default design l3ls-evpn has been extended with the following node types:
l2spinecopied from thespinetype of thel2lsdesign.l3spinecopied from thel2lsdesign.rr,pandpecopied from themplsdesign.
The leaf type used by the l2ls design is already covered by the l2leaf type in the l3ls-evpn design.
To migrate an existing inventory using the l2ls design, the following changes are needed: