What's Changed
Breaking Changes
- Fix(eos_designs)!: VARPv6 config is not generated even when "ipv6_enable: true" is specified by @bjmeuer in #4208
- Refactor(eos_cli_config_gen)!: Removing default type: switched from ethernet and port-channel interfaces by @Shivani-gslab in #4355
- Refactor(eos_designs)!: Change the default value of
mlag_on_orphan_port_channel_downlink
tofalse
by @MaheshGSLAB in #4371 - Fix(eos_designs)!: Add missing BGP peer description for MLAG peerings in VRFs by @ClausHolbechArista in #4394
- Refactor(eos_designs)!: Change the default value of
isis_system_id_format
tounderlay_loopback
by @laxmikantchintakindi in #4373 - Refactor(eos_designs)!: Change merge strategy for SVI structured_config from SVI profiles by @ClausHolbechArista in #4383
- Fix(eos_designs)!: Do not render EVPN address-family on MPLS devices unless
overlay_address_families
includesevpn
by @ClausHolbechArista in #4390 - Refactor(eos_cli_config_gen)!: Make router_traffic_engineering.enabled required by @gmuloc in #4403
- Feat(eos_designs)!: Update the default platform settings for R3-series to have TCAM profile "vxlan-routing" by @ClausHolbechArista in #4387
- Fix(eos_cli_config_gen)!: Make
router_isis.address_family_ipv4/6.enabled
Required by @Shivani-gslab in #4401 - Feat(eos_designs)!: Improve logic for BGP configuration of network services VRFs by @ClausHolbechArista in #4358
- Refactor(eos_designs)!: Raise AVD error if sFlow is enabled but
sflow_settings.destinations
is not configured by @MaheshGSLAB in #4402 - Refactor(eos_cli_config_gen,eos_designs)!: Update router_ospf.redistribute.bgp/connected/static with enabled keys by @Vibhu-gslab in #4417
- Feat(eos_designs)!: Shutdown interfaces and bgp towards undeployed peers by default by @Shivani-gslab in #4424
- Refactor(eos_designs)!: Import AvdIpAddressing class from PyAVD by @ClausHolbechArista in #4422
- Fix(eos_designs)!: BGP vlan config should not have redistribute igmp when belonging to a VRF with evpn multicast by @Vibhu-gslab in #4210
- Refactor(eos_designs)!: Change loopback0 description and terminology to router_id_loopback by @ClausHolbechArista in #4448
- Refactor(eos_designs)!: WAN default MTU set to 9194 for Dps and WAN HA interfaces and for LAN uplink interfaces added
p2p_uplinks_mtu
support in platform settings by @MaheshGSLAB in #4415 - Refactor(eos_designs)!: Change the default Loopback1 description by @ClausHolbechArista in #4451
- Refactor(eos_designs)!: Change the default mgmt_interface_description to upper case by @ClausHolbechArista in #4452
- Refactor(eos_designs)!: Rename wan_mode 'autovpn' to 'legacy-autovpn' by @gmuloc in #4473
- Refactor(eos_designs)!: Only render IGMP snooping querier version and address when enabled by @MaheshGSLAB in #4478
- Feat(eos_designs)!: Update eos_designs code to generate new switchport model in structured_configs by @Shivani-gslab in #4454
- Refactor(eos_designs)!: Combine the VLAN trunk groups used for MLAG by @ClausHolbechArista in #4494
- Refactor(eos_designs)!: Change default descriptions for connected endpoints and network ports by @ClausHolbechArista in #4457
- Fix(eos_cli_config_gen)!: update logic in monitor_sessions to not require both source and destination by @carlbuchmann in #3823
- Refactor(eos_designs)!: Change default mlag interface descriptions by @ClausHolbechArista in #4464
- Fix(eos_cli_config_gen)!: Avoid generating invalid configuration for traffic policies by @MaheshGSLAB in #4266
- Feat(eos_designs,eos_cli_config_gen)!: Change default encapsulation to path-selection for WAN iBGP EVPN peerings by @gmuloc in #4496
- Fix(eos_designs)!: Make evpn_gateway.remote_peers override work as documented by @gmuloc in #4510
- Refactor(eos_designs)!: Change MLAG VLAN names and SVI descriptions by @ClausHolbechArista in #4479
- Refactor(eos_designs)!: Change MLAG L3 VRF VLAN names and SVI descriptions by @ClausHolbechArista in #4514
- Refactor(eos_designs)!: Raise when a referenced profile name is not defined by @gmuloc in #4516
- Refactor(eos_designs)!: Change default BGP peer descriptions by @ClausHolbechArista in #4517
- Refactor(eos_designs)!: Change L3 P2P descriptions for uplinks and p2p_links by @ClausHolbechArista in #4520
- Refactor(eos_designs)!: Change L2 uplink description by @ClausHolbechArista in #4532
- Refactor(eos_designs)!: Change default VRF Diagnostic Loopback descriptions by @ClausHolbechArista in #4534
- Refactor(eos_cli_config_gen)!: Reorder hardware and hardware-counter commands by @gmuloc in #4580
- Fix(eos_designs)!: Endpoints PoE and 802.1x configuration for port-channel members by @ClausHolbechArista in #4627
Fixed issues in eos_cli_config_gen
- Fix(eos_cli_config_gen): Fix router_isis rx_disabled and mode: shared-secret by @Vibhu-gslab in #4267
- Fix(eos_cli_config_gen): Sort IPsec SA, IKE policies and profiles by @gmuloc in #4227
- Fix(eos_cli_config_gen): Use the correct VRF name for ip nat profile by @gmuloc in #4398
- Fix(eos_cli_config_gen): Remove primary key of system.control_plane.ipv4/6_access_group and make vrf key unique by @Vibhu-gslab in #4465
- Fix(eos_cli_config_gen): Fix the command for next-hop mpls resolution in address-family evpn by @laxmikantchintakindi in #4490
- Fix(eos_cli_config_gen): Do not render entries with only sequence number from ip_access_list by @gmuloc in #4492
- Fix(eos_cli_config_gen): Fix wrong indentation of config for redistribute routes in
router_bgp.vrfs[].address_family_ipv6
by @MaheshGSLAB in #4552 - Fix(eos_cli_config_gen): Fixing poe link down power-off action command in j2 template by @Vibhu-gslab in #4576
- Fix(eos_cli_config_gen): Fix the maximum-routes, next-hop resolution v4-mapped-v6 translation commands in
router_bgp.address_family_ipv4_labeled_unicast
by @MaheshGSLAB in #4567
Fixed issues in eos_designs
- Fix(eos_designs): Move schema for ipv4_prefix_list_catalog to pyavd for proper enforcement by @ClausHolbechArista in #4322
- Fix(eos_designs): Do not render vrf default under router ospf by @ClausHolbechArista in #4334
- Fix(eos_designs): Provide the proper kwarg to Ansible Display.warning() in schema tools by @carl-baillargeon in #4345
- Fix(eos_designs): Better error message when missing 'evpn_multicast' for PIM l3 interfaces by @gmuloc in #4391
- Fix(eos_designs): Fix context vars for custom interface description templates by @ClausHolbechArista in #4429
- Fix(eos_designs): Do not filter AVT on HA device if one path-group is present on peer by @gmuloc in #4463
- Fix(eos_designs): Fix schema validation of dynamic keys by @ClausHolbechArista in #4474
- Fix(eos_designs): Use CP-Profile for WAN HA when DP-Profile is not configured by @gmuloc in #4309
- Fix(eos_designs): Add redistribute connected under BGP for VRF default if no underlay by @ClausHolbechArista in #4522
- Fix(eos_designs): Make it possible to add custom PTP profiles by @gmuloc in #4523
- Fix(eos_designs): Fix the Invalid command of
vxlan vxlan vlan <vlan_id> flood vtep
by @MaheshGSLAB in #4592
Fixed issues in both eos_designs and eos_cli_config_gen
- Fix(eos_cli_config_gen,eos_designs): Dont configure access group on interface when access group is defined on session level by @laxmikantchintakindi in #4565
Other Fixed issues
- Fix(cv_deploy): Fix async comprehensions in get_tags by @carl-baillargeon in #4332
- Fix(eos_validate_state): Update documentation by @carl-baillargeon in #4350
- Fix(cv_deploy): Ensure 'AVD Configurations' container is inserted first by @ClausHolbechArista in #4356
- Fix(cv_deploy): Fix Ansible Logging and increase API timeouts by @ClausHolbechArista in #4357
- Fix(eos_validate_state): Ensure graceful handling of command errors from ANTA by @ClausHolbechArista in #4385
- Fix(plugins): Support zeroes in interface numbers for range_expand by @ClausHolbechArista in #4420
Documentation
- Doc: Placeholder PR for updating deprecated keys in 5.x.x porting-guide by @MaheshGSLAB in #4285
- Doc(eos_cli_config_gen): Removing deprecation info from description as it was already removed by @Shivani-gslab in #4426
- Doc(eos_cli_config_gen): Add missing tables to input-variables by @gmuloc in #4469
- Doc(eos_designs): How-to guide and porting guide updates for description templates by @carlbuchmann in #4558
- Doc(eos_cli_config_gen): Fix new_key paths for router_bgp to raise errors in case of a key conflict by @alexeygorbunov in #4597
- Doc(eos_designs): Remove adapter native_vlan_tag unused default value by @gmuloc in #4602
- Doc: Porting guide review by @JulioPDX in #4575
- Doc: Site Improvements by @JulioPDX in #4511
- Doc(eos_designs): Update custom_structured_config doc following merge changes in 4.0.0 by @alexeygorbunov in #4611
- Doc: Add CV Pathfinder AVD example by @gmuloc in #4453
- Doc(eos_designs): correct dc_name docs by @pvinci-arista in #4646
- Doc(eos_validate_state): Update diagram and documentation to include custom ANTA test catalogs by @carl-baillargeon in #4653
New features and enhancements in eos_cli_config_gen
- Feat(eos_cli_config_gen): Add support for isis authentication on vlan interfaces by @laxmikantchintakindi in #4254
- Feat(eos_cli_config_gen): Extend GRE span with payload support by @Vibhu-gslab in #4190
- Feat(eos_cli_config_gen): Add support for snmp-server ipmib ifspeed shape-rate by @gusmb in #4382
- Feat(eos_cli_config_gen): Add switchport data model by @Shivani-gslab in #4158
- Feat(eos_cli_config_gen): Enhance encapsulation schema/template for ethernet and port-channel interfaces by @Shivani-gslab in #4388
- Feat(eos_cli_config_gen): Set ssh authentication protocols and empty password by @jmussmann in #4436
- Feat(eos_cli_config_gen): Add support for additional dot1x commands. by @laxmikantchintakindi in #4191
- Feat(eos_cli_config_gen): Add support for port-channel local interfaces for router-path-selection by @gmuloc in #4475
- Feat(eos_cli_config_gen): add_hardware_port_group_knob by @ccsnw in #4500
- Feat(eos_cli_config_gen): Global logging keys for congestion-drops, link-status, and repeat-messages by @nathanmusser in #4493
- Feat(eos_cli_config_gen): Add support for IPv4 BGP Labeled-Unicast (BGP-LU) by @colinmacgiolla in #4412
- Feat(eos_cli_config_gen): Add support additional-paths to root context of BGP using new DM by @ccsnw in #4519
- Feat(eos_cli_config_gen): Redo the model for additional-paths in BGP by @laxmikantchintakindi in #3730
- Feat(eos_cli_config_gen): Add permit_response_traffic nat to ip-access-lists by @gmuloc in #4545
- Feat(eos_cli_config_gen): Add trident l3 routing mac per vlan option by @ccsnw in #4548
New features and enhancements in eos_designs
- Feat(eos_designs): Custom platform_settings and node_type_keys by @jonxstill in #3300
- Feat(eos_designs): Add support to enable sflow on l3 interfaces by @MaheshGSLAB in #4444
- Feat(eos_designs): Update eos_designs code to generate new interface-encapsulation model in structured_configs by @Shivani-gslab in #4504
- Feat(eos_designs): Add possibility to change network mask for direct WAN HA link by @gmuloc in #4497
- Feat(eos_designs): Add support for Port-Channel for Direct HA by @gmuloc in #4482
- Feat(eos_designs): Configure l3 interfaces BGP peers even when underlay_bgp is False by @gmuloc in #4543
Other new features and enhancements
- Feat(plugins): Add strict mode and ignore_case flags to natural_sort filter by @gmuloc in #4298
- Feat(eos_validate_state): Added the validation for DPS interface reachability by @MaheshGSLAB in #4154
- Feat(plugins): Add AVD String Formatter for later use in custom descriptions by @ClausHolbechArista in #4432
- Feat(eos_validate_state): Added the validation for AVT path for static peers and role of device by @MaheshGSLAB in #4200
PyAVD Changes
- Doc(pyavd): Update pyavd docs by @ClausHolbechArista in #4632
Other Changes
- Bump: v5.0.0-dev0 by @ClausHolbechArista in #4275
- Bump: Minimum Python version 3.10 by @ClausHolbechArista in #4276
- Cut(eos_cli_config_gen): Remove the deprecated keys for event-handlers by @Shivani-gslab in #4279
- Cut(eos_cli_config_gen): Remove deprecated key entropy_source from management_security data model by @laxmikantchintakindi in #4277
- Cut(eos_cli_config_gen): Remove the deprecated key local_interface from stun server data model by @MaheshGSLAB in #4274
- Cut(eos_cli_config_gen): Remove deprecated key cvcompression from daemon_terminattr data model by @Vibhu-gslab in #4288
- Cut(eos_cli_config_gen): Remove the deprecated keys for flow-trackings by @MaheshGSLAB in #4294
- Cut(eos_cli_config_gen): Remove deprecated key MIB_family_name from snmp_server data model by @laxmikantchintakindi in #4289
- Cut(eos_cli_config_gen,eos_designs): Remove deprecated jsonschema files by @gmuloc in #4299
- Refactor(eos_cli_config_gen): Remove error handling for missing name in hardware-counters by @gmuloc in #4302
- Cut(eos_designs): Remove deprecated keys marked
removed: true
in version 4.0.0 by @Vibhu-gslab in #4312 - Cut(eos_designs): Remove deprecated keys from bgp_peer_groups by @Vibhu-gslab in #4307
- Cut(eos_cli_config_gen): Remove the deprecated keys for vlan_interfaces by @MaheshGSLAB in #4305
- Cut: Remove deprecated Ansible plugins by @ClausHolbechArista in #4291
- Refactor(eos_validate_state): Keep only ANTA mode in eos_validate_state by @gmuloc in #4286
- Cut(eos_cli_config_gen): Remove deprecated keys from router_bgp data model by @laxmikantchintakindi in #4311
- Cut(eos_cli_config_gen): Remove the deprecated keys for name-server by @MaheshGSLAB in #4290
- Cut(eos_cli_config_gen): Remove deprecated keys enable_vrfs and octa from management_api_gnmi data model by @Vibhu-gslab in #4296
- Cut(eos_cli_config_gen): Remove deprecated data model radius_servers by @laxmikantchintakindi in #4295
- Cut(eos_cli_config_gen): Remove the deprecated keys for port-channel-interfaces by @MaheshGSLAB in #4297
- Bump: Pre-release 5.0.0-dev1 by @carlbuchmann in #4313
- Cut(eos_cli_config_gen): Remove deprecated keys
address_family
andisis_af_defaults
from router-isis data model by @Vibhu-gslab in #4278 - Cut(eos_designs): Remove deprecated key cvp_instance_ip by @Shivani-gslab in #4317
- Cut(eos_designs): Remove deprecated key short_esi by @Vibhu-gslab in #4319
- Cut(eos_designs): Remove the deprecated ipv6_address_virtual key from SVI settings by @MaheshGSLAB in #4314
- Cut(eos_designs): Remove deprecated ptp data model by @laxmikantchintakindi in #4316
- Cut(eos_cli_config_gen): Remove automatic conversion of dict-of-dicts to lists by @ClausHolbechArista in #4320
- Cut(eos_designs): Remove automatic conversion of dict-of-dicts to lists by @ClausHolbechArista in #4321
- Cut(eos_designs): Remove deprecated inband_management_subnet and inband_management_vlan keys by @MaheshGSLAB in #4318
- Refactor(eos_designs): Add helper to retrieve ip from ip prefix by @gmuloc in #4306
- Cut(plugins): Remove convert_dicts filter plugin and integrations into schema tooling by @ClausHolbechArista in #4323
- Refactor(eos_cli_config_gen): Deprecate Upper case letter Vxlan1 to vxlan1 for vxlan_interface schema by @MaheshGSLAB in #4250
- Cut(eos_cli_config_gen): Removing 'null' as valid value of esp integrity and encryption from ip-security module by @MaheshGSLAB in #4336
- Refactor(eos_designs): Remove legacy interface_descriptions function by @gmuloc in #4300
- Bump: Pre-release 5.0.0-dev2 by @carlbuchmann in #4343
- Refactor(eos_designs,eos_cli_config_gen): Default validation_mode to error and remove conversion_mode by @ClausHolbechArista in #4327
- Bump: pre-commit autoupdate by @pre-commit-ci in #4352
- Feat(eos_designs, eos_validate_state): Updated the upper case letter Vxlan1 to vxlan1 for vxlan_interfaces structure config by @MaheshGSLAB in #4347
- Refactor(eos_designs): Deprecate
design.type
and combine defaultnode_type_keys
by @ClausHolbechArista in #4340 - Refactor(eos_designs): Optimize eos_designs_structured_config file write by @ClausHolbechArista in #4283
- Refactor(eos_cli_config_gen): Remove type column from the documentation of ethernet-interfaces and port-channel-interfaces by @Shivani-gslab in #4363
- Refactor(eos_cli_config_gen): Remove EOS default configuration by @ClausHolbechArista in #4361
- Refactor(plugins): Remove jsonschema dependency by @ClausHolbechArista in #4348
- Bump: Pre-release 5.0.0-dev3 by @carlbuchmann in #4367
- Bump: Python library cvprac>=1.4.0 by @carlbuchmann in #4369
- Bump: pre-commit autoupdate by @pre-commit-ci in #4378
- Refactor(eos_designs): Optimize handling of WAN internet exits by @ClausHolbechArista in #4372
- Refactor(eos_cli_config_gen): Allow duplicate value of
address
inrouter_pim_sparse_mode.rp_addresses
by @laxmikantchintakindi in #4366 - Bump: pre-commit autoupdate by @pre-commit-ci in #4392
- Refactor(eos_cli_config_gen): Deprecate
community_lists
data model by @laxmikantchintakindi in #4396 - Refactor(eos_cli_config_gen): Remove hack for ansible 2.12 for arp by @gmuloc in #4404
- Refactor(eos_designs): Move documentation to Python by @ClausHolbechArista in #4364
- Bump: Pre-release v5.0.0-dev4 by @ClausHolbechArista in #4418
- Refactor(eos_designs): Move default platform_settings. network_services_keys and connected_endpoints_keys to schema by @gmuloc in #4395
- Bump: pre-commit autoupdate by @pre-commit-ci in #4421
- Refactor(eos_cli_config_gen): Deprecation of
type
key from ethernet and port-channel interfaces by @Shivani-gslab in #4416 - Bump: Pre-Release 5.0.0-dev5 by @carlbuchmann in #4439
- Refactor(cv_deploy): Optimize push of configlets with version aware API calls by @ClausHolbechArista in #4419
- Refactor(eos_cli_config_gen): Rearrange eos-intended-config based on eos cli by @Vibhu-gslab in #4411
- Bump: Pre-release 5.0.0-dev6 by @carlbuchmann in #4471
- Refactor(eos_designs): Remove "preview" from flow_tracking_settings by @gmuloc in #4472
- Refactor(eos_designs): Use VRF ID instead of VRF VNI as offset for evpn underlay l3 multicast group by @Vibhu-gslab in #4450
- Cut: Remove Ansible tags from AVD roles by @ClausHolbechArista in #4427
- Bump: Pre-release 5.0.0-dev7 by @carlbuchmann in #4503
- Refactor(eos_cli_config_gen): Rearrange the eos-cli output to match eos order by @laxmikantchintakindi in #4381
- Refactor(eos_cli_config_gen): Rearrange the eos-cli output to match eos order part 2 by @laxmikantchintakindi in #4449
- Refactor(eos_cli_config_gen): Change the 'protocol' key to 'encapsulation' in interfaces-encapsulation model by @Shivani-gslab in #4509
- Refactor(eos_cli_config_gen): Rearrange the eos-cli output to match eos order part-3 by @MaheshGSLAB in #4462
- Refactor(eos_cli_config_gen): Rearrange
eos_cli_config_gen
output to match with EOS - Part 4 by @laxmikantchintakindi in #4487 - Bump: Pre-release 5.0.0-dev8 by @carlbuchmann in #4526
- Refactor(eos_designs): Change default of redistribute_mlag_ibgp_peering_vrfs to false by @Vibhu-gslab in #4499
- Refactor(eos_cli_config_gen): Rearrange the order of
management api http
in eos-intended-config based on eos cli by @Vibhu-gslab in #4535 - Refactor(eos_cli_config_gen): Improve schema for redistributes_routes under address_family_ipv4_multicast, address_family_ipv6 and vrfs for router_bgp by @MaheshGSLAB in #4359
- Refactor(eos_designs): Move debug vars dump to action plugin instead of it's own task by @ClausHolbechArista in #4540
- Bump: Pre-release 5.0.0-dev9 by @carlbuchmann in #4553
- Refactor(eos_cli_config_gen): Rearrange the eos-cli config for
vlan-interfaces
to match with EOS by @MaheshGSLAB in #4488 - Refactor(eos_cli_config_gen): Rearrange the eos-cli output to match eos order - Part 6 by @Shivani-gslab in #4546
- Refactor(eos_cli_config_gen): Rearrange the eos-cli output to match eos order for router-isis by @Shivani-gslab in #4555
- Refactor(eos_designs): Setting ospf.area default values to 0.0.0.0 by @Shivani-gslab in #4536
- Refactor(eos_designs): Better error messages for missing keys by @gmuloc in #4541
- Refactor(eos_cli_config_gen): Improve schemas with
primary_key/required
by @laxmikantchintakindi in #4563 - Refactor(plugins): Emit errors when both deprecated and new keys are set by @ClausHolbechArista in #4562
- Bump: re-add jsonschema dependency for ansible-collection target in PyAVD by @carlbuchmann in #4572
- Refactor(eos_cli_config_gen): Improved redistribute data models under router_bgp by @MaheshGSLAB in #4550
- Refactor(eos_cli_config_gen): Rearrange generated CLI for qos queues under interfaces and qos_profiles by @ClausHolbechArista in #4579
- Refactor(eos_cli_config_gen): Rearrange the CLI for platform by @ClausHolbechArista in #4578
- Refactor(eos_cli_config_gen): Rearrange the eos-cli config for router-bgp to match with EOS by @MaheshGSLAB in #4566
- Refactor(eos_cli_config_gen): Rearrange eos_cli_config_gen commands to match with EOS sequence - Part 5 by @laxmikantchintakindi in #4549
- Refactor(eos_designs): Changed the redistribute_routes data model by @MaheshGSLAB in #4544
- Refactor(eos_cli_config_gen): Rearrange eos_cli output to match with eos for
port-channel-interfaces
by @laxmikantchintakindi in #4557 - Bump: anta>=1.1.0 by @carlbuchmann in #4586
- Refactor(eos_cli_config_gen): Rearrange the eos-cli config for tap-aggregation to match with EOS by @Shivani-gslab in #4585
- Refactor(eos_cli_config_gen): Rearrange the eos-cli config for ethernet-interfaces to match with EOS by @Vibhu-gslab in #4569
- Bump: Pre-release 5.0.0-rc1 by @carlbuchmann in #4587
- Refactor(eos_cli_config_gen): Rearrange generated CLI for
traffic-policies
,system
andstatic-routes
by @MaheshGSLAB in #4590 - Cut: Remove deprecated deploy_to_cv role by @gmuloc in #4609
- Bump: Pre-release 5.0.0-rc2 by @carlbuchmann in #4615
- Bump: arista.cvp Ansible collection requirement to latest version by @carlbuchmann in #4643
- Revert(eos_designs): Remove legacy autovpn with new plan for when AutoVPN 2.0 gets out by @gmuloc in #4652
- Bump: Add support for Python3.13 by @ClausHolbechArista in #4651
New Contributors
- @jmussmann made their first contribution in #4436
- @alexeygorbunov made their first contribution in #4597
Full Changelog: v4.10.2...v5.0.0