From 339c85583a100ce6954bd81bf16531785098d2d9 Mon Sep 17 00:00:00 2001 From: Vibhu-gslab <109593615+Vibhu-gslab@users.noreply.github.com> Date: Fri, 2 Aug 2024 20:53:46 +0530 Subject: [PATCH 1/3] Cut(eos_cli_config_gen): Remove deprecated keys enable_vrfs and octa from management_api_gnmi data model (#4296) Co-authored-by: Guillaume Mulocher --- .../arista/avd/docs/porting-guides/5.x.x.md | 4 +-- .../documentation/devices/host1.md | 23 ----------------- .../intended/configs/host1.cfg | 8 ------ .../host_vars/host1/management-api-gnmi.yml | 13 ---------- .../docs/tables/management-api-gnmi.md | 25 ++----------------- .../documentation/management-api-gnmi.j2 | 15 ----------- .../j2templates/eos/management-api-gnmi.j2 | 14 ----------- .../schema/eos_cli_config_gen.schema.yml | 25 ++----------------- .../management_api_gnmi.schema.yml | 21 ++-------------- 9 files changed, 8 insertions(+), 140 deletions(-) delete mode 100644 ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/inventory/host_vars/host1/management-api-gnmi.yml diff --git a/ansible_collections/arista/avd/docs/porting-guides/5.x.x.md b/ansible_collections/arista/avd/docs/porting-guides/5.x.x.md index 57bcac8c963..208f5640438 100644 --- a/ansible_collections/arista/avd/docs/porting-guides/5.x.x.md +++ b/ansible_collections/arista/avd/docs/porting-guides/5.x.x.md @@ -74,8 +74,8 @@ The following data model keys have been removed from `eos_cli_config_gen` in v5. | event_handlers.action_type | event_handlers.actions | | event_handlers.regex | event_handlers.trigger_on_logging.regex | | flow_trackings | flow_tracking | -| old key 4.1(management_api_gnmi) | new key(TODO) | -| old key 4.2(management_api_gnmi) | new key(TODO) | +| management_api_gnmi.enable_vrfs | management_api_gnmi.transport.grpc | +| management_api_gnmi.octa | management_api_gnmi.provider | | management_security.entropy_source | management_security.entropy_sources | | name_server | ip_name_servers | | old key 7.1(port_channel_interfaces) | new key(TODO) | diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/documentation/devices/host1.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/documentation/devices/host1.md index 12f89df1dce..a21c60cc887 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/documentation/devices/host1.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/documentation/devices/host1.md @@ -6,7 +6,6 @@ - [Management Interfaces](#management-interfaces) - [Domain Lookup](#domain-lookup) - [Management SSH](#management-ssh) - - [Management API gNMI](#management-api-gnmi) - [Management API HTTP](#management-api-http) - [Authentication](#authentication) - [Local Users](#local-users) @@ -164,28 +163,6 @@ management ssh no shutdown ``` -### Management API gNMI - -#### Management API gNMI Summary - -| VRF with gNMI | OCTA | -| ------------- | ---- | -| MGMT | enabled | -| MONITORING | enabled | - -#### Management API gNMI Device Configuration - -```eos -! -management api gnmi - transport grpc MGMT - ip access-group ACL-GNMI - vrf MGMT - transport grpc MONITORING - vrf MONITORING - provider eos-native -``` - ### Management API HTTP #### Management API HTTP Summary diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/intended/configs/host1.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/intended/configs/host1.cfg index 1ca872f2552..116f4d820d7 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/intended/configs/host1.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/intended/configs/host1.cfg @@ -543,14 +543,6 @@ management api http-commands no shutdown ip access-group ACL-API ! -management api gnmi - transport grpc MGMT - ip access-group ACL-GNMI - vrf MGMT - transport grpc MONITORING - vrf MONITORING - provider eos-native -! management ssh ! vrf mgt diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/inventory/host_vars/host1/management-api-gnmi.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/inventory/host_vars/host1/management-api-gnmi.yml deleted file mode 100644 index 67fa8fce237..00000000000 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/inventory/host_vars/host1/management-api-gnmi.yml +++ /dev/null @@ -1,13 +0,0 @@ -### Management API gNMI ### - -management_api_gnmi: - # Testing enable_vrfs. The key "enable_vrfs" is deprecated in 4.0.0. To be removed in 5.0.0 - # Testing enable_vrfs as dict of dict - # Dict type is deprecated in 4.0.0. To be removed in 5.0.0 - enable_vrfs: - MGMT: - access_group: ACL-GNMI - MONITORING: - # Testing octa - # octa is deprecated in 4.0.0. To be removed in 5.0.0 - octa: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/management-api-gnmi.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/management-api-gnmi.md index 6ff47c717cc..5463ee5df55 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/management-api-gnmi.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/management-api-gnmi.md @@ -33,10 +33,8 @@ | [          use_serial_number](## "management_api_gnmi.transport.grpc_tunnels.[].target.use_serial_number") | Boolean | | | | Use serial number as the Target ID. | | [          target_ids](## "management_api_gnmi.transport.grpc_tunnels.[].target.target_ids") | List, items: String | | | | Target IDs as a list.
| | [            - <str>](## "management_api_gnmi.transport.grpc_tunnels.[].target.target_ids.[]") | String | | | | | - | [  enable_vrfs](## "management_api_gnmi.enable_vrfs") deprecated | List, items: Dictionary | | | | These should not be mixed with the new keys above.
This key is deprecated. Support will be removed in AVD version 5.0.0. Use transport.grpc instead. | - | [    - name](## "management_api_gnmi.enable_vrfs.[].name") | String | Required, Unique | | | VRF name. | - | [      access_group](## "management_api_gnmi.enable_vrfs.[].access_group") | String | | | | Standard IPv4 ACL name. | - | [  octa](## "management_api_gnmi.octa") deprecated | Dictionary | | | | These should not be mixed with the new keys above.
Octa activates `eos-native` provider and it is the only provider currently supported by EOS.
This key is deprecated. Support will be removed in AVD version 5.0.0. Use provider instead. | + | [  enable_vrfs](## "management_api_gnmi.enable_vrfs") removed | List | | | | This key was removed. Support was removed in AVD version 5.0.0. Use transport.grpc instead. | + | [  octa](## "management_api_gnmi.octa") removed | Dictionary | | | | This key was removed. Support was removed in AVD version 5.0.0. Use provider instead. | === "YAML" @@ -105,23 +103,4 @@ # Target IDs as a list. target_ids: - - - # These should not be mixed with the new keys above. - # This key is deprecated. - # Support will be removed in AVD version 5.0.0. - # Use transport.grpc instead. - enable_vrfs: - - # VRF name. - - name: - - # Standard IPv4 ACL name. - access_group: - - # These should not be mixed with the new keys above. - # Octa activates `eos-native` provider and it is the only provider currently supported by EOS. - # This key is deprecated. - # Support will be removed in AVD version 5.0.0. - # Use provider instead. - octa: ``` diff --git a/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/management-api-gnmi.j2 b/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/management-api-gnmi.j2 index abb476dc9f0..20ca541f372 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/management-api-gnmi.j2 +++ b/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/management-api-gnmi.j2 @@ -9,21 +9,6 @@ ### Management API gNMI #### Management API gNMI Summary -{# legacy table view that will be deprecated in future releases #} -{% if management_api_gnmi.enable_vrfs is defined %} -{% if management_api_gnmi.octa is defined %} -{% set octa = 'enabled' %} -{% else %} -{% set octa = 'disabled' %} -{% endif %} - -| VRF with gNMI | OCTA | -| ------------- | ---- | -{% for vrf in management_api_gnmi.enable_vrfs | arista.avd.natural_sort %} -| {{ vrf.name }} | {{ octa }} | -{% endfor %} -{% endif %} -{# new table view using the new flags #} {% if management_api_gnmi.transport.grpc is arista.avd.defined %} | Transport | SSL Profile | VRF | Notification Timestamp | ACL | Port | diff --git a/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/management-api-gnmi.j2 b/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/management-api-gnmi.j2 index a1d0c5e0aaa..5867094f1c1 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/management-api-gnmi.j2 +++ b/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/management-api-gnmi.j2 @@ -7,20 +7,6 @@ {% if management_api_gnmi is arista.avd.defined %} ! management api gnmi -{% for vrf in management_api_gnmi.enable_vrfs | arista.avd.natural_sort %} -{% if vrf.name == 'default' %} - transport grpc default -{% else %} - transport grpc {{ vrf.name }} -{% if vrf.access_group is arista.avd.defined %} - ip access-group {{ vrf.access_group }} -{% endif %} - vrf {{ vrf.name }} -{% endif %} -{% endfor %} -{% if management_api_gnmi.octa is defined %} - provider eos-native -{% endif %} {% if management_api_gnmi.transport is arista.avd.defined %} {% if management_api_gnmi.transport.grpc is arista.avd.defined %} {% for transport in management_api_gnmi.transport.grpc %} diff --git a/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml b/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml index b6174b42b86..625d982aae2 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml +++ b/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml @@ -6390,38 +6390,17 @@ keys: enable_vrfs: type: list deprecation: + removed: true warning: true new_key: transport.grpc remove_in_version: 5.0.0 - primary_key: name - convert_types: - - dict - description: 'These should not be mixed with the new keys above. - - ' - items: - type: dict - keys: - name: - type: str - description: VRF name. - convert_types: - - int - access_group: - type: str - description: Standard IPv4 ACL name. octa: type: dict deprecation: warning: true + removed: true new_key: provider remove_in_version: 5.0.0 - description: 'These should not be mixed with the new keys above. - - Octa activates `eos-native` provider and it is the only provider currently - supported by EOS. - - ' management_api_http: type: dict keys: diff --git a/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/management_api_gnmi.schema.yml b/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/management_api_gnmi.schema.yml index 030f890b734..a03db571b18 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/management_api_gnmi.schema.yml +++ b/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/management_api_gnmi.schema.yml @@ -117,31 +117,14 @@ keys: enable_vrfs: type: list deprecation: + removed: true warning: true new_key: transport.grpc remove_in_version: "5.0.0" - primary_key: name - convert_types: - - dict - description: | - These should not be mixed with the new keys above. - items: - type: dict - keys: - name: - type: str - description: VRF name. - convert_types: - - int - access_group: - type: str - description: Standard IPv4 ACL name. octa: type: dict deprecation: warning: true + removed: true new_key: provider remove_in_version: "5.0.0" - description: | - These should not be mixed with the new keys above. - Octa activates `eos-native` provider and it is the only provider currently supported by EOS. From 61e689048395039cc1433801dcfad4151b3ffaf7 Mon Sep 17 00:00:00 2001 From: laxmikantchintakindi <159624484+laxmikantchintakindi@users.noreply.github.com> Date: Fri, 2 Aug 2024 21:05:08 +0530 Subject: [PATCH 2/3] Cut(eos_cli_config_gen): Remove deprecated data model radius_servers (#4295) Co-authored-by: Laxmikant Chintakindi Co-authored-by: gmuloc --- .../arista/avd/docs/porting-guides/5.x.x.md | 2 +- .../documentation/devices/radius-server-2.md | 5 ---- .../inventory/host_vars/radius-server.yml | 2 -- .../documentation/devices/host1.md | 20 ------------- .../intended/configs/host1.cfg | 4 --- .../host_vars/host1/radius-servers.yml | 12 -------- .../docs/input-variables.md | 6 ---- .../docs/tables/radius-server.md | 1 + .../docs/tables/radius-servers.md | 29 ------------------- .../documentation/authentication.j2 | 1 - .../documentation/radius-server.j2 | 27 +++++++---------- .../j2templates/eos-intended-config.j2 | 2 -- .../j2templates/eos/radius-server.j2 | 1 - .../j2templates/eos/radius-servers.j2 | 21 -------------- .../schema/eos_cli_config_gen.schema.yml | 16 ++-------- .../radius_servers.schema.yml | 16 ++-------- 16 files changed, 18 insertions(+), 147 deletions(-) delete mode 100644 ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/inventory/host_vars/host1/radius-servers.yml delete mode 100644 ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/radius-servers.md delete mode 100644 python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/radius-servers.j2 diff --git a/ansible_collections/arista/avd/docs/porting-guides/5.x.x.md b/ansible_collections/arista/avd/docs/porting-guides/5.x.x.md index 208f5640438..9cae763b9ee 100644 --- a/ansible_collections/arista/avd/docs/porting-guides/5.x.x.md +++ b/ansible_collections/arista/avd/docs/porting-guides/5.x.x.md @@ -80,7 +80,7 @@ The following data model keys have been removed from `eos_cli_config_gen` in v5. | name_server | ip_name_servers | | old key 7.1(port_channel_interfaces) | new key(TODO) | | old key 7.2(port_channel_interfaces) | new key(TODO) | -| old key 8(radius_servers) | new key(TODO) | +| radius_servers | radius_server.hosts | | router_bgp.peer_groups[].peer_filter | router_bgp.listen_ranges[].peer_filter | | router_bgp.peer_groups[].bgp_listen_range_prefix | router_bgp.listen_ranges[].prefix | | router_bgp.address_family_ipv4.peer_groups[].next_hop.address_family_ipv6_originate | router_bgp.address_family_ipv4.peer_groups[].next_hop.address_family_ipv6 | diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/radius-server-2.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/radius-server-2.md index b9606cea739..56c6313c1a0 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/radius-server-2.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/radius-server-2.md @@ -41,11 +41,6 @@ interface Management1 - Attribute 32 is included in access requests using format 'myformat' -#### RADIUS Server Hosts - -| VRF | RADIUS Servers | TLS | SSL Profile | Timeout | Retransmit | -| --- | -------------- | --- | ----------- | ------- | ---------- | - #### RADIUS Server Device Configuration ```eos diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/radius-server.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/radius-server.yml index a0fb72f98f7..0e3afe72e45 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/radius-server.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/radius-server.yml @@ -1,6 +1,4 @@ --- -### Radius Server -# New data model to replace "radius_servers" radius_server: attribute_32_include_in_access_req: hostname: true diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/documentation/devices/host1.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/documentation/devices/host1.md index a21c60cc887..54c1567202a 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/documentation/devices/host1.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/documentation/devices/host1.md @@ -9,7 +9,6 @@ - [Management API HTTP](#management-api-http) - [Authentication](#authentication) - [Local Users](#local-users) - - [RADIUS Server](#radius-server) - [Monitoring](#monitoring) - [TerminAttr Daemon](#terminattr-daemon) - [Custom daemons](#custom-daemons) @@ -206,25 +205,6 @@ management api http-commands username admin privilege 15 role network-admin nopassword ``` -### RADIUS Server - -#### RADIUS Server Hosts - -| VRF | RADIUS Servers | TLS | SSL Profile | Timeout | Retransmit | -| --- | -------------- | --- | ----------- | ------- | ---------- | -| mgt | 10.10.10.157 | - | - | - | - | -| default | 10.10.10.249 | - | - | - | - | -| default | 10.10.10.158 | - | - | - | - | - -#### RADIUS Server Device Configuration - -```eos -! -radius-server host 10.10.10.157 vrf mgt key 7 -radius-server host 10.10.10.249 key 7 -radius-server host 10.10.10.158 key 7 -``` - ## Monitoring ### TerminAttr Daemon diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/intended/configs/host1.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/intended/configs/host1.cfg index 116f4d820d7..420f6e67018 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/intended/configs/host1.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/intended/configs/host1.cfg @@ -51,10 +51,6 @@ hostname host1 ip domain lookup source-interface Loopback0 ip domain lookup vrf mgt source-interface Management0 ! -radius-server host 10.10.10.157 vrf mgt key 7 071B245F5A -radius-server host 10.10.10.249 key 7 071B245F5A -radius-server host 10.10.10.158 key 7 071B245F5A -! sflow vrf MGMT destination 10.6.75.59 sflow vrf MGMT destination 10.6.75.62 123 sflow vrf MGMT source-interface Ethernet3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/inventory/host_vars/host1/radius-servers.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/inventory/host_vars/host1/radius-servers.yml deleted file mode 100644 index d47b3e4bba3..00000000000 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/inventory/host_vars/host1/radius-servers.yml +++ /dev/null @@ -1,12 +0,0 @@ -### Radius Servers - -# Testing radius_servers deprecated in 4.0.0. To be removed in 5.0.0 -radius_servers: - - host: 10.10.10.157 - vrf: mgt - key: 071B245F5A - - host: 10.10.10.249 - key: 071B245F5A - - host: 10.10.10.158 - vrf: default - key: 071B245F5A diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/input-variables.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/input-variables.md index db0450461b3..61ab34ac880 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/input-variables.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/input-variables.md @@ -80,12 +80,6 @@ roles/eos_cli_config_gen/docs/tables/ip-tacacs-source-interfaces.md roles/eos_cli_config_gen/docs/tables/local-users.md --8<-- -### Radius server - ---8<-- -roles/eos_cli_config_gen/docs/tables/radius-server.md ---8<-- - ### Radius servers --8<-- diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/radius-server.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/radius-server.md index a6208788869..eea89dd9995 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/radius-server.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/radius-server.md @@ -25,6 +25,7 @@ | [      retransmit](## "radius_server.hosts.[].retransmit") | Integer | | | Min: 0
Max: 100 | | | [      key](## "radius_server.hosts.[].key") | String | | | | Encrypted key - only type 7 supported.
When TLS is configured, `key` is ignored. | | [  tls_ssl_profile](## "radius_server.tls_ssl_profile") | String | | | | Name of global TLS profile. | + | [radius_servers](## "radius_servers") removed | List | | | | This key was removed. Support was removed in AVD version v5.0.0. Use radius_server.hosts instead. | === "YAML" diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/radius-servers.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/radius-servers.md deleted file mode 100644 index a9ccf627436..00000000000 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/radius-servers.md +++ /dev/null @@ -1,29 +0,0 @@ - -=== "Table" - - | Variable | Type | Required | Default | Value Restrictions | Description | - | -------- | ---- | -------- | ------- | ------------------ | ----------- | - | [radius_servers](## "radius_servers") deprecated | List, items: Dictionary | | | | This key is deprecated. Support will be removed in AVD version v5.0.0. Use radius_server.hosts instead. | - | [  - host](## "radius_servers.[].host") | String | | | | Host IP address or name. | - | [    vrf](## "radius_servers.[].vrf") | String | | | | | - | [    key](## "radius_servers.[].key") | String | | | | Encrypted key. | - -=== "YAML" - - ```yaml - # This key is deprecated. - # Support will be removed in AVD version v5.0.0. - # Use radius_server.hosts instead. - radius_servers: - - # Host IP address or name. - - host: - vrf: - - # Encrypted key. - key: - ``` diff --git a/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/authentication.j2 b/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/authentication.j2 index d48a38461fb..948c078a4c2 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/authentication.j2 +++ b/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/authentication.j2 @@ -10,7 +10,6 @@ or tacacs_servers is arista.avd.defined or ip_tacacs_source_interfaces is arista.avd.defined or radius_server is arista.avd.defined - or radius_servers is arista.avd.defined or ip_radius_source_interfaces is arista.avd.defined or aaa_server_groups is arista.avd.defined or aaa_authentication is arista.avd.defined diff --git a/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/radius-server.j2 b/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/radius-server.j2 index 4f1a90b34f0..779a56b131a 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/radius-server.j2 +++ b/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/radius-server.j2 @@ -4,7 +4,7 @@ that can be found in the LICENSE file. #} {# doc - radius servers #} -{% if radius_servers is arista.avd.defined or radius_server is arista.avd.defined %} +{% if radius_server is arista.avd.defined %} ### RADIUS Server {% if radius_server.attribute_32_include_in_access_req is arista.avd.defined %} @@ -29,32 +29,25 @@ - Dynamic Authorization for TLS connections uses SSL profile {{ radius_server.dynamic_authorization.tls_ssl_profile }} {% endif %} +{% if radius_server.hosts is arista.avd.defined %} #### RADIUS Server Hosts | VRF | RADIUS Servers | TLS | SSL Profile | Timeout | Retransmit | | --- | -------------- | --- | ----------- | ------- | ---------- | -{# Old data model #} -{% for radius_server in radius_servers | arista.avd.default([]) %} -{% set vrf = radius_server.vrf | arista.avd.default('default') %} -{% set timeout = radius_server.timeout | arista.avd.default('-') %} -{% set retransmit = radius_server.retransmit | arista.avd.default('-') %} -| {{ vrf }} | {{ radius_server.host }} | - | - | {{ timeout }} | {{ retransmit }} | -{% endfor %} -{# New data model #} -{% for host in radius_server.hosts | arista.avd.default([]) %} -{% set vrf = host.vrf | arista.avd.default('default') %} -{% set tls = host.tls.enabled | arista.avd.default('-') %} -{% set ssl_profile = host.tls.ssl_profile | arista.avd.default('-') %} -{% set timeout = host.timeout | arista.avd.default('-') %} -{% set retransmit = host.retransmit | arista.avd.default('-') %} +{% for host in radius_server.hosts | arista.avd.default([]) %} +{% set vrf = host.vrf | arista.avd.default('default') %} +{% set tls = host.tls.enabled | arista.avd.default('-') %} +{% set ssl_profile = host.tls.ssl_profile | arista.avd.default('-') %} +{% set timeout = host.timeout | arista.avd.default('-') %} +{% set retransmit = host.retransmit | arista.avd.default('-') %} | {{ vrf }} | {{ host.host }} | {{ tls }} | {{ ssl_profile }} | {{ timeout }} | {{ retransmit }} | -{% endfor %} +{% endfor %} +{% endif %} #### RADIUS Server Device Configuration ```eos -{% include 'eos/radius-servers.j2' %} {% include 'eos/radius-server.j2' %} ``` {% endif %} diff --git a/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos-intended-config.j2 b/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos-intended-config.j2 index 2f9b5e914db..d93fb78b20d 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos-intended-config.j2 +++ b/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos-intended-config.j2 @@ -110,8 +110,6 @@ {% include 'eos/poe.j2' %} {# ptp #} {% include 'eos/ptp.j2' %} -{# radius servers #} -{% include 'eos/radius-servers.j2' %} {# radius server #} {% include 'eos/radius-server.j2' %} {# sflow #} diff --git a/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/radius-server.j2 b/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/radius-server.j2 index ad2a195ad5a..0dd7ccd4d7e 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/radius-server.j2 +++ b/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/radius-server.j2 @@ -4,7 +4,6 @@ that can be found in the LICENSE file. #} {# eos - radius server #} -{# New data model replacing radius_servers #} {% if radius_server is arista.avd.defined %} ! {% if radius_server.attribute_32_include_in_access_req is arista.avd.defined %} diff --git a/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/radius-servers.j2 b/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/radius-servers.j2 deleted file mode 100644 index 3727d5cde21..00000000000 --- a/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/radius-servers.j2 +++ /dev/null @@ -1,21 +0,0 @@ -{# - Copyright (c) 2023-2024 Arista Networks, Inc. - Use of this source code is governed by the Apache License 2.0 - that can be found in the LICENSE file. -#} -{# eos - radius servers #} -{% if radius_servers is arista.avd.defined %} -! -{% for radius_server in radius_servers %} -{% if radius_server.host is arista.avd.defined %} -{% set radius_cli = "radius-server host " ~ radius_server.host %} -{% endif %} -{% if radius_server.vrf is arista.avd.defined and radius_server.vrf != "default" %} -{% set radius_cli = radius_cli ~ " vrf " ~ radius_server.vrf %} -{% endif %} -{% if radius_server.key is arista.avd.defined %} -{% set radius_cli = radius_cli ~ " key 7 " ~ radius_server.key | arista.avd.hide_passwords(hide_passwords) %} -{% endif %} -{{ radius_cli }} -{% endfor %} -{% endif %} diff --git a/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml b/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml index 625d982aae2..e3a2f753491 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml +++ b/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml @@ -10486,24 +10486,14 @@ keys: type: str description: Name of global TLS profile. radius_servers: + documentation_options: + table: radius-server deprecation: warning: true + removed: true new_key: radius_server.hosts remove_in_version: v5.0.0 type: list - items: - type: dict - keys: - host: - type: str - description: Host IP address or name. - vrf: - type: str - convert_types: - - int - key: - type: str - description: Encrypted key. redundancy: type: dict keys: diff --git a/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/radius_servers.schema.yml b/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/radius_servers.schema.yml index c36166737a1..ed4ce437be7 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/radius_servers.schema.yml +++ b/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/radius_servers.schema.yml @@ -7,21 +7,11 @@ type: dict keys: radius_servers: + documentation_options: + table: radius-server deprecation: warning: true + removed: true new_key: radius_server.hosts remove_in_version: v5.0.0 type: list - items: - type: dict - keys: - host: - type: str - description: Host IP address or name. - vrf: - type: str - convert_types: - - int - key: - type: str - description: Encrypted key. From 3ffe99186edacf09058558ab4b7834a9019c8f95 Mon Sep 17 00:00:00 2001 From: Mahesh Kumar <122076792+MaheshGSLAB@users.noreply.github.com> Date: Fri, 2 Aug 2024 21:29:24 +0530 Subject: [PATCH 3/3] Cut(eos_cli_config_gen): Remove the deprecated keys for port-channel-interfaces (#4297) Co-authored-by: Carl Buchmann Co-authored-by: Claus Holbech --- .../arista/avd/docs/porting-guides/5.x.x.md | 4 +- .../documentation/devices/host1.md | 8 +--- .../intended/configs/host1.cfg | 6 --- .../host1/port-channel-interfaces.yml | 5 --- .../docs/tables/port-channel-interfaces.md | 18 +------- .../documentation/port-channel-interfaces.j2 | 4 +- .../eos/port-channel-interfaces.j2 | 10 ++--- .../schema/eos_cli_config_gen.schema.yml | 44 +++++++++---------- .../port_channel_interfaces.schema.yml | 36 +++++++-------- 9 files changed, 50 insertions(+), 85 deletions(-) diff --git a/ansible_collections/arista/avd/docs/porting-guides/5.x.x.md b/ansible_collections/arista/avd/docs/porting-guides/5.x.x.md index 9cae763b9ee..33213ce8f3e 100644 --- a/ansible_collections/arista/avd/docs/porting-guides/5.x.x.md +++ b/ansible_collections/arista/avd/docs/porting-guides/5.x.x.md @@ -78,8 +78,8 @@ The following data model keys have been removed from `eos_cli_config_gen` in v5. | management_api_gnmi.octa | management_api_gnmi.provider | | management_security.entropy_source | management_security.entropy_sources | | name_server | ip_name_servers | -| old key 7.1(port_channel_interfaces) | new key(TODO) | -| old key 7.2(port_channel_interfaces) | new key(TODO) | +| port_channel_interfaces.esi | port_channel_interfaces.evpn_ethernet_segment.identifier | +| port_channel_interfaces.rt | port_channel_interfaces.evpn_ethernet_segment.route_target | | radius_servers | radius_server.hosts | | router_bgp.peer_groups[].peer_filter | router_bgp.listen_ranges[].peer_filter | | router_bgp.peer_groups[].bgp_listen_range_prefix | router_bgp.listen_ranges[].prefix | diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/documentation/devices/host1.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/documentation/devices/host1.md index 54c1567202a..e94864b5058 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/documentation/devices/host1.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/documentation/devices/host1.md @@ -555,7 +555,7 @@ interface Ethernet47 | Interface | Description | Type | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI | | --------- | ----------- | ---- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- | -| Port-Channel1 | SRV01_bond0 | switched | trunk | 2-3000 | - | - | - | - | - | 0000:0000:0404:0404:0303 | +| Port-Channel1 | SRV01_bond0 | switched | trunk | 2-3000 | - | - | - | - | - | - | | Port-Channel51 | ipv6_prefix | switched | trunk | 1-500 | - | - | - | - | - | - | ##### Flexible Encapsulation Interfaces @@ -573,9 +573,6 @@ interface Port-Channel1 switchport switchport trunk allowed vlan 2-3000 switchport mode trunk - evpn ethernet-segment - identifier 0000:0000:0404:0404:0303 - route-target import 04:04:03:03:02:02 lacp system-id 0303.0202.0101 ! interface Port-Channel2 @@ -587,9 +584,6 @@ interface Port-Channel2.1000 vlan id 1000 encapsulation vlan client dot1q 100 network client - evpn ethernet-segment - identifier 0000:0000:0303:0202:0101 - route-target import 03:03:02:02:01:01 lacp system-id 0303.0202.0101 ! interface Port-Channel51 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/intended/configs/host1.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/intended/configs/host1.cfg index 420f6e67018..71df23983ff 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/intended/configs/host1.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/intended/configs/host1.cfg @@ -121,9 +121,6 @@ interface Port-Channel1 switchport switchport trunk allowed vlan 2-3000 switchport mode trunk - evpn ethernet-segment - identifier 0000:0000:0404:0404:0303 - route-target import 04:04:03:03:02:02 lacp system-id 0303.0202.0101 ! interface Port-Channel2 @@ -135,9 +132,6 @@ interface Port-Channel2.1000 vlan id 1000 encapsulation vlan client dot1q 100 network client - evpn ethernet-segment - identifier 0000:0000:0303:0202:0101 - route-target import 03:03:02:02:01:01 lacp system-id 0303.0202.0101 ! interface Port-Channel51 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/inventory/host_vars/host1/port-channel-interfaces.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/inventory/host_vars/host1/port-channel-interfaces.yml index 78720cb676a..4e72acdc1bd 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/inventory/host_vars/host1/port-channel-interfaces.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen_deprecated_vars/inventory/host_vars/host1/port-channel-interfaces.yml @@ -4,13 +4,10 @@ # Testing port_channel_interfaces as dict of dict # Dict type is deprecated in 4.0.0. To be removed in 5.0.0 port_channel_interfaces: - # Testing deprecated esi and rt variables on port-channel interfaces/subinterfaces Port-Channel1: description: SRV01_bond0 vlans: 2-3000 mode: trunk - esi: 0000:0000:0404:0404:0303 - rt: 04:04:03:03:02:02 lacp_id: 0303.0202.0101 Port-Channel2: @@ -26,8 +23,6 @@ port_channel_interfaces: vlan: 100 network: client: true - esi: 0000:0000:0303:0202:0101 - rt: 03:03:02:02:01:01 lacp_id: 0303.0202.0101 Port-Channel51: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/port-channel-interfaces.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/port-channel-interfaces.md index 5c59aa78c56..8b5c713ce2a 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/port-channel-interfaces.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/port-channel-interfaces.md @@ -125,8 +125,6 @@ | [        shared_index](## "port_channel_interfaces.[].evpn_ethernet_segment.mpls.shared_index") | Integer | | | Min: 1
Max: 1024 | | | [        tunnel_flood_filter_time](## "port_channel_interfaces.[].evpn_ethernet_segment.mpls.tunnel_flood_filter_time") | Integer | | | | | | [      route_target](## "port_channel_interfaces.[].evpn_ethernet_segment.route_target") | String | | | | EVPN Route Target for ESI with format xx:xx:xx:xx:xx:xx. | - | [    esi](## "port_channel_interfaces.[].esi") deprecated | String | | | | EVPN Ethernet Segment Identifier (Type 1 format).
If both "esi" and "evpn_ethernet_segment.identifier" are defined, the new variable takes precedence.
This key is deprecated. Support will be removed in AVD version 5.0.0. Use evpn_ethernet_segment.identifier instead. | - | [    rt](## "port_channel_interfaces.[].rt") deprecated | String | | | | EVPN Route Target for ESI with format xx:xx:xx:xx:xx:xx.
If both "rt" and "evpn_ethernet_segment.route_target" are defined, the new variable takes precedence.
This key is deprecated. Support will be removed in AVD version 5.0.0. Use evpn_ethernet_segment.route_target instead. | | [    lacp_id](## "port_channel_interfaces.[].lacp_id") | String | | | | LACP ID with format xxxx.xxxx.xxxx. | | [    spanning_tree_bpdufilter](## "port_channel_interfaces.[].spanning_tree_bpdufilter") | String | | | Valid Values:
- enabled
- disabled
- True
- False
- true
- false | | | [    spanning_tree_bpduguard](## "port_channel_interfaces.[].spanning_tree_bpduguard") | String | | | Valid Values:
- enabled
- disabled
- True
- False
- true
- false | | @@ -250,6 +248,8 @@ | [        unmodified_enable](## "port_channel_interfaces.[].sflow.egress.unmodified_enable") | Boolean | | | | | | [    validate_state](## "port_channel_interfaces.[].validate_state") | Boolean | | | | Set to false to disable interface validation by the `eos_validate_state` role. | | [    eos_cli](## "port_channel_interfaces.[].eos_cli") | String | | | | Multiline EOS CLI rendered directly on the port-channel interface in the final EOS configuration. | + | [    esi](## "port_channel_interfaces.[].esi") removed | String | | | | EVPN Ethernet Segment Identifier (Type 1 format).
This key was removed. Support was removed in AVD version 5.0.0. Use evpn_ethernet_segment.identifier instead. | + | [    rt](## "port_channel_interfaces.[].rt") removed | String | | | | EVPN Route Target for ESI with format xx:xx:xx:xx:xx:xx.
This key was removed. Support was removed in AVD version 5.0.0. Use evpn_ethernet_segment.route_target instead. | === "YAML" @@ -479,20 +479,6 @@ # EVPN Route Target for ESI with format xx:xx:xx:xx:xx:xx. route_target: - # EVPN Ethernet Segment Identifier (Type 1 format). - # If both "esi" and "evpn_ethernet_segment.identifier" are defined, the new variable takes precedence. - # This key is deprecated. - # Support will be removed in AVD version 5.0.0. - # Use evpn_ethernet_segment.identifier instead. - esi: - - # EVPN Route Target for ESI with format xx:xx:xx:xx:xx:xx. - # If both "rt" and "evpn_ethernet_segment.route_target" are defined, the new variable takes precedence. - # This key is deprecated. - # Support will be removed in AVD version 5.0.0. - # Use evpn_ethernet_segment.route_target instead. - rt: - # LACP ID with format xxxx.xxxx.xxxx. lacp_id: spanning_tree_bpdufilter: diff --git a/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/port-channel-interfaces.j2 b/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/port-channel-interfaces.j2 index 805069cd252..24408c7713a 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/port-channel-interfaces.j2 +++ b/python-avd/pyavd/_eos_cli_config_gen/j2templates/documentation/port-channel-interfaces.j2 @@ -38,7 +38,7 @@ {% set lacp_fallback_timeout = port_channel_interface.lacp_fallback_timeout | arista.avd.default("-") %} {% set lacp_fallback_mode = port_channel_interface.lacp_fallback_mode | arista.avd.default("-") %} {% set mlag = port_channel_interface.mlag | arista.avd.default("-") %} -{% set esi = port_channel_interface.evpn_ethernet_segment.identifier | arista.avd.default(port_channel_interface.esi, "-") %} +{% set esi = port_channel_interface.evpn_ethernet_segment.identifier | arista.avd.default("-") %} | {{ port_channel_interface.name }} | {{ description }} | {{ type }} | {{ mode }} | {{ vlans }} | {{ native_vlan }} | {{ l2.trunk_groups }} | {{ lacp_fallback_timeout }} | {{ lacp_fallback_mode }} | {{ mlag }} | {{ esi }} | {% endif %} {% endfor %} @@ -171,7 +171,7 @@ {% for evpn_es_po_interface in evpn_es_po_interfaces | arista.avd.natural_sort('name') %} {% set esi = evpn_es_po_interface.evpn_ethernet_segment.identifier | arista.avd.default(evpn_es_po_interface.esi, "-") %} {% set redundancy = evpn_es_po_interface.evpn_ethernet_segment.redundancy | arista.avd.default("all-active") %} -{% set rt = evpn_es_po_interface.evpn_ethernet_segment.route_target | arista.avd.default(evpn_es_po_interface.rt, "-") %} +{% set rt = evpn_es_po_interface.evpn_ethernet_segment.route_target | arista.avd.default("-") %} | {{ evpn_es_po_interface.name }} | {{ esi }} | {{ redundancy }} | {{ rt }} | {% endfor %} {% if evpn_dfe_po_interfaces | length > 0 %} diff --git a/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/port-channel-interfaces.j2 b/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/port-channel-interfaces.j2 index 24b2882a56f..6b5ebaa55ea 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/port-channel-interfaces.j2 +++ b/python-avd/pyavd/_eos_cli_config_gen/j2templates/eos/port-channel-interfaces.j2 @@ -120,10 +120,10 @@ interface {{ port_channel_interface.name }} {% if port_channel_interface.flow_tracker.sampled is arista.avd.defined %} flow tracker sampled {{ port_channel_interface.flow_tracker.sampled }} {% endif %} -{% if port_channel_interface.evpn_ethernet_segment.identifier | arista.avd.default(port_channel_interface.esi) is arista.avd.defined or port_channel_interface.evpn_ethernet_segment is arista.avd.defined %} +{% if port_channel_interface.evpn_ethernet_segment is arista.avd.defined %} evpn ethernet-segment -{% if port_channel_interface.evpn_ethernet_segment.identifier | arista.avd.default(port_channel_interface.esi) is arista.avd.defined %} - identifier {{ port_channel_interface.evpn_ethernet_segment.identifier | arista.avd.default(port_channel_interface.esi) }} +{% if port_channel_interface.evpn_ethernet_segment.identifier is arista.avd.defined %} + identifier {{ port_channel_interface.evpn_ethernet_segment.identifier }} {% endif %} {% if port_channel_interface.evpn_ethernet_segment.redundancy is arista.avd.defined %} redundancy {{ port_channel_interface.evpn_ethernet_segment.redundancy }} @@ -157,8 +157,8 @@ interface {{ port_channel_interface.name }} {% if port_channel_interface.evpn_ethernet_segment.mpls.shared_index is arista.avd.defined %} mpls shared index {{ port_channel_interface.evpn_ethernet_segment.mpls.shared_index }} {% endif %} -{% if port_channel_interface.evpn_ethernet_segment.route_target | arista.avd.default(port_channel_interface.rt) is arista.avd.defined %} - route-target import {{ port_channel_interface.evpn_ethernet_segment.route_target | arista.avd.default(port_channel_interface.rt) }} +{% if port_channel_interface.evpn_ethernet_segment.route_target is arista.avd.defined %} + route-target import {{ port_channel_interface.evpn_ethernet_segment.route_target }} {% endif %} {% endif %} {% if port_channel_interface.snmp_trap_link_change is arista.avd.defined(false) %} diff --git a/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml b/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml index e3a2f753491..9b1e0564f78 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml +++ b/python-avd/pyavd/_eos_cli_config_gen/schema/eos_cli_config_gen.schema.yml @@ -9134,30 +9134,6 @@ keys: route_target: type: str description: EVPN Route Target for ESI with format xx:xx:xx:xx:xx:xx. - esi: - type: str - description: 'EVPN Ethernet Segment Identifier (Type 1 format). - - If both "esi" and "evpn_ethernet_segment.identifier" are defined, the - new variable takes precedence. - - ' - deprecation: - warning: true - new_key: evpn_ethernet_segment.identifier - remove_in_version: 5.0.0 - rt: - type: str - description: 'EVPN Route Target for ESI with format xx:xx:xx:xx:xx:xx. - - If both "rt" and "evpn_ethernet_segment.route_target" are defined, the - new variable takes precedence. - - ' - deprecation: - warning: true - new_key: evpn_ethernet_segment.route_target - remove_in_version: 5.0.0 lacp_id: type: str description: LACP ID with format xxxx.xxxx.xxxx. @@ -9514,6 +9490,26 @@ keys: type: str description: Multiline EOS CLI rendered directly on the port-channel interface in the final EOS configuration. + esi: + type: str + description: 'EVPN Ethernet Segment Identifier (Type 1 format). + + ' + deprecation: + removed: true + warning: true + new_key: evpn_ethernet_segment.identifier + remove_in_version: 5.0.0 + rt: + type: str + description: 'EVPN Route Target for ESI with format xx:xx:xx:xx:xx:xx. + + ' + deprecation: + removed: true + warning: true + new_key: evpn_ethernet_segment.route_target + remove_in_version: 5.0.0 prefix_lists: type: list primary_key: name diff --git a/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/port_channel_interfaces.schema.yml b/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/port_channel_interfaces.schema.yml index a680bdb6f9a..41241ea16cf 100644 --- a/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/port_channel_interfaces.schema.yml +++ b/python-avd/pyavd/_eos_cli_config_gen/schema/schema_fragments/port_channel_interfaces.schema.yml @@ -502,24 +502,6 @@ keys: route_target: type: str description: EVPN Route Target for ESI with format xx:xx:xx:xx:xx:xx. - esi: - type: str - description: | - EVPN Ethernet Segment Identifier (Type 1 format). - If both "esi" and "evpn_ethernet_segment.identifier" are defined, the new variable takes precedence. - deprecation: - warning: true - new_key: evpn_ethernet_segment.identifier - remove_in_version: "5.0.0" - rt: - type: str - description: | - EVPN Route Target for ESI with format xx:xx:xx:xx:xx:xx. - If both "rt" and "evpn_ethernet_segment.route_target" are defined, the new variable takes precedence. - deprecation: - warning: true - new_key: evpn_ethernet_segment.route_target - remove_in_version: "5.0.0" lacp_id: type: str description: LACP ID with format xxxx.xxxx.xxxx. @@ -854,3 +836,21 @@ keys: eos_cli: type: str description: Multiline EOS CLI rendered directly on the port-channel interface in the final EOS configuration. + esi: + type: str + description: | + EVPN Ethernet Segment Identifier (Type 1 format). + deprecation: + removed: true + warning: true + new_key: evpn_ethernet_segment.identifier + remove_in_version: "5.0.0" + rt: + type: str + description: | + EVPN Route Target for ESI with format xx:xx:xx:xx:xx:xx. + deprecation: + removed: true + warning: true + new_key: evpn_ethernet_segment.route_target + remove_in_version: "5.0.0"