Release Notes for Ansible AVD 4.x.x¶
- Documentation for AVD version
4.x.x
available here
Release 4.1.0¶
Fixed issues in eos_designs¶
- Fix(eos_designs) - Schema validation for connected endpoints not executed by @carlbuchmann in https://github.com/aristanetworks/ansible-avd/pull/2984
- Fix(eos_designs) - Sort internal objects for consistent output by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2988
Other Fixed issues¶
- Fix(cvp_configlet_upload) - Add requirements checks by @carlbuchmann in https://github.com/aristanetworks/ansible-avd/pull/2990
New features and enhancements in eos_cli_config_gen¶
- Feat(eos_cli_config_gen) - Add comments to queue by @chetryan in https://github.com/aristanetworks/ansible-avd/pull/2864
- Feat(eos_cli_config_gen) - Add OSPF default_information_originate options by @gusmb in https://github.com/aristanetworks/ansible-avd/pull/2896
- Feat(eos_cli_config_gen) - Add trust and chain certificate by @tgodaA in https://github.com/aristanetworks/ansible-avd/pull/2804
New features and enhancements in eos_designs¶
- Feat(eos_designs) - Add support for POE settings under connected endpoints by @jrecchia1029 in https://github.com/aristanetworks/ansible-avd/pull/2975
- Feat(eos_designs) - Enhance RD/RT assignments options by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2893
- Feat(eos_designs) - Compact MLAG allocations #2903 by @hamptonmoore in https://github.com/aristanetworks/ansible-avd/pull/2946
- Feat(eos_designs) - Make BFD configurable under bgp_peer_groups by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2890
- Feat(eos_designs) - Support setting “ptp.auto_clock_identity: false” as group/hostvar by @nielsjlarsen in https://github.com/aristanetworks/ansible-avd/pull/2815
- Feat(eos_designs) - Support for underlay_multicast RPs and Anycast-RP by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2846
Other new features and enhancements¶
- Feat: pyavd alpha by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2989
Other Changes¶
- Refactor(eos_cli_config_gen) - Minor adjustments to prepare for pyavd by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2986
Release 4.0.0¶
Changes to requirements¶
- AVD now requires ansible-core from 2.12.6 to 2.14.x excluding 2.13.0
Note
Excluded version 2.13.0 has an issue in ansible-core
, which is fixed in 2.13.1. Plugin loader will now load config data for plugin by name instead of by file to avoid issues with the same file being loaded under different names (Fully-Qualified-Collection-Name + short-name).
If Ansible is installed using pip, a supported version can be installed with pip3 install "ansible-core>=2.12.6,<2.15.0,!=2.13.0"
.
- The
arista.avd
collection no longer depends directly onansible.netcommon
.ansible.netcommon
is still a depedency ofarista.eos
andarista.cvp
, which are both dependencies ofarista.avd
.
- AVD now requires the minumum versions of the following Ansible collections:
- arista.cvp version 3.6.1 or later.
- arista.eos version 6.0.1 or later.
- ansible.utils version 2.10.3 or later.
- AVD now requires
cvprac
python library to be version 1.3.1 or higher.
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 have been changed to “list-of-dicts”.
As an example ethernet_interfaces
has been changed from:
to:
ethernet_interfaces:
- name: Ethernet1: # <-- "name" here is called the "primary_key" which must have a unique value across all list elements
<...>
The old data models are still supported, but support will be removed in AVD 5.0.0.
In AVD 4.0.0, inputs will be auto-converted as part of the new built-in schema-based type conversion, but the variable files will not be changed.
See details on how to migrate to the new data models in the Porting guide for AVD 4.x.x.
All eos_designs and eos_cli_config_gen variables are validated by schemas¶
In AVD 4.0.0, all eos_designs and eos_cli_config_gen keys are validated by schemas.
If additional custom keys are desired, a key starting with an underscore _
, will be ignored.
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 4.x.x for details.
Non port-channel related config is no longer ignored on port-channel member ethernet_interfaces¶
The change has been incorporated into eos_designs
so action is only required when defining new interfaces
with structured_config
, custom_structured_configuration_
or when using eos_cli_config_gen
directly.
With AVD 4.0.0 port-channel member interfaces defined under ethernet_interfaces
will no longer ignore the
type
setting which defaults to switched
. Other switchport or IP related features are also no longer ignored.
For interfaces with LACP fallback, this may be the intended behavior, and this is the reason for this change.
See details in the Porting guide for AVD 4.x.x.
Pull request:
- Feat(eos_designs, eos_cli_config_gen)! - Remove default “switchport” and remove logic from eos_cli_config_gen by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2430
Require queue_monitor_length.enabled¶
To avoid ambiguous YAML data input, the data model for queue_monitor_length
has been updated to require the enabled
key to be set.
The change has been incorporated into eos_designs
so action is only required when defining structured_configuration
directly.
See details in the Porting guide for AVD 4.x.x.
Pull request:
- Refactor(eos_cli_config_gen)! - Require queue_monitor_length.enabled to be set by @Shivani-chourasiya in https://github.com/aristanetworks/ansible-avd/pull/2429
Disabling IGMP Snooping globally no longer blocks other IGMP snooping configuration¶
The eos_cli_config_gen
role previously blocked IGMP snooping configuration if ip_igmp_snooping.globally_enabled
was set to false
.
With AVD version 4.0.0 this changes to align closer to EOS behavior, where globally disabling IGMP snooping still allows for underlying
configuration to be present.
See details in the Porting guide for AVD 4.x.x.
Pull request:
- Feat(eos_designs)! - Remove default value from mlag_peer_link_allowed_vlans by @carlbuchmann in https://github.com/aristanetworks/ansible-avd/pull/2845
New required vlan_interfaces.[].ip_attached_host_route_export.enabled key¶
To avoid ambiguous YAML data input, the data model for vlan_interfaces.[].ip_attached_host_route_export
has been updated to require
an enabled: true
key to be added.
The change has been incorporated into eos_designs
so action is only required when defining structured_configuration
directly.
See details in the Porting guide for AVD 4.x.x.
Pull request:
- Refactor(eos_cli_config_gen)! - Require
enabled - true
undervlan_interfaces.[].ip_attached_host_route_export
by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2773
New data model for BGP VRF address-families¶
New data models to replace the now deprecated router_bgp.vrfs[].address_families
keys have been added to eos_cli_config_gen.
The change has been incorporated into eos_designs
so no action is necessary to retain the same functionality.
See details in the Porting guide for AVD 4.x.x
Replacement data model for next_hop.address_family_ipv6_originate
under router_bgp.address_family_ipv4.peer_groups[]
¶
The data model to turn on ipv4 routing over ipv6 next-hops has been replaced with a new extended one, the old data model has been deprecated and will be removed in AVD version 5.0.0.
The change has been incorporated into eos_designs
so no action is necessary to retain the same functionality.
See details in the Porting guide for AVD 4.x.x
Improved hardware_counters.features data model¶
The hardware_counters.features
model has been improved to allow more options.
See details in the Porting guide for AVD 4.x.x.
Pull requests:
- Feat(eos_cli_config_gen)! - Change Hardware Counter model by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2695
eos_cli_config_gen
sanitized device documentation¶
- Starting AVD 4.0.0, the
eos_cli_config_gen
role replaces sensitive values in the device documentation by the string<removed>
by default, similar to the output ofshow run sanitized
on EOS. - It is also possible to generate the intended configurations by replacing the sensitive data by
<removed>
but this is not the case by default - This behavior can be controlled using the following variables:
NOTE: The structured_config
generated by eos_designs
role cannot be sanitized.
Breaking or behavioral changes in eos_designs¶
Breaking changes may require modifications to the inventory or playbook. See the Porting guide for AVD 4.x.x for details.
Custom structured configuration behavioral change¶
Related to the data model changes mentioned above, the behavior of
custom_structured_configuration_*
and structured_config
keys has also changed:
- The default list merge strategy set with
custom_structured_configuration_list_merge
is nowappend_rp
meaning “Append unique items”. Changed fromreplace
. - Unless list merge is set to
replace
, the merge of custom structured configuration will now merge list-of-dicts based on the “primary_key” set in the schema of the data model, falling back to the list merge strategy.
The custom structured configuration feature is not able to remove individual items from a list. This is not a new limitation, but since more data models are now lists, this limitation may affect the ability to remove certain elements from the generated configurations.
MLAG peer link allowed vlans no longer has a default value¶
mlag_peer_link_allowed_vlans
no longer has a default value of “2-4094”.
See details in the Porting guide for AVD 4.x.x.
IP routing is no longer configured on pure L2 devices¶
For node types like l2leaf
where underlay_router
is set to false
under node_type_keys
AVD versions below 4.0.0
still rendered ip routing
in the configuration. With AVD version 4.0.0 ip routing
is no longer configured for l2leaf
or other node types with underlay_router: false
.
See details in the Porting guide for AVD 4.x.x.
Pull request:
- Fix(eos_designs)! - Prevent configuration of IP routing on l2leaf by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2684
BGP is no longer configured on irrelevant nodes¶
An example of an “irrelevant node” is a pure L3 Spine in L3LS running ISIS or OSPF in the underlay. As long as the spine is not
set as route-server for any overlay BGP protocol, there is no need for router bgp <asn>
to be configured on this device.
See details in the Porting guide for AVD 4.x.x.
Pull request:
- Fix(eos_designs)! - Remove BGP rendering on irrelevant nodes by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2774
Link-local IPv6 addressing is implicitly enabled when configuring IPv6 Anycast IP¶
Per Arista best practice, all SVIs configured with ipv6 address virtual
should also have
ipv6 enable
configured, to use link-local IPv6 addresses for NDv6 operations.
With AVD version 4.0.0 this best practice is now implemented by default.
See details in the Porting guide for AVD 4.x.x.
Removed eos_designs variables¶
evpn_rd_type
has been removed and replaced withoverlay_rd_type
.evpn_rt_type
has been removed and replaced withoverlay_rt_type
.vxlan_vlan_aware_bundles
has been removed and replaced withevpn_vlan_aware_bundles
See details in the Porting guide for AVD 4.x.x.
bgp_peer_groups.IPv4_UNDERLAY_PEERS
has been removed and replaced withbgp_peer_groups.ipv4_underlay_peers
to avoid upper-case variables.bgp_peer_groups.MLAG_IPv4_UNDERLAY_PEER
has been removed and replaced withbgp_peer_groups.mlag_ipv4_underlay_peer
to avoid upper-case variables.bgp_peer_groups.EVPN_OVERLAY_PEERS
has been removed and replaced withbgp_peer_groups.evpn_overlay_peers
to avoid upper-case variables.connected_endpoints_key.[].adapters.[].server_ports
has been removed and replaced withconnected_endpoints_key.[].adapters.[].endpoint_ports
.
See details in the Porting guide for AVD 4.x.x.
Change in defaults in underlay ISIS variables¶
isis_default_circuit_type
default changed fromlevel-1-2
(EOS default) tolevel-2
.
See details in the Porting guide for AVD 4.x.x.
Change in defaults in BGP variables¶
bgp_default_ipv4_unicast: <bool> -> default false
was introduced to implement the best practice of disabling the default activation of IPv4 unicast address-family.bgp_update_wait_install: <bool> -> default true
was introduced to implement the best practice of enable router bgpupdate wait-install
underrouter bgp
and BGP VRF definitions for VRFs containing BGP peerings.
See details in the Porting guide for AVD 4.x.x.
Pull requests:
- Feat(eos_designs)! - fabric variable for bgp default ipv4 unicast by @carlbuchmann in https://github.com/aristanetworks/ansible-avd/pull/2799
- Feat(eos_designs)! - Platform and Fabric variables to adjust update wait-for-convergence and update wait-install by @carlbuchmann in https://github.com/aristanetworks/ansible-avd/pull/2855
Change in default MTU for point-to-point ethernet interfaces¶
The default value for p2p_uplinks_mtu
has changed from 9000 to 9214.
See details in the Porting guide for AVD 4.x.x.
Pull request:
- Feat(eos_designs)! - Change p2p_uplinks_mtu default value from 9000 to 9214 by @carlbuchmann in https://github.com/aristanetworks/ansible-avd/pull/2844
Change in behavior in core_interfaces variables¶
core_interfaces.p2p_links.[].ptp_enable
changed tocore_interfaces.p2p_links.[].ptp.enabled
to create syntax consistency when configuring PTP.core_interfaces.p2p_links.[].ptp.enabled
requires theptp.enabled: true
to be set at the fabric level.
See details in the Porting guide for AVD 4.x.x.
Change in defaults and behavior in l3_edge variables¶
l3_edge.p2p_links.[].qos_profile
default changed fromnull
to now leveragep2p_uplinks_qos_profile
as its default value.l3_edge.p2p_links.[].include_in_underlay_protocol
default changed fromfalse
totrue
.l3_edge.p2p_links.[].isis_circuit_type
-> default changed fromlevel-1-2
(EOS default) set byisis_default_circuit_type
tolevel-2
.l3_edge.p2p_links.[].isis_hello_padding
default changed fromfalse
totrue
(EOS default).l3_edge.p2p_links.[].ptp_enable
changed tol3_edge.p2p_links.[].ptp.enabled
to create syntax consistency when configuring PTP.
See details in the Porting guide for AVD 4.x.x.
Changes to inband management for L2 switches¶
With AVD version 4.0.0 some of the default values for inband management are changing:
- The SVI MTU was derived from
p2p_uplinks_mtu
with a default value of9000
. Now the SVI MTU defaults to1500
and is configurable withinband_mgmt_mtu
. - The SVI description was hardcoded to
L2LEAF_INBAND_MGMT
. Now the default SVI description isInband Management
and is configurable withinband_mgmt_description
. - The VLAN name was hardcoded to
L2LEAF_INBAND_MGMT
. Now the default VLAN name isINBAND_MGMT
and is configurable withinband_mgmt_vlan_name
.
The inband management interfaces are now documented and configured as vlan_interfaces
instead of management_interfaces
.
See details in the Porting guide for AVD 4.x.x.
Pull request:
- Feat(eos_designs)! - Enhance inband management configuration options by @pvinci-arista in https://github.com/aristanetworks/ansible-avd/pull/2712
Several internal switch.* facts and avd_switch_facts have been removed¶
As part of optimizing performance and code reuse, the amount of switch.*
facts has been limited.
The switch.*
and avd_switch_facts
are internal datamodels used for sharing data between various stages of eos_designs
. They should not
be used in custom templates for interface descriptions or IP addressing, since they are subject to change without notice.
See the porting guide for suggestions on how to leverage AVD logic in combination with Ansible inline Jinja2.
The following facts have been removed from switch.*
and avd_switch_facts.<hostname>.switch.*
:
switch.always_configure_ip_routing
switch.always_include_vrfs_in_tenants
switch.bgp
switch.bgp_cluster_id
switch.bgp_defaults
switch.connected_endpoints
switch.default_downlink_interfaces
switch.default_overlay_routing_protocol
switch.default_underlay_routing_protocol
switch.enable_trunk_groups
switch.evpn_gateway_remote_peers
switch.evpn_gateway_vxlan_l2
switch.evpn_gateway_vxlan_l3
switch.evpn_gateway_vxlan_l3_inter_domain
switch.filter_only_vlans_in_use
switch.filter_tags
switch.filter_tenants
switch.hostname
switch.inband_management_gateway
switch.inband_management_interface
switch.inband_management_ip
switch.inband_management_parents
switch.inband_management_role
switch.igmp_snooping_enabled
switch.ipv6_mgmt_ip
switch.ipv6_router_id
switch.ipvpn_gateway
switch.isis_instance_name
switch.isis_net
switch.is_type
switch.lacp_port_id
switch.link_tracking_groups
switch.loopback_ipv4_offset
switch.loopback_ipv6_offset
switch.loopback_ipv6_pool
switch.mlag
switch.mlag_dual_primary_detection
switch.mlag_ibgp_origin_incomplete
switch.mlag_interfaces_speed
switch.mlag_l3
switch.mlag_peer_ip
switch.mlag_peer_ipv4_pool
switch.mlag_peer_l3_ip
switch.mlag_peer_l3_ipv4_pool
switch.mlag_peer_l3_vlan
switch.mlag_peer_l3_vlan_structured_config
switch.mlag_peer_link_allowed_vlans
switch.mlag_peer_mgmt_ip
switch.mlag_peer_vlan
switch.mlag_peer_vlan_structured_config
switch.mlag_port_channel_structured_config
switch.mlag_role
switch.mlag_support
switch.multi_vtep
switch.network_services_l1
switch.network_services_l2
switch.network_services_l3
switch.node_sid
switch.only_local_vlan_trunk_groups
switch.overlay_address_families
switch.overlay_rd_type_admin_subfield
switch.overlay_routing_protocol
switch.overlay_routing_protocol_address_family
switch.platform_settings
switch.rack
switch.raw_eos_cli
switch.short_esi
switch.spanning_tree_mode
switch.spanning_tree_priority
switch.spanning_tree_root_super
switch.struct_cfg
switch.system_mac_address
switch.trunk_groups
switch.underlay
switch.underlay_ipv6
switch.underlay_multicast
switch.underlay_router
switch.uplink_bfd
switch.uplink_interfaces
switch.uplink_interface_speed
switch.uplink_macsec
switch.uplink_ptp
switch.uplink_structured_config
switch.uplink_switches
switch.uplink_switch_interfaces
switch.uplink_type
switch.virtual_router_mac_address
switch.vtep
switch.vtep_loopback
Other breaking or behavioral changes¶
Breaking changes may require modifications to the inventory or playbook. See the Porting guide for AVD 4.x.x for details.
Roles cvp_configlet_upload
and eos_config_deploy_cvp
default to cv_collection: v3
¶
The roles arista.avd.cvp_configlet_upload
and arista.avd.eos_config_deploy_cvp
leverage modules from the arista.cvp
collection to perform actions on the CloudVision platform. These modules are currently available in v1
and v3
variants, but v1
modules
have been deprecated and will be removed from the arista.cvp
collection in version 4.0.0.
With AVD version 4.0.0 the default cv_collection
is set to v3
.
The v3
modules are mostly compatible with the v1
modules with a few known gaps:
v3
is missing support for hostnames with dots likeleaf1.dc2
.- The implementation of
v3
ineos_config_deploy_cvp
is missing support for theabsent
option.
v1
modules can still be used by setting cv_collection: v1
, as long as the arista.cvp
collection is not upgraded to 4.0.0 or above.
Pull request:
- Bump(cvp_configlet_upload,eos_config_deploy_cvp)! - Update the default
cv_collection
fromv1
tov3
by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2882
Change upper case CVP roles and module vars to lower case¶
Potentially breaking in rare cases where custom logic relies on the registered vars or content of files. The custom scripts must be updated to use the lowercase variable instead.
Component(s) name Roles:
- arista.avd.eos_config_deploy_cvp
- arista.avd.cvp_configlet_upload
Modules:
- arista.avd.inventory_to_container
- arista.avd.configlet_build_config
The following vars are changed from uppercase to lowercase, to conform with Ansible linting requirements.
CVP_CONFIGLETS -> cvp_configlets
CVP_CONFIGLETS_STATUS -> cvp_configlets_status
CVP_CONTAINERS -> cvp_containers
CVP_CONTAINER_RESULTS -> cvp_container_results
CVP_DEVICES -> cvp_devices
CVP_DEVICES_RESULTS -> cvp_devices_results
CVP_FACTS -> cvp_facts
CVP_TOPOLOGY -> cvp_topology
CVP_VARS -> cvp_vars
Pull request:
- Fix! - Change uppercase CVP role vars to lower case by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2504
Changes to inventory to CloudVision containers¶
In AVD 4.0.0, the role arista.avd.eos_config_deploy_cvp
gets support for dynamic Ansible inventories. This means the CloudVision containers’ basis will no longer be the inventory.yml
file. Instead, the role reads the loaded Ansible inventory. This inventory can be loaded from dynamic inventory plugins like Ansible Automation Platform, AWX, etc.
The new inventory parsing is stricter than the previous method, so all Ansible inventory groups must be laid
out as a regular tree structure starting from the container_root
.
See details in the Porting guide for AVD 4.x.x.
Pull request:
- Feat(eos_config_deploy_cvp)! - Support for dynamic inventories by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2395
Fixed issues in eos_cli_config_gen¶
- Fix(eos_cli_config_gen) - Render LLDP commands on ethernet_interfaces also for port-channel members by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2386
- Fix(eos_cli_config_gen) - Workaround for router-general EOS CLI issue by @tgodaA in https://github.com/aristanetworks/ansible-avd/pull/2408
- Fix(eos_cli_config_gen) - Fix the router_multicast vrfs indentation by @tgodaA in https://github.com/aristanetworks/ansible-avd/pull/2476
- Fix(eos_cli_config_gen) - Update radius-server and radius-servers to match EOS behavior by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2615
- Fix(eos_cli_config_gen) - Fix documentation template for flow tracking by @chetryan in https://github.com/aristanetworks/ansible-avd/pull/2636
- Fix(eos_cli_config_gen) - Checks for missing “vlans” key on access port-channel by @jonxstill in https://github.com/aristanetworks/ansible-avd/pull/2701
- Fix(eos_cli_config_gen) - Fix typo in router-bgp.j2 by @adietrich-ussignal in https://github.com/aristanetworks/ansible-avd/pull/2753
- Fix(eos_cli_config_gen) - Ensure unique VRF names in schemas by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2878
- Fix - Logging buffered default level not required by @carlbuchmann in https://github.com/aristanetworks/ansible-avd/pull/2364
- Fix - add guard to dot1x mac_based_authentication by @pvinci-arista in https://github.com/aristanetworks/ansible-avd/pull/2764
Fixed issues in eos_designs¶
- Fix(eos_designs) - Handle overlapping VLAN names for l2vlans and vlan-aware-bundles by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2388
- Fix(eos_designs) - overlay_rd_type with inline jinja generates incorrect config by @carlbuchmann in https://github.com/aristanetworks/ansible-avd/pull/2393
- Fix(eos_designs) - Detect duplicate VLAN, VRF, VNI within network_services by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2411
- Fix(eos_designs) - Renders lacp fallback when port-channel mode is passive by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2448
- Fix(eos_designs) - vtep_vvtep_ip doesn’t generate any config by @emilarista in https://github.com/aristanetworks/ansible-avd/pull/2442
- Fix(eos_designs) - Fix issue with hardware_counters python code by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2447
- Fix(eos_designs) - remove speed from port-channel interfaces by @carlbuchmann in https://github.com/aristanetworks/ansible-avd/pull/2463
- Fix(eos_designs) - Fix error with dotted hostname, l2leaf and mlag by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2502
- Fix(eos_designs) - Correct range_expand behaviour with .0 4byte ASNs by @jonxstill in https://github.com/aristanetworks/ansible-avd/pull/2529
- Fix(eos_designs) - Duplicate route-maps generated when using underlay_filter_peer_as - true by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2612
- Fix(eos_designs) - Handle overlapping vlan numbers with filter.only_in_use and trunkgroups by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2628
- Fix(eos_designs) - Configure ptp to use the system mac by @carlbuchmann in https://github.com/aristanetworks/ansible-avd/pull/2647
- Fix(eos_designs) - Avoid configuring trunk-group twice on mlag peer-link if using the same name by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2658
- Fix(eos_designs) - Duplicate port-channels in structured-config for network-ports by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2651
- Fix(eos_designs) - Raise correct error message for duplicate port-channels by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2674
- Fix(eos_designs) - Configure “ip routing ipv6 interface vrf X” for RFC5549 by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2660
- Fix(eos_designs) - Add support for her and cvx in default_overlay_routing_protocol by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2717
- Fix(eos_designs) - network services vlan interfaces ospf authentication message-digest by @philippebureau in https://github.com/aristanetworks/ansible-avd/pull/2727
- Fix(eos_designs) - Invalid defaults for ipvpn_gateway domain IDs by @emilarista in https://github.com/aristanetworks/ansible-avd/pull/2739
- Fix(eos_designs) - Fix wrong error message for duplicates network_ports by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2756
- Fix(eos_designs) - Configure “ipv6 enable” on SVIs with Anycast IPv6 by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2784
- Fix(eos_designs) - Change authentication method and token path for on-prem token auth by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2800
- Fix(eos_designs) - Re-add the possibility to overwrite network_ports by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2766
- Fix(eos_designs) - Remove EVPN related config if VRF ‘default’ is not EVPN enabled by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2888
- Fix(eos_designs) - bgp_mesh_pes by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2899
- Fix(eos_designs) - Support 4.0 data models in Connected Endpoints docs by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2915
- Fix(eos_designs) - Ensure deterministic behavior when defining the same VRF in multiple Tenants by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2900
- Fix(eos_designs) - eBGP rfc5549 creates invalid configuration for MLAG scenarios by @carlbuchmann in https://github.com/aristanetworks/ansible-avd/pull/2950
- Fix(eos_designs) - Ignore “overlay_routing_protocol_address_family - ipv6” on l2leaf by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2955
- Refactor(eos_designs) - Change description for port-channel members to be the physical peer interface instead of port-channel by @Shivani-chourasiya in https://github.com/aristanetworks/ansible-avd/pull/2949
- Fix - Description key not considered with connected endpoints by @pvinci-arista in https://github.com/aristanetworks/ansible-avd/pull/2745
Other Fixed issues¶
- Fix(eos_snapshot) - eos snapshot produces incorrect json and yaml output by @carlbuchmann in https://github.com/aristanetworks/ansible-avd/pull/2426
- Fix(eos_snapshot) - Only collect cli-text commands when “text” or “markdown” are selected by @carlbuchmann in https://github.com/aristanetworks/ansible-avd/pull/2439
- Fix(eos_snapshot) - Conditional in tasks are not honored and support for limit by @carlbuchmann in https://github.com/aristanetworks/ansible-avd/pull/2457
Documentation¶
- Doc - Add a warning to upgrade the python reqs when upgrading AVD by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2498
- Doc(eos_designs) - Dual DC example by @xaviramon in https://github.com/aristanetworks/ansible-avd/pull/2326
- Doc(eos_designs) - Size recommendations for mlag_peer ip pools by @emilarista in https://github.com/aristanetworks/ansible-avd/pull/2599
- Doc(eos_cli_config_gen) - Deprecate old keys under gNMI by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2876
- Doc(eos_designs,eos_cli_config_gen) - Add missing deprecation warnings by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2957
- Doc(eos_designs) - ISIS-LDP IPVPN Topology Example by @emilarista in https://github.com/aristanetworks/ansible-avd/pull/2759
- Doc - Updating the landing page, move the collection below AVD umbrella by @JulioPDX in https://github.com/aristanetworks/ansible-avd/pull/2587
- Doc - Update Single DC L3LS example by @nielsjlarsen in https://github.com/aristanetworks/ansible-avd/pull/2803
- Doc - Update Dual DC L3LS example by @xaviramon in https://github.com/aristanetworks/ansible-avd/pull/2904
New features and enhancements in eos_cli_config_gen¶
- Feat(eos_cli_config_gen) - Add eos_cli key to management_interfaces by @gusmb in https://github.com/aristanetworks/ansible-avd/pull/2379
- Feat(eos_cli_config_gen) - Add arp learning bridged by @tgodaA in https://github.com/aristanetworks/ansible-avd/pull/2383
- Feat(eos_cli_config_gen) - Add support for load-interval on Ethernet Interfaces by @RyanM-Arista in https://github.com/aristanetworks/ansible-avd/pull/2428
- Feat(eos_cli_config_gen) - Trim documentation output to only show configured sections by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2357
- Feat(eos_cli_config_gen) - Extend aaa_accounting with options for dot1x by @dmilyt in https://github.com/aristanetworks/ansible-avd/pull/2450
- Feat(eos_cli_config_gen) - Support encapsulation for EVPN peer groups by @wnagele in https://github.com/aristanetworks/ansible-avd/pull/2540
- Feat(eos_cli_config_gen) - Add aaa authorization policy and dynamic by @tgodaA in https://github.com/aristanetworks/ansible-avd/pull/2440
- Feat(eos_cli_config_gen) - Add Sflow config for ethernet and port_channel interfaces by @UchihaItachiSama in https://github.com/aristanetworks/ansible-avd/pull/1805
- Feat(eos_cli_config_gen) - Support ND parameters inside router_l2_vpn the same as ARP by @wnagele in https://github.com/aristanetworks/ansible-avd/pull/2538
- Feat(eos_cli_config_gen) - add event-handler trigger “on-startup-config” by @bjmeuer in https://github.com/aristanetworks/ansible-avd/pull/2486
- Feat(eos_cli_config_gen) - Add ‘route_reflector_client’ key to BGP neighbor in VRF by @gusmb in https://github.com/aristanetworks/ansible-avd/pull/2551
- Feat(eos_cli_config_gen) - CVX Client non-default VRF support by @UchihaItachiSama in https://github.com/aristanetworks/ansible-avd/pull/2545
- Feat(eos_cli_config_gen) - Add support for shell for local users by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2581
- Feat(eos_cli_config_gen) - Add support for as-path options for BGP neighbors by @gusmb in https://github.com/aristanetworks/ansible-avd/pull/2591
- Feat(eos_cli_config_gen) - extend ethernet_interface with dot1x eapol authentication_failure_falback by @dmilyt in https://github.com/aristanetworks/ansible-avd/pull/2482
- Feat(eos_cli_config_gen) - extend radius_servers with attribute 32 include in access and dynamic-authorization by @dmilyt in https://github.com/aristanetworks/ansible-avd/pull/2523
- Feat(eos_cli_config_gen) - Add support for passive BGP neighbor by @gusmb in https://github.com/aristanetworks/ansible-avd/pull/2568
- Feat(eos_cli_config_gen) - Add ipv6 dhcp relay to vlan/ethernet-interfaces by @emilarista in https://github.com/aristanetworks/ansible-avd/pull/2585
- Feat(eos_cli_config_gen) - extend dot1x with radius av-pair and mac based authentication. by @dmilyt in https://github.com/aristanetworks/ansible-avd/pull/2446
- Feat(eos_cli_config_gen) - Deprecation of ‘vlan_interfaces.ipv6_address_virtual’ (singular) by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2613
- Feat(eos_cli_config_gen) - add cvsourceintf flag to TerminAttr by @noredistribution in https://github.com/aristanetworks/ansible-avd/pull/2620
- Feat(eos_cli_config_gen) - Global IP Locking Configuration Options by @emilarista in https://github.com/aristanetworks/ansible-avd/pull/2560
- Feat(eos_cli_config_gen) - Add support for CVX as VXLAN controller by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2657
- Feat(eos_cli_config_gen) - Enable redistribution of leaked (static, connected, bgp) routes into OSPF by @carl-baillargeon in https://github.com/aristanetworks/ansible-avd/pull/2639
- Feat(eos_cli_config_gen) - Add address locking options on ethernet interfaces by @emilarista in https://github.com/aristanetworks/ansible-avd/pull/2564
- Feat(eos_cli_config_gen) - Add support for BGP session tracking by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2659
- Feat(eos_cli_config_gen) - add certs method to cvauth in TerminAttr by @noredistribution in https://github.com/aristanetworks/ansible-avd/pull/2699
- Feat(eos_cli_config_gen) - New improved ip_name_servers and deprecate name_server by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2738
- Feat(eos_cli_config_gen) - Add support for PoE configurations by @jrecchia1029 in https://github.com/aristanetworks/ansible-avd/pull/2690
- Feat(eos_cli_config_gen) - L2 Protocol Forwarding by @emilarista in https://github.com/aristanetworks/ansible-avd/pull/2676
- Feat(eos_cli_config_gen) - Allow configuration of IGMP snooping features even if globally disabled by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2686
- Feat(eos_cli_config_gen) - Add support for grpc-tunnel by @adietrich-ussignal in https://github.com/aristanetworks/ansible-avd/pull/2696
- Feat(eos_cli_config_gen) - Add global IP NAT support by @kornoa in https://github.com/aristanetworks/ansible-avd/pull/2747
- Feat(eos_cli_config_gen) - Add support for bgp default ipv4-unicast under router bgp by @carlbuchmann in https://github.com/aristanetworks/ansible-avd/pull/2789
- Feat(eos_cli_config_gen) - Add support for “ip_igmp_version” under “vlan_interfaces” by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2792
- Feat(eos_cli_config_gen) - Add ethernet_interfaces logging event options by @kornoa in https://github.com/aristanetworks/ansible-avd/pull/2783
- Feat(eos_cli_config_gen) - Add service-policy qos by @chetryan in https://github.com/aristanetworks/ansible-avd/pull/2793
- Feat(eos_cli_config_gen) - Default queue-monitor thresholds by @chetryan in https://github.com/aristanetworks/ansible-avd/pull/2794
- Feat(eos_cli_config_gen) - Add port-channel esi and rt deprecation warnings by @emilarista in https://github.com/aristanetworks/ansible-avd/pull/2443
- Feat(eos_cli_config_gen) - Add interface IP NAT support by @kornoa in https://github.com/aristanetworks/ansible-avd/pull/2750
- Feat(eos_cli_config_gen) - Add capability to hide passwords and keys in generated doc and conf by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2806
- Feat(eos_cli_config_gen) - add options tagged and untagged phone to switchport phone trunk for ethernet interfaces by @kmueller68 in https://github.com/aristanetworks/ansible-avd/pull/2832
- Feat(eos_cli_config_gen) - BGP RR preserve-attributes by @emilarista in https://github.com/aristanetworks/ansible-avd/pull/2879
- Refactor(eos_cli_config_gen, eos_designs) - Improve BGP VRF Address Families Model by @emilarista in https://github.com/aristanetworks/ansible-avd/pull/2808
- Refactor(eos_cli_config_gen) - Add guards for missing name for hardware_counters legacy syntax by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2741
- Refactor(eos_cli_config_gen,eos_designs) - Deprecate isis_af_defaults and address_family knobs by @emilarista in https://github.com/aristanetworks/ansible-avd/pull/2630
- Refactor(eos_cli_config_gen) - Deprecate uppercase
MIB_family_name
in favor ofmib_family_name
by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2772 - Refactor(eos_designs, eos_cli_config_gen) - BGP VRF peer group options, global context ipv6 multicast and flowspec by @emilarista in https://github.com/aristanetworks/ansible-avd/pull/2976
New features and enhancements in eos_designs¶
- Feat(eos_designs) - Add per MACVRF EVPN domain scope by @MitchV85 in https://github.com/aristanetworks/ansible-avd/pull/2347
- Feat(eos_designs) - Add schema validation to eos_designs action plugins by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2350
- Feat(eos_designs) - Support for custom masks in l3_edge ip pools by @philippebureau in https://github.com/aristanetworks/ansible-avd/pull/2466
- Feat(eos_designs) - User defined description on management interface by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2500
- Feat(eos_designs) - User defined descriptions on l3_edge and core_interfaces by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2499
- Feat(eos_designs) - Uplink native vlan for l2 switches by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2522
- Feat(eos_designs) - Only require ‘virtual_router_mac_address’ when using VARP or anycast IP on SVIs by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2485
- Feat(eos_designs) - Allow disabling filtering on redist connected in underlay bgp by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2586
- Feat(eos_designs) - Add support for overlay_routing_protocol CVX by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2600
- Feat(eos_designs) - Add Ipv6 management variables by @emilarista in https://github.com/aristanetworks/ansible-avd/pull/2335
- Feat(eos_designs) - Support for custom masks in core_interfaces ip pools by @philippebureau in https://github.com/aristanetworks/ansible-avd/pull/2469
- Feat(eos_designs) - Improve CVX Overlay support by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2656
- Feat(eos_designs) - Add support for serial_number by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2645
- Feat(eos_designs) - Add support for TerminAttr token-secure auth for on-premise CV by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2685
- Feat(eos_designs) - Allow to redistribute connected routes under OSPF by @mpergament in https://github.com/aristanetworks/ansible-avd/pull/2762
- Feat(eos_designs) - Add support for setting “mlag_domain_id” by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2791
- Feat(eos_designs) - Allow LACP timers configuration under connected_endpoints by @xaviramon in https://github.com/aristanetworks/ansible-avd/pull/2809
- Feat(eos_designs) - update PTP syntax “enable” -> “enabled” by @nielsjlarsen in https://github.com/aristanetworks/ansible-avd/pull/2776
- Feat(eos_designs) - use proper structured config knobs for bgp maximum paths by @carlbuchmann in https://github.com/aristanetworks/ansible-avd/pull/2868
- Feat(eos_designs) - Fabric variable to set bgp distance by @carlbuchmann in https://github.com/aristanetworks/ansible-avd/pull/2869
- Doc(eos_designs) - Add connected_endpoints fabric documentation by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2458
- Refactor(eos_designs) - Use python for all default interface descriptions by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2490
- Refactor(eos_designs) - Change default native vlan name by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2563
- Refactor(eos_designs) - Relax requirement for ‘id’ if not used by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2661
- Cut - Remove globally defined defaults for underlay_routing_protocol and overlay_routing_protocol variables by @carlbuchmann in https://github.com/aristanetworks/ansible-avd/pull/2691
- Refactor(eos_designs) - Move default variables to python instead of role defaults. by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2760
- Refactor(eos_designs) - Remove vxlan_vlan_aware_bundles in favor of evpn_vlan_aware_bundles by @Shivani-chourasiya in https://github.com/aristanetworks/ansible-avd/pull/2865
Other new features and enhancements¶
- Feat(plugins) - Add schema driven deprecation warnings by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2369
- Feat(plugins) - Automatic requirements check by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2015
- Feat(plugins) - Add arista.avd.batch_template action plugin by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2593
- Feat(plugins) - Add OSPF pasword type 7 to encrypt/decrypt filters by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2626
- Feat(plugins) - Update schema validation to ignore any key starting with underscore by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2689
- Feat(eos_config_deploy_cvp) - Option for deploying using serial number as identifier by @ClausHolbechArista in https://github.com/aristanetworks/ansible-avd/pull/2718
- Feat(plugins) - Add arista.avd.global_vars plugin by @gmuloc in https://github.com/aristanetworks/ansible-avd/pull/2751
- Refactor(eos_cli_config_gen,eos_designs) - Remove multiple H1 headings by @JulioPDX in https://github.com/aristanetworks/ansible-avd/pull/2632