From 2b93bb6af62436cc79538b6f91efd889e2de7507 Mon Sep 17 00:00:00 2001 From: laxmikant Date: Tue, 20 Feb 2024 14:51:19 +0530 Subject: [PATCH 01/44] Feat(eos_cli_config_gen): Add support for Postcard telemetry --- .../devices/monitor-telemetry-postcard.md | 34 ++++ .../intended/configs/aaa-2.cfg | 1 + .../intended/configs/aaa.cfg | 1 + .../intended/configs/acl.cfg | 1 + .../intended/configs/address-locking.cfg | 1 + .../intended/configs/agents.cfg | 1 + .../intended/configs/aliases.cfg | 1 + .../application-traffic-recognition.cfg | 1 + .../intended/configs/arp.cfg | 1 + .../intended/configs/as-path.cfg | 1 + .../intended/configs/banners_without_eof.cfg | 1 + .../intended/configs/base.cfg | 1 + .../intended/configs/boot.cfg | 1 + .../intended/configs/class-maps.cfg | 1 + .../intended/configs/clock.cfg | 1 + .../intended/configs/custom-templates.cfg | 1 + .../intended/configs/cvx.cfg | 1 + .../intended/configs/daemon_terminattr.cfg | 1 + .../intended/configs/daemons.cfg | 1 + .../intended/configs/dhcp-relay.cfg | 1 + .../intended/configs/dhcp-servers.cfg | 1 + .../intended/configs/dns-ntp.cfg | 1 + .../intended/configs/dot1x-2.cfg | 1 + .../intended/configs/dot1x.cfg | 1 + .../intended/configs/dps-interfaces.cfg | 1 + .../intended/configs/enable-password.cfg | 1 + .../intended/configs/errdisable.cfg | 1 + .../intended/configs/ethernet-interfaces.cfg | 1 + .../intended/configs/event-handlers.cfg | 1 + .../intended/configs/event-monitor.cfg | 1 + .../intended/configs/flow-tracking-2.cfg | 1 + .../intended/configs/flow-tracking.cfg | 1 + .../configs/generate_device_documentation.cfg | 1 + .../intended/configs/groups.cfg | 1 + .../intended/configs/hardware-counter.cfg | 1 + .../intended/configs/hardware.cfg | 1 + .../intended/configs/hide-passwords.cfg | 1 + .../intended/configs/hostname.cfg | 1 + .../intended/configs/igmp-snooping.cfg | 1 + .../intended/configs/interface-defaults.cfg | 1 + .../intended/configs/interface-profiles.cfg | 1 + .../intended/configs/ip-access-lists.cfg | 1 + .../configs/ip-client-source-interfaces.cfg | 1 + .../intended/configs/ip-community-lists.cfg | 1 + .../intended/configs/ip-dhcp-relay.cfg | 1 + .../intended/configs/ip-dhcp-snooping.cfg | 1 + .../ip-extended-community-lists-regexp.cfg | 1 + .../configs/ip-extended-community-lists.cfg | 1 + .../configs/ip-igmp-snooping-enable.cfg | 1 + .../intended/configs/ip-nat.cfg | 1 + .../configs/ip-radius-source-interface.cfg | 1 + .../intended/configs/ip-routing-fib.cfg | 1 + .../intended/configs/ip-routing.cfg | 1 + .../intended/configs/ip-security.cfg | 1 + .../configs/ip-tacacs-source-interface.cfg | 1 + .../intended/configs/ipv6-access-lists.cfg | 1 + .../intended/configs/ipv6-static-routes.cfg | 1 + .../configs/l2-protocol-forwarding.cfg | 1 + .../intended/configs/lacp.cfg | 1 + .../intended/configs/link-tracking-groups.cfg | 1 + .../intended/configs/lldp.cfg | 1 + .../intended/configs/load-interval.cfg | 1 + .../intended/configs/local-users.cfg | 1 + .../intended/configs/logging-match-list.cfg | 1 + .../intended/configs/logging-minimal.cfg | 1 + .../intended/configs/logging.cfg | 1 + .../intended/configs/loopbacks-interfaces.cfg | 1 + .../intended/configs/mac-access-lists.cfg | 1 + .../intended/configs/mac-address-table.cfg | 1 + .../configs/mac-security-eth-po-entropy.cfg | 1 + .../intended/configs/maintenance.cfg | 1 + .../intended/configs/management-accounts.cfg | 1 + .../intended/configs/management-api-http.cfg | 1 + .../configs/management-api-models.cfg | 1 + .../intended/configs/management-console.cfg | 1 + .../intended/configs/management-cvx.cfg | 1 + .../intended/configs/management-defaults.cfg | 1 + .../configs/management-gnmi-grpc-tunnel.cfg | 1 + .../configs/management-gnmi-new-flags.cfg | 1 + .../intended/configs/management-gnmi.cfg | 1 + .../configs/management-interfaces.cfg | 1 + .../intended/configs/management-security.cfg | 1 + .../configs/management-ssh-custom-cipher.cfg | 1 + .../intended/configs/management-ssh.cfg | 1 + .../configs/management-tech-support.cfg | 1 + .../intended/configs/match-lists.cfg | 1 + .../intended/configs/mcs-client.cfg | 1 + .../intended/configs/mlag-configuration.cfg | 1 + .../intended/configs/monitor-connectivity.cfg | 1 + .../intended/configs/monitor-sessions.cfg | 1 + .../configs/monitor-telemetry-postcard.cfg | 27 +++ .../intended/configs/mpls.cfg | 1 + .../intended/configs/none_configuration.cfg | 1 + .../intended/configs/ntp.cfg | 1 + .../intended/configs/object-tracking.cfg | 1 + .../intended/configs/patch-panel.cfg | 1 + .../intended/configs/peer-filters.cfg | 1 + .../intended/configs/platform.cfg | 1 + .../intended/configs/poe.cfg | 1 + .../intended/configs/policy-maps-pbr.cfg | 1 + .../intended/configs/policy-maps.cfg | 1 + .../configs/port-channel-interfaces.cfg | 1 + .../intended/configs/prefix-lists.cfg | 1 + .../intended/configs/prompt.cfg | 1 + .../intended/configs/ptp.cfg | 1 + .../intended/configs/qos.cfg | 1 + .../queue-monitor-length-notifying.cfg | 1 + .../intended/configs/queue-monitor-length.cfg | 1 + .../configs/queue-monitor-streaming.cfg | 1 + .../intended/configs/radius-server-2.cfg | 1 + .../intended/configs/radius-server.cfg | 1 + .../intended/configs/redundancy.cfg | 1 + .../intended/configs/roles.cfg | 1 + .../intended/configs/route-maps.cfg | 1 + .../router-adaptive-virtual-topology.cfg | 1 + .../intended/configs/router-bfd-1.cfg | 1 + .../intended/configs/router-bfd-2.cfg | 1 + .../intended/configs/router-bgp-base.cfg | 1 + .../intended/configs/router-bgp-evpn-mpls.cfg | 1 + .../router-bgp-evpn-vpn-import-pruning.cfg | 1 + .../intended/configs/router-bgp-evpn.cfg | 1 + .../configs/router-bgp-link-state.cfg | 1 + .../configs/router-bgp-path-selection.cfg | 1 + .../intended/configs/router-bgp-rtc.cfg | 1 + .../intended/configs/router-bgp-v4-evpn.cfg | 1 + .../configs/router-bgp-v4-v6-evpn.cfg | 1 + .../configs/router-bgp-v4-v6-sr-te.cfg | 1 + .../configs/router-bgp-vpn-ipv4-vpn-ipv6.cfg | 1 + .../intended/configs/router-bgp-vpws.cfg | 1 + .../router-bgp-vrf-address-families.cfg | 1 + .../intended/configs/router-bgp-vrf-lite.cfg | 1 + .../intended/configs/router-general.cfg | 1 + .../intended/configs/router-igmp.cfg | 1 + .../intended/configs/router-isis-new.cfg | 1 + .../intended/configs/router-isis.cfg | 1 + .../intended/configs/router-l2-vpn.cfg | 1 + .../intended/configs/router-msdp.cfg | 1 + .../intended/configs/router-multicast.cfg | 1 + .../intended/configs/router-ospf.cfg | 1 + .../configs/router-path-selection.cfg | 1 + .../configs/router-pim-sparse-mode.cfg | 1 + .../configs/router-service-insertion.cfg | 1 + .../configs/router-traffic-engineering.cfg | 1 + .../service-routing-configuration-bgp.cfg | 1 + .../service-routing-protocols-model-2.cfg | 1 + .../service-routing-protocols-model.cfg | 1 + .../intended/configs/sflow.cfg | 1 + .../intended/configs/snmp-server-traps.cfg | 1 + .../intended/configs/snmp.cfg | 1 + .../intended/configs/spanning-tree-bpdu.cfg | 1 + .../configs/spanning-tree-rapid-pvst.cfg | 1 + .../intended/configs/spanning-tree-rstp.cfg | 1 + .../intended/configs/spanning-tree.cfg | 1 + .../intended/configs/static-routes.cfg | 1 + .../intended/configs/stun.cfg | 1 + .../intended/configs/switchport-mode.cfg | 1 + .../intended/configs/system.cfg | 1 + .../intended/configs/tap-aggregation.cfg | 1 + .../intended/configs/tcam-profile.cfg | 1 + .../intended/configs/terminattr-cloud.cfg | 1 + .../configs/terminattr-extra-flags.cfg | 1 + .../terminattr-multi-cluster-certs.cfg | 1 + .../configs/terminattr-multi-cluster.cfg | 1 + .../configs/terminattr-onprem-certs.cfg | 1 + .../configs/terminattr-onprem-token.cfg | 1 + .../configs/terminattr-prem-disableaaa.cfg | 1 + .../configs/terminattr-prem-no-ingestkey.cfg | 1 + .../intended/configs/terminattr-prem.cfg | 1 + .../intended/configs/traffic-policies.cfg | 1 + ...ansceiver_qsfp_default_mode_4x10_false.cfg | 1 + .../intended/configs/tunnel-interfaces.cfg | 1 + .../configs/unsupported-transceiver.cfg | 1 + .../intended/configs/virtual-source-nat.cfg | 1 + .../intended/configs/vlan-interfaces.cfg | 1 + .../intended/configs/vlan-internal-order.cfg | 1 + .../intended/configs/vlans.cfg | 1 + .../intended/configs/vmtracer-sessions.cfg | 1 + .../intended/configs/vrf-instances.cfg | 1 + .../configs/vxlan-interface-false.cfg | 1 + .../intended/configs/vxlan-interface.cfg | 1 + .../host_vars/monitor-telemetry-postcard.yml | 20 +++ .../eos_cli_config_gen/inventory/hosts.ini | 1 + .../docs/tables/monitor-telemetry-postcard.md | 78 ++++++++ .../eos_cli_config_gen.jsonschema.json | 166 ++++++++++++++++++ .../schemas/eos_cli_config_gen.schema.yml | 73 ++++++++ .../monitor_telemetry_postcard.schema.yml | 78 ++++++++ .../templates/eos-intended-config.j2 | 2 + .../eos/monitor-telemetry-postcard.j2 | 53 ++++++ 188 files changed, 710 insertions(+) create mode 100644 ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard.md create mode 100644 ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg create mode 100644 ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml create mode 100644 ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md create mode 100644 ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml create mode 100644 ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard.md new file mode 100644 index 00000000000..302999109f1 --- /dev/null +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard.md @@ -0,0 +1,34 @@ +# monitor-telemetry-postcard + +## Table of Contents + +- [Management](#management) + - [Management Interfaces](#management-interfaces) + +## Management + +### Management Interfaces + +#### Management Interfaces Summary + +##### IPv4 + +| Management Interface | Description | Type | VRF | IP Address | Gateway | +| -------------------- | ----------- | ---- | --- | ---------- | ------- | +| Management1 | oob_management | oob | MGMT | 10.73.255.122/24 | 10.73.255.2 | + +##### IPv6 + +| Management Interface | Description | Type | VRF | IPv6 Address | IPv6 Gateway | +| -------------------- | ----------- | ---- | --- | ------------ | ------------ | +| Management1 | oob_management | oob | MGMT | - | - | + +#### Management Interfaces Device Configuration + +```eos +! +interface Management1 + description oob_management + vrf MGMT + ip address 10.73.255.122/24 +``` diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aaa-2.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aaa-2.cfg index e93bba1a3a7..c0be84bdc57 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aaa-2.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aaa-2.cfg @@ -14,5 +14,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aaa.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aaa.cfg index 6a2389cfbc9..46029dce84e 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aaa.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aaa.cfg @@ -58,5 +58,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/acl.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/acl.cfg index c687efd7e75..3e6f888bbdb 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/acl.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/acl.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! ip access-list 4 10 remark ACL to restrict access RFC1918 addresses diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/address-locking.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/address-locking.cfg index a11d73c69a1..5f31175979d 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/address-locking.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/address-locking.cfg @@ -37,5 +37,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/agents.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/agents.cfg index 0cd0578b048..b291c27b595 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/agents.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/agents.cfg @@ -14,5 +14,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aliases.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aliases.cfg index 06d91f0b19c..a82ab11a6d6 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aliases.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aliases.cfg @@ -15,5 +15,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/application-traffic-recognition.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/application-traffic-recognition.cfg index 377cef081a6..bb945fd3638 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/application-traffic-recognition.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/application-traffic-recognition.cfg @@ -94,5 +94,6 @@ application traffic recognition ! field-set l4-port src_port_set2 5700-5800, 6500-6600 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/arp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/arp.cfg index 99b4a80c3da..391193dfdf8 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/arp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/arp.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! arp aging timeout default 300 arp vrf BLAH 42.42.42.42 DEAD.BEEF.CAFE arpa diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/as-path.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/as-path.cfg index 20fcb37e2d8..62333667ec7 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/as-path.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/as-path.cfg @@ -16,5 +16,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/banners_without_eof.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/banners_without_eof.cfg index 4f4f5ec917b..23d896d366e 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/banners_without_eof.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/banners_without_eof.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! banner login !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/base.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/base.cfg index 29b621245f1..7356f1b0d6d 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/base.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/base.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! banner login !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/boot.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/boot.cfg index a947ca1d143..1070df41e38 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/boot.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/boot.cfg @@ -13,5 +13,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/class-maps.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/class-maps.cfg index 616d46b9616..1a3c8cd533c 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/class-maps.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/class-maps.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! class-map type qos match-any CM_REPLICATION_LD match ip access-group ACL_REPLICATION_LD diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/clock.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/clock.cfg index 30658b8b65e..180def13902 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/clock.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/clock.cfg @@ -13,5 +13,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/custom-templates.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/custom-templates.cfg index 57b5cadece7..e6465f5e787 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/custom-templates.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/custom-templates.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! ! test-custom-template-with-logic-1 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/cvx.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/cvx.cfg index 8034f900737..c1bbf62f5db 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/cvx.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/cvx.cfg @@ -22,5 +22,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/daemon_terminattr.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/daemon_terminattr.cfg index 1dab5059ca2..7ae1e40d813 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/daemon_terminattr.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/daemon_terminattr.cfg @@ -15,5 +15,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/daemons.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/daemons.cfg index 78927057502..7f3440bba37 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/daemons.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/daemons.cfg @@ -19,5 +19,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dhcp-relay.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dhcp-relay.cfg index 18c31cdcee6..bd8d09e821a 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dhcp-relay.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dhcp-relay.cfg @@ -17,5 +17,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dhcp-servers.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dhcp-servers.cfg index 1981af26a47..5acea74d848 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dhcp-servers.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dhcp-servers.cfg @@ -50,5 +50,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dns-ntp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dns-ntp.cfg index 054cc1462ed..de0550bc040 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dns-ntp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dns-ntp.cfg @@ -26,5 +26,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dot1x-2.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dot1x-2.cfg index a0b0f3ed655..fb4381efdee 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dot1x-2.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dot1x-2.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! dot1x system-auth-control dot1x protocol lldp bypass diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dot1x.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dot1x.cfg index 09216430685..a7ddbf02207 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dot1x.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dot1x.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! dot1x system-auth-control dot1x protocol lldp bypass diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dps-interfaces.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dps-interfaces.cfg index 06f3c802165..7baf770bc3e 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dps-interfaces.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dps-interfaces.cfg @@ -21,5 +21,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/enable-password.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/enable-password.cfg index 13154485cb5..96c1db66976 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/enable-password.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/enable-password.cfg @@ -11,5 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/errdisable.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/errdisable.cfg index 74c804bc242..82293e8a594 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/errdisable.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/errdisable.cfg @@ -35,5 +35,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ethernet-interfaces.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ethernet-interfaces.cfg index b68d118ef3d..8caadaa35ce 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ethernet-interfaces.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ethernet-interfaces.cfg @@ -632,5 +632,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/event-handlers.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/event-handlers.cfg index 004de6e950d..1417ff1c501 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/event-handlers.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/event-handlers.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! event-handler CONFIG_VERSIONING trigger on-startup-config diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/event-monitor.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/event-monitor.cfg index 1b978fce8a4..835308337ca 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/event-monitor.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/event-monitor.cfg @@ -13,5 +13,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/flow-tracking-2.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/flow-tracking-2.cfg index 14d4a268ec4..b37e7b7b009 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/flow-tracking-2.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/flow-tracking-2.cfg @@ -19,5 +19,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/flow-tracking.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/flow-tracking.cfg index 5eb8699c1f9..d09f9fb66c0 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/flow-tracking.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/flow-tracking.cfg @@ -77,5 +77,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/generate_device_documentation.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/generate_device_documentation.cfg index 1e60695d073..dbe20d4d677 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/generate_device_documentation.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/generate_device_documentation.cfg @@ -11,5 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/groups.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/groups.cfg index 6ab3f98f257..273c7018fb7 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/groups.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/groups.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! group bgp bar vrf red diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hardware-counter.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hardware-counter.cfg index 420d4a7db60..6af921ccc41 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hardware-counter.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hardware-counter.cfg @@ -19,5 +19,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hardware.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hardware.cfg index e3955c97a4e..7fcebbbb459 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hardware.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hardware.cfg @@ -17,5 +17,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hide-passwords.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hide-passwords.cfg index eaaa180fb1c..99b4b255dd3 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hide-passwords.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hide-passwords.cfg @@ -22,6 +22,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router bgp 65100 router-id 10.50.64.15 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hostname.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hostname.cfg index b425d153a2c..84463eee468 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hostname.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hostname.cfg @@ -11,5 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/igmp-snooping.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/igmp-snooping.cfg index 56f1874c20b..ec549260b73 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/igmp-snooping.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/igmp-snooping.cfg @@ -25,5 +25,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/interface-defaults.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/interface-defaults.cfg index f204ec0cba1..a23b34a5654 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/interface-defaults.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/interface-defaults.cfg @@ -18,5 +18,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/interface-profiles.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/interface-profiles.cfg index 2196e707cfa..1be8b3194b2 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/interface-profiles.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/interface-profiles.cfg @@ -20,5 +20,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-access-lists.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-access-lists.cfg index 0d257db96d2..a4b39651e7f 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-access-lists.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-access-lists.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! ip access-list ACL_SEQUENCE_AND_COUNTERS counters per-entry diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-client-source-interfaces.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-client-source-interfaces.cfg index 04981f1f18a..41c469e3d80 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-client-source-interfaces.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-client-source-interfaces.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! ip ftp client source-interface Loopback0 vrf default ip ftp client source-interface Management0 vrf MGMT diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-community-lists.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-community-lists.cfg index dab5b3e9ea7..3278c503fae 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-community-lists.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-community-lists.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! ip community-list TEST1 permit 1000:1000 ip community-list TEST2 permit 2000:3000 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-dhcp-relay.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-dhcp-relay.cfg index f04076cd30d..37c67c2e766 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-dhcp-relay.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-dhcp-relay.cfg @@ -13,5 +13,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-dhcp-snooping.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-dhcp-snooping.cfg index 51af40d5854..64ecf5146a6 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-dhcp-snooping.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-dhcp-snooping.cfg @@ -16,5 +16,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-extended-community-lists-regexp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-extended-community-lists-regexp.cfg index 45a16ded88c..62fed819155 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-extended-community-lists-regexp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-extended-community-lists-regexp.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! ip extcommunity-list regexp TEST1 permit 65[0-9]{3}:[0-9]+ ip extcommunity-list regexp TEST1 deny .* diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-extended-community-lists.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-extended-community-lists.cfg index c9922626f81..d78ed4fbdce 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-extended-community-lists.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-extended-community-lists.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! ip extcommunity-list TEST1 permit 65000:65000 ip extcommunity-list TEST1 deny 65002:65002 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-igmp-snooping-enable.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-igmp-snooping-enable.cfg index 15dff960b53..266e1c9a2d6 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-igmp-snooping-enable.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-igmp-snooping-enable.cfg @@ -44,5 +44,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-nat.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-nat.cfg index 4383570e382..6b7fe51df29 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-nat.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-nat.cfg @@ -60,6 +60,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! ip nat pool prefix_16 prefix-length 16 range 10.0.0.1 10.0.255.254 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-radius-source-interface.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-radius-source-interface.cfg index 435bef9f0f0..71fc766976d 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-radius-source-interface.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-radius-source-interface.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! ip radius vrf default source-interface loopback1 ! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-routing-fib.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-routing-fib.cfg index 978274426a6..bf6f338b416 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-routing-fib.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-routing-fib.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! ip routing ip hardware fib optimize prefixes profile urpf-internet diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-routing.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-routing.cfg index 7884ebc8827..187701aec5c 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-routing.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-routing.cfg @@ -15,6 +15,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! ip routing ipv6 interfaces no ip icmp redirect diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-security.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-security.cfg index 1f17d5c1147..cc52e73dab0 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-security.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-security.cfg @@ -59,5 +59,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-tacacs-source-interface.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-tacacs-source-interface.cfg index 4591c7ca113..fa24178772f 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-tacacs-source-interface.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-tacacs-source-interface.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! ip tacacs vrf default source-interface loopback1 ! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ipv6-access-lists.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ipv6-access-lists.cfg index 406e74b13aa..3666c0f242a 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ipv6-access-lists.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ipv6-access-lists.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! ipv6 access-list TEST1 5 deny ipv6 fe80::/64 any diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ipv6-static-routes.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ipv6-static-routes.cfg index eedea36bb8b..0b47a7da2cf 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ipv6-static-routes.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ipv6-static-routes.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! ipv6 route 2a01:cb04:4e6:d300::/64 Vlan101 2a01:cb04:4e6:d100::1 ipv6 route 2a01:cb04:4e6:d400::/64 Vlan101 2a01:cb04:4e6:d100::1 200 tag 666 name RT-TO-FAKE-DMZ diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/l2-protocol-forwarding.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/l2-protocol-forwarding.cfg index 9dbba4d2e1d..b15790e8a1a 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/l2-protocol-forwarding.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/l2-protocol-forwarding.cfg @@ -59,5 +59,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/lacp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/lacp.cfg index 690a597706e..279f3cf909b 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/lacp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/lacp.cfg @@ -15,5 +15,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/link-tracking-groups.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/link-tracking-groups.cfg index 0b3b20ff3a8..4d607b6f5a3 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/link-tracking-groups.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/link-tracking-groups.cfg @@ -16,5 +16,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/lldp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/lldp.cfg index 7649bb1bcee..99ef7121094 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/lldp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/lldp.cfg @@ -43,5 +43,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/load-interval.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/load-interval.cfg index dc54045d167..4c248679945 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/load-interval.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/load-interval.cfg @@ -13,5 +13,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/local-users.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/local-users.cfg index ee0bc361ada..f8a8a0545aa 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/local-users.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/local-users.cfg @@ -16,5 +16,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging-match-list.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging-match-list.cfg index 6cf3de4ffb9..027da88c722 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging-match-list.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging-match-list.cfg @@ -15,5 +15,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging-minimal.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging-minimal.cfg index b090cc2ca7f..d082ad04dc3 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging-minimal.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging-minimal.cfg @@ -16,5 +16,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging.cfg index 4455ee0ac0c..7c4aa8d9e73 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging.cfg @@ -29,5 +29,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/loopbacks-interfaces.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/loopbacks-interfaces.cfg index 03cc7d556ff..60df62fd4db 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/loopbacks-interfaces.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/loopbacks-interfaces.cfg @@ -44,5 +44,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-access-lists.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-access-lists.cfg index 547a6737e06..d541c373fa5 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-access-lists.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-access-lists.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! mac access-list TEST1 10 deny any 01:80:c2:00:00:00 00:00:00:00:00:00 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-address-table.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-address-table.cfg index e9d184771ea..2ffc2b87129 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-address-table.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-address-table.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! mac address-table aging-time 100 ! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-security-eth-po-entropy.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-security-eth-po-entropy.cfg index 4837b26d1c8..dda84318b9e 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-security-eth-po-entropy.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-security-eth-po-entropy.cfg @@ -45,6 +45,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! management security entropy source hardware diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/maintenance.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/maintenance.cfg index 23c35d0da11..6cded571c69 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/maintenance.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/maintenance.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! maintenance profile bgp BP1 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-accounts.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-accounts.cfg index 24f16d01fa4..e64cbbba679 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-accounts.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-accounts.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! management accounts password policy AVD_POLICY diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-api-http.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-api-http.cfg index 7442a449bc9..f61a239c1c6 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-api-http.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-api-http.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! ip access-list standard ACL-API 10 permit 10.0.0.0/8 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-api-models.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-api-models.cfg index 8ee2c59a1ce..27ed6ea00a2 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-api-models.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-api-models.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! management api models ! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-console.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-console.cfg index 10c6d558f2a..a68fc766fd1 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-console.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-console.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! management console idle-timeout 15 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-cvx.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-cvx.cfg index 3b86ba112f4..c5de5edd917 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-cvx.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-cvx.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! management cvx no shutdown diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-defaults.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-defaults.cfg index 74ef1b2b9f7..536ff45abf0 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-defaults.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-defaults.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! management defaults secret hash md5 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi-grpc-tunnel.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi-grpc-tunnel.cfg index 5a28cfa9481..88b1857a1d1 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi-grpc-tunnel.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi-grpc-tunnel.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! management api gnmi transport grpc-tunnel onetarget diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi-new-flags.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi-new-flags.cfg index a95bc7aad39..cfd5f2403a3 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi-new-flags.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi-new-flags.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! management api gnmi transport grpc MGMT diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi.cfg index 3621d9398d9..62d6f81bafc 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! management api gnmi transport grpc MGMT diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-interfaces.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-interfaces.cfg index ffd1af9b03b..771d9fcc512 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-interfaces.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-interfaces.cfg @@ -28,5 +28,6 @@ interface Vlan123 mtu 1500 ip address 10.73.0.123/24 ip virtual-router address 10.73.0.1 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-security.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-security.cfg index 4f4c47e1030..a75d8280844 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-security.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-security.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! management security entropy source hardware diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-ssh-custom-cipher.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-ssh-custom-cipher.cfg index f83b3485436..b2cff78d33c 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-ssh-custom-cipher.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-ssh-custom-cipher.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! management ssh ip access-group ACL-SSH in diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-ssh.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-ssh.cfg index fcfd0d40b95..571d1485b28 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-ssh.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-ssh.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! management ssh ip access-group ACL-SSH in diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-tech-support.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-tech-support.cfg index d904a9afdb4..6f485f4eef4 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-tech-support.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-tech-support.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! management tech-support policy show tech-support diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/match-lists.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/match-lists.cfg index 0274de52c35..6a66be54e76 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/match-lists.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/match-lists.cfg @@ -15,5 +15,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mcs-client.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mcs-client.cfg index ddcf9c9442b..1ace6d1dfc3 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mcs-client.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mcs-client.cfg @@ -20,5 +20,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mlag-configuration.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mlag-configuration.cfg index 7edeb198ac2..ad6e4ff3435 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mlag-configuration.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mlag-configuration.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! mlag configuration domain-id sw1-sw2-mlag-domain diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-connectivity.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-connectivity.cfg index e238dde41a6..4096220d0f9 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-connectivity.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-connectivity.cfg @@ -38,5 +38,6 @@ monitor connectivity local-interfaces VRF_HOST_SET address-only ip 10.10.20.1 url https://server2.local.com + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-sessions.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-sessions.cfg index 81bb37fa84a..1ecf060d296 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-sessions.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-sessions.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! monitor session myMonitoringSession1 source Ethernet0 ipv6 access-group ipv6ACL monitor session myMonitoringSession1 source Ethernet5 both ip access-group ipv4ACL priority 10 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg new file mode 100644 index 00000000000..c5deb620e65 --- /dev/null +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg @@ -0,0 +1,27 @@ +!RANCID-CONTENT-TYPE: arista +! +transceiver qsfp default-mode 4x10G +! +hostname monitor-telemetry-postcard +! +no enable password +no aaa root +! +interface Management1 + description oob_management + vrf MGMT + ip address 10.73.255.122/24 + +! +monitor telemetry postcard policy + no disabled + ingress collection gre source 10.3.3.3 19.33.33.33 + ingress sample rate 16384 + ingress sample tcp-udp-checksum 393993 + profile abc + ingress sample policy abcd + sample policy abcde + match rule abcdef ipv4 + destination prefix 10.10.0.0/24 +! +end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mpls.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mpls.cfg index 13e27943a8e..113ecd55ed5 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mpls.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mpls.cfg @@ -22,6 +22,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! mpls ip ! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/none_configuration.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/none_configuration.cfg index 24afbbf7417..d4bfb48f904 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/none_configuration.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/none_configuration.cfg @@ -11,5 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ntp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ntp.cfg index d9d7f69de11..a1c5b395bd5 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ntp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ntp.cfg @@ -24,5 +24,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/object-tracking.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/object-tracking.cfg index 0c19def24d1..b552d873e41 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/object-tracking.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/object-tracking.cfg @@ -14,5 +14,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/patch-panel.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/patch-panel.cfg index 18b85373113..43a0663d0de 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/patch-panel.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/patch-panel.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! patch panel patch TEN_B_site2_site5_eline diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/peer-filters.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/peer-filters.cfg index f845992b821..d35c3de3cd4 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/peer-filters.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/peer-filters.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! peer-filter PF1 10 match as-range 1-2 result reject diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/platform.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/platform.cfg index 4146bd730ea..3ee08e55313 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/platform.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/platform.cfg @@ -43,6 +43,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! platform trident mmu queue profile mc_example_profile apply ! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/poe.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/poe.cfg index d0cf1ce2b53..8cf16a96aef 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/poe.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/poe.cfg @@ -18,5 +18,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/policy-maps-pbr.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/policy-maps-pbr.cfg index 333848d786d..1d8728224ce 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/policy-maps-pbr.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/policy-maps-pbr.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! policy-map type pbr POLICY_DROP_THEN_NEXTHOP 10 class CLASS_DROP diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/policy-maps.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/policy-maps.cfg index 91cfdeec7dd..dc364e8286d 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/policy-maps.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/policy-maps.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! policy-map type pbr PM_PBR_BREAKOUT class CM_PBR_EXCLUDE diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/port-channel-interfaces.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/port-channel-interfaces.cfg index ae339a7d0ab..b2760e77aff 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/port-channel-interfaces.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/port-channel-interfaces.cfg @@ -438,5 +438,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/prefix-lists.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/prefix-lists.cfg index 3f8a25b5c4b..b54f5d580f7 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/prefix-lists.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/prefix-lists.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! dynamic prefix-list DYNAMIC_PREFIX_LIST_NAME_1 match-map Test_1 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/prompt.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/prompt.cfg index cd58043198c..cd5bcd5bafa 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/prompt.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/prompt.cfg @@ -13,5 +13,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ptp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ptp.cfg index 027503b190d..4db3f3648f4 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ptp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ptp.cfg @@ -77,5 +77,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/qos.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/qos.cfg index fde9603cc49..9042f7e97c7 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/qos.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/qos.cfg @@ -225,6 +225,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! ipv6 access-list acl_qos_tc0_v6 10 permit ipv6 any any dscp cs1 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-length-notifying.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-length-notifying.cfg index 92f5d184206..6930d091098 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-length-notifying.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-length-notifying.cfg @@ -15,5 +15,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-length.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-length.cfg index d64d8049f79..226c8268ddd 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-length.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-length.cfg @@ -18,5 +18,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-streaming.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-streaming.cfg index b2c5b30be2e..c351ba0331b 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-streaming.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-streaming.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! queue-monitor streaming max-connections 5 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/radius-server-2.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/radius-server-2.cfg index 87f06337837..96e9b4b9da5 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/radius-server-2.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/radius-server-2.cfg @@ -13,5 +13,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/radius-server.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/radius-server.cfg index 3b1006e1fd9..b402e19785d 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/radius-server.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/radius-server.cfg @@ -20,5 +20,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/redundancy.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/redundancy.cfg index d3246119213..f2d818b0cb0 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/redundancy.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/redundancy.cfg @@ -14,5 +14,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/roles.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/roles.cfg index ea13416a987..deb5be47cd0 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/roles.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/roles.cfg @@ -16,5 +16,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/route-maps.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/route-maps.cfg index cdcd6efb5cd..9fbd02a34b4 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/route-maps.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/route-maps.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! route-map RM-10.2.3.4-SET-NEXT-HOP-OUT permit 10 set ip next-hop 10.2.3.4 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-adaptive-virtual-topology.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-adaptive-virtual-topology.cfg index be716200d53..5e2ebd1af5e 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-adaptive-virtual-topology.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-adaptive-virtual-topology.cfg @@ -57,5 +57,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bfd-1.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bfd-1.cfg index 8431288bf96..76f140eedb8 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bfd-1.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bfd-1.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router bfd interval 900 min-rx 900 multiplier 50 default diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bfd-2.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bfd-2.cfg index 5ca93b3621a..c2877e17b70 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bfd-2.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bfd-2.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router bfd session stats snapshot interval dangerous 8 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-base.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-base.cfg index 285623fdf49..feb1399f595 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-base.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-base.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router bgp 65101 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn-mpls.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn-mpls.cfg index 84b80e4840e..a0dd1e50563 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn-mpls.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn-mpls.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router bgp 65101 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn-vpn-import-pruning.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn-vpn-import-pruning.cfg index e0c8559ffe8..37dc6ee4f60 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn-vpn-import-pruning.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn-vpn-import-pruning.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router bgp 65101 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn.cfg index 27ea71c6fca..3864d06aa4d 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router bgp 65101 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-link-state.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-link-state.cfg index 0c98dc39a42..c6edd23cdbe 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-link-state.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-link-state.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router bgp 65101 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-path-selection.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-path-selection.cfg index a387b41089c..ecfafcc92b6 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-path-selection.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-path-selection.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router bgp 65101 router-id 192.168.255.42 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-rtc.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-rtc.cfg index 26d79d399bf..b26a89797ed 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-rtc.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-rtc.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router bgp 65101 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-evpn.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-evpn.cfg index ab1ac634538..9bab2e61a4f 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-evpn.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-evpn.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router bgp 65101 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-v6-evpn.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-v6-evpn.cfg index d85cc08cf24..4c6e3d3ed71 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-v6-evpn.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-v6-evpn.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router bgp 65100 router-id 10.50.64.15 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-v6-sr-te.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-v6-sr-te.cfg index 1b879491969..803a2926239 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-v6-sr-te.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-v6-sr-te.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router bgp 65103 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vpn-ipv4-vpn-ipv6.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vpn-ipv4-vpn-ipv6.cfg index 5fd5b48cddc..bf47e330eae 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vpn-ipv4-vpn-ipv6.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vpn-ipv4-vpn-ipv6.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router bgp 65103 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vpws.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vpws.cfg index c765517ab1a..a137bde5361 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vpws.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vpws.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router bgp 65101 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vrf-address-families.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vrf-address-families.cfg index a227f476735..fffd51dd882 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vrf-address-families.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vrf-address-families.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router bgp 65001 router-id 1.0.1.1 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vrf-lite.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vrf-lite.cfg index 8db21597c38..a313fd56fec 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vrf-lite.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vrf-lite.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! ip prefix-list PL-BGP-DEFAULT-BLUE-C1 seq 10 permit 0.0.0.0/0 le 1 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-general.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-general.cfg index 5a2169de83e..5d21284efe8 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-general.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-general.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router general router-id ipv4 10.1.2.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-igmp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-igmp.cfg index 327cc102089..951e8e5a308 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-igmp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-igmp.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router igmp host-proxy match mroute all diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-isis-new.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-isis-new.cfg index c90ce2c35aa..9fc2a3cf089 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-isis-new.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-isis-new.cfg @@ -64,6 +64,7 @@ interface Vlan4094 mtu 1500 no autostate ip address 10.255.252.0/31 + ! router isis EVPN_UNDERLAY net 49.0001.0001.0001.0001.00 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-isis.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-isis.cfg index 0df6393c01c..bf50fd50d96 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-isis.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-isis.cfg @@ -105,6 +105,7 @@ interface Vlan4094 mtu 1500 no autostate ip address 10.255.252.0/31 + ! router isis EVPN_UNDERLAY net 49.0001.0001.0001.0001.00 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-l2-vpn.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-l2-vpn.cfg index 6b874771b22..54024933cd6 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-l2-vpn.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-l2-vpn.cfg @@ -20,5 +20,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-msdp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-msdp.cfg index 57fcc4524d4..da7c4dbdca8 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-msdp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-msdp.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router msdp group-limit 100 source 10.0.1.0/24 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-multicast.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-multicast.cfg index fcb20a20034..8ef9b02f224 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-multicast.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-multicast.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router multicast ipv4 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-ospf.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-ospf.cfg index f3708f87342..d4ce3c28488 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-ospf.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-ospf.cfg @@ -37,6 +37,7 @@ interface Vlan24 ip ospf cost 99 ip ospf authentication message-digest ip ospf message-digest-key 55 md5 7 ABCDEFGHIJKLMNOPQRSTUVWXYZ + ! router ospf 100 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-path-selection.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-path-selection.cfg index 55c1867cff8..b2583120090 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-path-selection.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-path-selection.cfg @@ -104,5 +104,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-pim-sparse-mode.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-pim-sparse-mode.cfg index ddaad76de4f..d2596ca0547 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-pim-sparse-mode.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-pim-sparse-mode.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router pim sparse-mode ipv4 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-service-insertion.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-service-insertion.cfg index 8e7b601ad1f..c02b3bc348b 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-service-insertion.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-service-insertion.cfg @@ -13,5 +13,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-traffic-engineering.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-traffic-engineering.cfg index e425773c325..aea5e6ceb8c 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-traffic-engineering.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-traffic-engineering.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! router traffic-engineering segment-routing diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-configuration-bgp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-configuration-bgp.cfg index 85514d7a41c..c4071247861 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-configuration-bgp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-configuration-bgp.cfg @@ -13,5 +13,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-protocols-model-2.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-protocols-model-2.cfg index 94a6f26f313..993469244b4 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-protocols-model-2.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-protocols-model-2.cfg @@ -13,5 +13,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-protocols-model.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-protocols-model.cfg index d90bebc7e1b..e0956ba0699 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-protocols-model.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-protocols-model.cfg @@ -13,5 +13,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/sflow.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/sflow.cfg index 4374198ff9f..4b401faeccf 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/sflow.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/sflow.cfg @@ -41,5 +41,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/snmp-server-traps.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/snmp-server-traps.cfg index a7834445d9f..18b1e6024ba 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/snmp-server-traps.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/snmp-server-traps.cfg @@ -26,5 +26,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/snmp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/snmp.cfg index c3db1f52c45..f1f74bd22b6 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/snmp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/snmp.cfg @@ -50,5 +50,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-bpdu.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-bpdu.cfg index fb378347559..47256cd911c 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-bpdu.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-bpdu.cfg @@ -16,5 +16,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-rapid-pvst.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-rapid-pvst.cfg index 70055e395fd..b405148d511 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-rapid-pvst.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-rapid-pvst.cfg @@ -16,5 +16,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-rstp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-rstp.cfg index 6619318557e..a4ce258ecfc 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-rstp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-rstp.cfg @@ -14,5 +14,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree.cfg index 088448f7855..4f711621a45 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree.cfg @@ -25,5 +25,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/static-routes.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/static-routes.cfg index 01c9ef57922..409d1908015 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/static-routes.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/static-routes.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! ip route 1.1.1.0/24 Vlan101 10.1.1.1 ip route 1.1.2.0/24 Vlan101 10.1.1.1 200 tag 666 name RT-TO-FAKE-DMZ diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/stun.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/stun.cfg index 5e6edf74fd6..f57d4086cad 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/stun.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/stun.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! stun client diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/switchport-mode.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/switchport-mode.cfg index b4ec163fb61..670b0331c14 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/switchport-mode.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/switchport-mode.cfg @@ -17,5 +17,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/system.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/system.cfg index 70a7663ac0a..dd5eb20921f 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/system.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/system.cfg @@ -15,6 +15,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! system control-plane tcp mss ceiling ipv4 1344 ipv6 1366 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tap-aggregation.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tap-aggregation.cfg index d1d38ae9f54..4f37fbc8f83 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tap-aggregation.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tap-aggregation.cfg @@ -24,5 +24,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tcam-profile.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tcam-profile.cfg index 6a4f357a342..732e4a70a03 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tcam-profile.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tcam-profile.cfg @@ -126,5 +126,6 @@ hardware tcam packet ipv4 vxlan forwarding bridged decap ! system profile traffic_policy + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-cloud.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-cloud.cfg index 7b0504e0ef9..deebaeb8f0e 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-cloud.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-cloud.cfg @@ -15,5 +15,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-extra-flags.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-extra-flags.cfg index f1d761e9dc5..7f4b06631fc 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-extra-flags.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-extra-flags.cfg @@ -15,5 +15,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-multi-cluster-certs.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-multi-cluster-certs.cfg index 7d3b505e161..2a1ceb9d56d 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-multi-cluster-certs.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-multi-cluster-certs.cfg @@ -15,5 +15,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-multi-cluster.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-multi-cluster.cfg index 0523c7da015..9647fa55d9b 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-multi-cluster.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-multi-cluster.cfg @@ -15,5 +15,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-onprem-certs.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-onprem-certs.cfg index cae744ad60a..8f1e1fb51cd 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-onprem-certs.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-onprem-certs.cfg @@ -15,5 +15,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-onprem-token.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-onprem-token.cfg index 46651354cba..fabc3d2f479 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-onprem-token.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-onprem-token.cfg @@ -15,5 +15,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem-disableaaa.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem-disableaaa.cfg index 4ae05ca9b9a..ba8ee715dcc 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem-disableaaa.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem-disableaaa.cfg @@ -15,5 +15,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem-no-ingestkey.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem-no-ingestkey.cfg index 02110dc2141..84f7404fc34 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem-no-ingestkey.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem-no-ingestkey.cfg @@ -15,5 +15,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem.cfg index e8bbf1d8e05..9cb2889c9fc 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem.cfg @@ -15,5 +15,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/traffic-policies.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/traffic-policies.cfg index a3426fb9e6f..f65524e1a76 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/traffic-policies.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/traffic-policies.cfg @@ -21,6 +21,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! traffic-policies counter interface per-interface ingress diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/transceiver_qsfp_default_mode_4x10_false.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/transceiver_qsfp_default_mode_4x10_false.cfg index e0889699b7f..6dcb9fab3d1 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/transceiver_qsfp_default_mode_4x10_false.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/transceiver_qsfp_default_mode_4x10_false.cfg @@ -9,5 +9,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tunnel-interfaces.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tunnel-interfaces.cfg index debaad801ab..6afe9986f1b 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tunnel-interfaces.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tunnel-interfaces.cfg @@ -58,5 +58,6 @@ interface Tunnel4 ipv6 address beef::64/64 tunnel source interface Ethernet42 tunnel destination 1.1.1.1 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/unsupported-transceiver.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/unsupported-transceiver.cfg index 746f7afef3c..04946bb9b5b 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/unsupported-transceiver.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/unsupported-transceiver.cfg @@ -13,5 +13,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/virtual-source-nat.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/virtual-source-nat.cfg index 58a12618b7f..55c4242fb49 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/virtual-source-nat.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/virtual-source-nat.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! ip address virtual source-nat vrf TEST_01 address 1.1.1.1 ip address virtual source-nat vrf TEST_02 address 1.1.1.2 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlan-interfaces.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlan-interfaces.cfg index 2aafe26dc80..0edac280d50 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlan-interfaces.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlan-interfaces.cfg @@ -278,5 +278,6 @@ interface Vlan4094 ipv6 address fe80::a/64 link-local pim ipv4 sparse-mode pim ipv4 dr-priority 200 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlan-internal-order.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlan-internal-order.cfg index d8059292ead..27c7fac4e58 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlan-internal-order.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlan-internal-order.cfg @@ -13,5 +13,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlans.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlans.cfg index 95749c075c6..6cf0aea2f33 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlans.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlans.cfg @@ -36,5 +36,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vmtracer-sessions.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vmtracer-sessions.cfg index 67f1ce3a9cc..2a250521c14 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vmtracer-sessions.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vmtracer-sessions.cfg @@ -11,6 +11,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + ! vmtracer session session_1 url https://192.168.0.10 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vrf-instances.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vrf-instances.cfg index 6a0920a3c97..73fee7b053c 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vrf-instances.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vrf-instances.cfg @@ -17,6 +17,7 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 + no ip routing vrf MGMT ip routing vrf TENANT_A_PROJECT01 ip routing vrf TENANT_A_PROJECT02 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vxlan-interface-false.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vxlan-interface-false.cfg index 235c6d61041..3cb1a423b16 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vxlan-interface-false.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vxlan-interface-false.cfg @@ -16,5 +16,6 @@ interface Vxlan1 no vxlan qos dscp propagation encapsulation no vxlan qos ecn propagation no vxlan qos map dscp to traffic-class decapsulation + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vxlan-interface.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vxlan-interface.cfg index b05b614ca2c..c8f497544a1 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vxlan-interface.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vxlan-interface.cfg @@ -37,5 +37,6 @@ interface Vxlan1 vxlan multicast headend-replication vxlan encapsulation ipv4 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml new file mode 100644 index 00000000000..ceea45bb2ba --- /dev/null +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml @@ -0,0 +1,20 @@ +monitor_telemetry_postcard: + disabled: false + ingress: + collection: + source: 10.3.3.3 + destination: 19.33.33.33 + sample: + rate: 16384 + tcp_udp_checksum: 393993 + profile: + name: abc + ingress_sample_policy: abcd + sample_policy: + name: abcde + match_rule: + rule_name: abcdef + destination_prefix: + prefix2: + prefix_address: 10.10.0.0 + prefix_mask: 24 \ No newline at end of file diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/hosts.ini b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/hosts.ini index 83d62a9aae2..598c3fe735b 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/hosts.ini +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/hosts.ini @@ -91,6 +91,7 @@ mlag-configuration monitor-layer1 monitor-connectivity monitor-sessions +monitor-telemetry-postcard mpls none_configuration ntp diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md new file mode 100644 index 00000000000..8cd9824a295 --- /dev/null +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md @@ -0,0 +1,78 @@ + +=== "Table" + + | Variable | Type | Required | Default | Value Restrictions | Description | + | -------- | ---- | -------- | ------- | ------------------ | ----------- | + | [monitor_telemetry_postcard](## "monitor_telemetry_postcard") | Dictionary | | | | | + | [  disabled](## "monitor_telemetry_postcard.disabled") | Boolean | | | | Enable or disable the postcard telemetry feature | + | [  ingress](## "monitor_telemetry_postcard.ingress") | Dictionary | | | | Configure ingress parameters | + | [    collection](## "monitor_telemetry_postcard.ingress.collection") | Dictionary | | | | Collector configuration | + | [      source](## "monitor_telemetry_postcard.ingress.collection.source") | String | | | | | + | [      destination](## "monitor_telemetry_postcard.ingress.collection.destination") | String | | | | | + | [    sample](## "monitor_telemetry_postcard.ingress.sample") | Dictionary | | | | Configure sampling parameters | + | [      rate](## "monitor_telemetry_postcard.ingress.sample.rate") | Integer | | | Valid Values:
- 16384
- 32768
- 65536 | Configure sampling rate | + | [      tcp_udp_checksum](## "monitor_telemetry_postcard.ingress.sample.tcp_udp_checksum") | Integer | | | | Configure TCP/UDP checksum or IP ID checksum | + | [  profile](## "monitor_telemetry_postcard.profile") | Dictionary | | | | Configure the postcard telemetry profile | + | [    name](## "monitor_telemetry_postcard.profile.name") | String | | | | | + | [    ingress_sample_policy](## "monitor_telemetry_postcard.profile.ingress_sample_policy") | String | | | | Configure ingress parameters | + | [  sample_policy](## "monitor_telemetry_postcard.sample_policy") | Dictionary | | | | Configure sampling feature | + | [    name](## "monitor_telemetry_postcard.sample_policy.name") | String | | | | | + | [    match_rule](## "monitor_telemetry_postcard.sample_policy.match_rule") | Dictionary | | | | | + | [      rule_name](## "monitor_telemetry_postcard.sample_policy.match_rule.rule_name") | String | | | | | + | [      destination_prefix](## "monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix") | Dictionary | | | | | + | [        prefix1](## "monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix1") | Dictionary | | | | | + | [          prefix_address](## "monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix1.prefix_address") | String | | | | | + | [          prefix_mask](## "monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix1.prefix_mask") | String | | | | | + | [        prefix2](## "monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix2") | Dictionary | | | | | + | [          prefix_address](## "monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix2.prefix_address") | String | | | | | + | [          prefix_mask](## "monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix2.prefix_mask") | Integer | | | | | + +=== "YAML" + + ```yaml + monitor_telemetry_postcard: + + # Enable or disable the postcard telemetry feature + disabled: + + # Configure ingress parameters + ingress: + + # Collector configuration + collection: + source: + destination: + + # Configure sampling parameters + sample: + + # Configure sampling rate + rate: + + # Configure TCP/UDP checksum or IP ID checksum + tcp_udp_checksum: + + # Configure the postcard telemetry profile + profile: + name: + + # Configure ingress parameters + ingress_sample_policy: + + # Configure sampling feature + sample_policy: + name: + match_rule: + rule_name: + destination_prefix: + prefix1: + prefix_address: + prefix_mask: + prefix2: + prefix_address: + prefix_mask: + ``` diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index d05af3d7099..0bf3bd964f5 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -11092,6 +11092,172 @@ }, "title": "Monitor Sessions" }, + "monitor_telemetry_postcard": { + "type": "object", + "properties": { + "disabled": { + "type": "boolean", + "description": "Enable or disable the postcard telemetry feature", + "title": "Disabled" + }, + "ingress": { + "type": "object", + "description": "Configure ingress parameters", + "properties": { + "collection": { + "type": "object", + "description": "Collector configuration", + "properties": { + "source": { + "type": "string", + "title": "Source" + }, + "destination": { + "type": "string", + "title": "Destination" + } + }, + "additionalProperties": false, + "patternProperties": { + "^_.+$": {} + }, + "title": "Collection" + }, + "sample": { + "type": "object", + "description": "Configure sampling parameters", + "properties": { + "rate": { + "type": "integer", + "description": "Configure sampling rate", + "enum": [ + 16384, + 32768, + 65536 + ], + "title": "Rate" + }, + "tcp_udp_checksum": { + "type": "integer", + "description": "Configure TCP/UDP checksum or IP ID checksum", + "title": "TCP UDP Checksum" + } + }, + "additionalProperties": false, + "patternProperties": { + "^_.+$": {} + }, + "title": "Sample" + } + }, + "additionalProperties": false, + "patternProperties": { + "^_.+$": {} + }, + "title": "Ingress" + }, + "profile": { + "type": "object", + "description": "Configure the postcard telemetry profile", + "properties": { + "name": { + "type": "string", + "title": "Name" + }, + "ingress_sample_policy": { + "type": "string", + "description": "Configure ingress parameters", + "title": "Ingress Sample Policy" + } + }, + "additionalProperties": false, + "patternProperties": { + "^_.+$": {} + }, + "title": "Profile" + }, + "sample_policy": { + "type": "object", + "description": "Configure sampling feature", + "properties": { + "name": { + "type": "string", + "title": "Name" + }, + "match_rule": { + "type": "object", + "properties": { + "rule_name": { + "type": "string", + "title": "Rule Name" + }, + "destination_prefix": { + "type": "object", + "properties": { + "prefix1": { + "type": "object", + "properties": { + "prefix_address": { + "type": "string", + "title": "Prefix Address" + }, + "prefix_mask": { + "type": "string", + "title": "Prefix Mask" + } + }, + "additionalProperties": false, + "patternProperties": { + "^_.+$": {} + }, + "title": "Prefix1" + }, + "prefix2": { + "type": "object", + "properties": { + "prefix_address": { + "type": "string", + "title": "Prefix Address" + }, + "prefix_mask": { + "type": "integer", + "title": "Prefix Mask" + } + }, + "additionalProperties": false, + "patternProperties": { + "^_.+$": {} + }, + "title": "Prefix2" + } + }, + "additionalProperties": false, + "patternProperties": { + "^_.+$": {} + }, + "title": "Destination Prefix" + } + }, + "additionalProperties": false, + "patternProperties": { + "^_.+$": {} + }, + "title": "Match Rule" + } + }, + "additionalProperties": false, + "patternProperties": { + "^_.+$": {} + }, + "title": "Sample Policy" + } + }, + "additionalProperties": false, + "patternProperties": { + "^_.+$": {} + }, + "title": "Monitor Telemetry Postcard" + }, "mpls": { "type": "object", "properties": { diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index d1d06c6fec4..d93d099f8cf 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -6531,6 +6531,79 @@ keys: description: Size in bytes convert_types: - str + monitor_telemetry_postcard: + type: dict + keys: + disabled: + type: bool + description: Enable or disable the postcard telemetry feature + ingress: + type: dict + description: Configure ingress parameters + keys: + collection: + type: dict + description: Collector configuration + keys: + source: + type: str + destination: + type: str + sample: + type: dict + description: Configure sampling parameters + keys: + rate: + type: int + description: Configure sampling rate + convert_types: + - str + valid_values: + - 16384 + - 32768 + - 65536 + tcp_udp_checksum: + type: int + description: Configure TCP/UDP checksum or IP ID checksum + convert_types: + - str + profile: + type: dict + description: Configure the postcard telemetry profile + keys: + name: + type: str + ingress_sample_policy: + type: str + description: Configure ingress parameters + sample_policy: + type: dict + description: Configure sampling feature + keys: + name: + type: str + match_rule: + type: dict + keys: + rule_name: + type: str + destination_prefix: + type: dict + keys: + prefix1: + type: dict + keys: + prefix_address: + type: str + prefix_mask: + type: str + prefix2: + type: dict + keys: + prefix_address: + type: str + prefix_mask: + type: int mpls: type: dict keys: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml new file mode 100644 index 00000000000..29ebabcb5be --- /dev/null +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml @@ -0,0 +1,78 @@ +# 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. +# yaml-language-server: $schema=../../../../plugins/plugin_utils/schema/avd_meta_schema.json +# Line above is used by RedHat's YAML Schema vscode extension +# Use Ctrl + Space to get suggestions for every field. Autocomplete will pop up after typing 2 letters. +type: dict +keys: + monitor_telemetry_postcard: + type: dict + keys: + disabled: + type: bool + description: Enable or disable the postcard telemetry feature + ingress: + type: dict + description: Configure ingress parameters + keys: + collection: + type: dict + description: Collector configuration + keys: + source: + type: str + destination: + type: str + sample: + type: dict + description: Configure sampling parameters + keys: + rate: + type: int + description: Configure sampling rate + convert_types: + - str + valid_values: [ 16384, 32768, 65536 ] + tcp_udp_checksum: + type: int + description: Configure TCP/UDP checksum or IP ID checksum + convert_types: + - str + profile: + type: dict + description: Configure the postcard telemetry profile + keys: + name: + type: str + ingress_sample_policy: + type: str + description: Configure ingress parameters + sample_policy: + type: dict + description: Configure sampling feature + keys: + name: + type: str + match_rule: + type: dict + keys: + rule_name: + type: str + destination_prefix: + type: dict + keys: + prefix1: + type: dict + keys: + prefix_address: + type: str + prefix_mask: + type: str + prefix2: + type: dict + keys: + prefix_address: + type: str + prefix_mask: + type: int \ No newline at end of file diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos-intended-config.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos-intended-config.j2 index 0e92dc91752..b80bda44ee2 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos-intended-config.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos-intended-config.j2 @@ -178,6 +178,8 @@ {% include 'eos/application-traffic-recognition.j2' %} {# Connectivity monitor configuration #} {% include 'eos/monitor-connectivity.j2' %} +{# Monitor telemetry postcard #} +{% include 'eos/monitor-telemetry-postcard.j2' %} {# MAC address-table aging #} {% include 'eos/mac-address-table-aging-time.j2' %} {# Router virtual mac address #} diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 new file mode 100644 index 00000000000..b1806cfd92e --- /dev/null +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 @@ -0,0 +1,53 @@ +{# + 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 - monitor telemetry postcard #} + +{% if monitor_telemetry_postcard is arista.avd.defined %} +! +monitor telemetry postcard policy +{% if monitor_telemetry_postcard.disabled is arista.avd.defined and monitor_telemetry_postcard.disabled == false %} + no disabled +{% endif %} +{% if monitor_telemetry_postcard.ingress is arista.avd.defined %} +{% if monitor_telemetry_postcard.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard.ingress.collection.destination is arista.avd.defined %} + ingress collection gre source {{ monitor_telemetry_postcard.ingress.collection.source }} {{ monitor_telemetry_postcard.ingress.collection.destination }} +{% endif %} +{% endif %} +{% if monitor_telemetry_postcard.ingress.sample.rate is arista.avd.defined %} + ingress sample rate {{ monitor_telemetry_postcard.ingress.sample.rate }} +{% endif %} +{% if monitor_telemetry_postcard.ingress.sample.tcp_udp_checksum is arista.avd.defined %} + ingress sample tcp-udp-checksum {{ monitor_telemetry_postcard.ingress.sample.tcp_udp_checksum }} +{% endif %} +{% if monitor_telemetry_postcard.profile.name is arista.avd.defined %} + profile {{ monitor_telemetry_postcard.profile.name }} +{% if monitor_telemetry_postcard.profile.ingress_sample_policy is arista.avd.defined %} + ingress sample policy {{ monitor_telemetry_postcard.profile.ingress_sample_policy }} +{% endif %} +{% endif %} +{% if monitor_telemetry_postcard.sample_policy is arista.avd.defined %} +{% if monitor_telemetry_postcard.sample_policy.name is arista.avd.defined %} + sample policy {{ monitor_telemetry_postcard.sample_policy.name }} +{% endif %} +{% endif %} +{% if monitor_telemetry_postcard.sample_policy.match_rule.rule_name is arista.avd.defined %} + match rule {{ monitor_telemetry_postcard.sample_policy.match_rule.rule_name }} ipv4 +{% else %} + match ipv4-all-default ipv4 + ! + match ipv6-all-default ipv6 +{% endif %} +{% if monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix1 is arista.avd.defined %} +{% set prefix_address = monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix1.prefix_address %} +{% set prefix_mask = monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix1.prefix_address %} + destination prefix {{ prefix_address }} {{prefix_mask }} +{% endif %} +{% if monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix2 is arista.avd.defined %} +{% set prefix_address = monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix2.prefix_address %} +{% set prefix_mask = monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix2.prefix_mask %} + destination prefix {{ prefix_address }}/{{ prefix_mask }} +{% endif %} +{% endif %} \ No newline at end of file From 58a209acea1784212a90263f09c92cda1a9001a7 Mon Sep 17 00:00:00 2001 From: laxmikant Date: Tue, 20 Feb 2024 15:34:49 +0530 Subject: [PATCH 02/44] Feat(eos_cli_config_gen): Add support for Postcard telemetry --- .../eos_cli_config_gen/intended/configs/aaa-2.cfg | 1 - .../molecule/eos_cli_config_gen/intended/configs/aaa.cfg | 1 - .../molecule/eos_cli_config_gen/intended/configs/acl.cfg | 1 - .../intended/configs/address-locking.cfg | 1 - .../eos_cli_config_gen/intended/configs/agents.cfg | 1 - .../eos_cli_config_gen/intended/configs/aliases.cfg | 1 - .../intended/configs/application-traffic-recognition.cfg | 1 - .../molecule/eos_cli_config_gen/intended/configs/arp.cfg | 1 - .../eos_cli_config_gen/intended/configs/as-path.cfg | 1 - .../intended/configs/banners_without_eof.cfg | 1 - .../eos_cli_config_gen/intended/configs/base.cfg | 1 - .../eos_cli_config_gen/intended/configs/boot.cfg | 1 - .../eos_cli_config_gen/intended/configs/class-maps.cfg | 1 - .../eos_cli_config_gen/intended/configs/clock.cfg | 1 - .../intended/configs/custom-templates.cfg | 1 - .../molecule/eos_cli_config_gen/intended/configs/cvx.cfg | 1 - .../intended/configs/daemon_terminattr.cfg | 1 - .../eos_cli_config_gen/intended/configs/daemons.cfg | 1 - .../eos_cli_config_gen/intended/configs/dhcp-relay.cfg | 1 - .../eos_cli_config_gen/intended/configs/dhcp-servers.cfg | 1 - .../eos_cli_config_gen/intended/configs/dns-ntp.cfg | 1 - .../eos_cli_config_gen/intended/configs/dot1x-2.cfg | 1 - .../eos_cli_config_gen/intended/configs/dot1x.cfg | 1 - .../intended/configs/dps-interfaces.cfg | 1 - .../intended/configs/enable-password.cfg | 1 - .../eos_cli_config_gen/intended/configs/errdisable.cfg | 1 - .../intended/configs/ethernet-interfaces.cfg | 1 - .../intended/configs/event-handlers.cfg | 1 - .../intended/configs/event-monitor.cfg | 1 - .../intended/configs/flow-tracking-2.cfg | 1 - .../intended/configs/flow-tracking.cfg | 1 - .../intended/configs/generate_device_documentation.cfg | 1 - .../eos_cli_config_gen/intended/configs/groups.cfg | 1 - .../intended/configs/hardware-counter.cfg | 1 - .../eos_cli_config_gen/intended/configs/hardware.cfg | 1 - .../intended/configs/hide-passwords.cfg | 1 - .../eos_cli_config_gen/intended/configs/hostname.cfg | 1 - .../intended/configs/igmp-snooping.cfg | 1 - .../intended/configs/interface-defaults.cfg | 1 - .../intended/configs/interface-profiles.cfg | 1 - .../intended/configs/ip-access-lists.cfg | 1 - .../intended/configs/ip-client-source-interfaces.cfg | 1 - .../intended/configs/ip-community-lists.cfg | 1 - .../intended/configs/ip-dhcp-relay.cfg | 1 - .../intended/configs/ip-dhcp-snooping.cfg | 1 - .../configs/ip-extended-community-lists-regexp.cfg | 1 - .../intended/configs/ip-extended-community-lists.cfg | 1 - .../intended/configs/ip-igmp-snooping-enable.cfg | 1 - .../eos_cli_config_gen/intended/configs/ip-nat.cfg | 1 - .../intended/configs/ip-radius-source-interface.cfg | 1 - .../intended/configs/ip-routing-fib.cfg | 1 - .../eos_cli_config_gen/intended/configs/ip-routing.cfg | 1 - .../eos_cli_config_gen/intended/configs/ip-security.cfg | 1 - .../intended/configs/ip-tacacs-source-interface.cfg | 1 - .../intended/configs/ipv6-access-lists.cfg | 1 - .../intended/configs/ipv6-static-routes.cfg | 1 - .../intended/configs/l2-protocol-forwarding.cfg | 1 - .../eos_cli_config_gen/intended/configs/lacp.cfg | 1 - .../intended/configs/link-tracking-groups.cfg | 1 - .../eos_cli_config_gen/intended/configs/lldp.cfg | 1 - .../intended/configs/load-interval.cfg | 1 - .../eos_cli_config_gen/intended/configs/local-users.cfg | 1 - .../intended/configs/logging-match-list.cfg | 1 - .../intended/configs/logging-minimal.cfg | 1 - .../eos_cli_config_gen/intended/configs/logging.cfg | 1 - .../intended/configs/loopbacks-interfaces.cfg | 1 - .../intended/configs/mac-access-lists.cfg | 1 - .../intended/configs/mac-address-table.cfg | 1 - .../intended/configs/mac-security-eth-po-entropy.cfg | 1 - .../eos_cli_config_gen/intended/configs/maintenance.cfg | 1 - .../intended/configs/management-accounts.cfg | 1 - .../intended/configs/management-api-http.cfg | 1 - .../intended/configs/management-api-models.cfg | 1 - .../intended/configs/management-console.cfg | 1 - .../intended/configs/management-cvx.cfg | 1 - .../intended/configs/management-defaults.cfg | 1 - .../intended/configs/management-gnmi-grpc-tunnel.cfg | 1 - .../intended/configs/management-gnmi-new-flags.cfg | 1 - .../intended/configs/management-gnmi.cfg | 1 - .../intended/configs/management-interfaces.cfg | 1 - .../intended/configs/management-security.cfg | 1 - .../intended/configs/management-ssh-custom-cipher.cfg | 1 - .../intended/configs/management-ssh.cfg | 1 - .../intended/configs/management-tech-support.cfg | 1 - .../eos_cli_config_gen/intended/configs/match-lists.cfg | 1 - .../eos_cli_config_gen/intended/configs/mcs-client.cfg | 1 - .../intended/configs/mlag-configuration.cfg | 1 - .../intended/configs/monitor-connectivity.cfg | 1 - .../intended/configs/monitor-sessions.cfg | 1 - .../intended/configs/monitor-telemetry-postcard.cfg | 1 - .../eos_cli_config_gen/intended/configs/mpls.cfg | 1 - .../intended/configs/none_configuration.cfg | 1 - .../molecule/eos_cli_config_gen/intended/configs/ntp.cfg | 1 - .../intended/configs/object-tracking.cfg | 1 - .../eos_cli_config_gen/intended/configs/patch-panel.cfg | 1 - .../eos_cli_config_gen/intended/configs/peer-filters.cfg | 1 - .../eos_cli_config_gen/intended/configs/platform.cfg | 1 - .../molecule/eos_cli_config_gen/intended/configs/poe.cfg | 1 - .../intended/configs/policy-maps-pbr.cfg | 1 - .../eos_cli_config_gen/intended/configs/policy-maps.cfg | 1 - .../intended/configs/port-channel-interfaces.cfg | 1 - .../eos_cli_config_gen/intended/configs/prefix-lists.cfg | 1 - .../eos_cli_config_gen/intended/configs/prompt.cfg | 1 - .../molecule/eos_cli_config_gen/intended/configs/ptp.cfg | 1 - .../molecule/eos_cli_config_gen/intended/configs/qos.cfg | 1 - .../intended/configs/queue-monitor-length-notifying.cfg | 1 - .../intended/configs/queue-monitor-length.cfg | 1 - .../intended/configs/queue-monitor-streaming.cfg | 1 - .../intended/configs/radius-server-2.cfg | 1 - .../intended/configs/radius-server.cfg | 1 - .../eos_cli_config_gen/intended/configs/redundancy.cfg | 1 - .../eos_cli_config_gen/intended/configs/roles.cfg | 1 - .../eos_cli_config_gen/intended/configs/route-maps.cfg | 1 - .../configs/router-adaptive-virtual-topology.cfg | 1 - .../eos_cli_config_gen/intended/configs/router-bfd-1.cfg | 1 - .../eos_cli_config_gen/intended/configs/router-bfd-2.cfg | 1 - .../intended/configs/router-bgp-base.cfg | 1 - .../intended/configs/router-bgp-evpn-mpls.cfg | 1 - .../configs/router-bgp-evpn-vpn-import-pruning.cfg | 1 - .../intended/configs/router-bgp-evpn.cfg | 1 - .../intended/configs/router-bgp-link-state.cfg | 1 - .../intended/configs/router-bgp-path-selection.cfg | 1 - .../intended/configs/router-bgp-rtc.cfg | 1 - .../intended/configs/router-bgp-v4-evpn.cfg | 1 - .../intended/configs/router-bgp-v4-v6-evpn.cfg | 1 - .../intended/configs/router-bgp-v4-v6-sr-te.cfg | 1 - .../intended/configs/router-bgp-vpn-ipv4-vpn-ipv6.cfg | 1 - .../intended/configs/router-bgp-vpws.cfg | 1 - .../intended/configs/router-bgp-vrf-address-families.cfg | 1 - .../intended/configs/router-bgp-vrf-lite.cfg | 1 - .../intended/configs/router-general.cfg | 1 - .../eos_cli_config_gen/intended/configs/router-igmp.cfg | 1 - .../intended/configs/router-isis-new.cfg | 1 - .../eos_cli_config_gen/intended/configs/router-isis.cfg | 1 - .../intended/configs/router-l2-vpn.cfg | 1 - .../eos_cli_config_gen/intended/configs/router-msdp.cfg | 1 - .../intended/configs/router-multicast.cfg | 1 - .../eos_cli_config_gen/intended/configs/router-ospf.cfg | 1 - .../intended/configs/router-path-selection.cfg | 1 - .../intended/configs/router-pim-sparse-mode.cfg | 1 - .../intended/configs/router-service-insertion.cfg | 1 - .../intended/configs/router-traffic-engineering.cfg | 1 - .../configs/service-routing-configuration-bgp.cfg | 1 - .../configs/service-routing-protocols-model-2.cfg | 1 - .../intended/configs/service-routing-protocols-model.cfg | 1 - .../eos_cli_config_gen/intended/configs/sflow.cfg | 1 - .../intended/configs/snmp-server-traps.cfg | 1 - .../eos_cli_config_gen/intended/configs/snmp.cfg | 1 - .../intended/configs/spanning-tree-bpdu.cfg | 1 - .../intended/configs/spanning-tree-rapid-pvst.cfg | 1 - .../intended/configs/spanning-tree-rstp.cfg | 1 - .../intended/configs/spanning-tree.cfg | 1 - .../intended/configs/static-routes.cfg | 1 - .../eos_cli_config_gen/intended/configs/stun.cfg | 1 - .../intended/configs/switchport-mode.cfg | 1 - .../eos_cli_config_gen/intended/configs/system.cfg | 1 - .../intended/configs/tap-aggregation.cfg | 1 - .../eos_cli_config_gen/intended/configs/tcam-profile.cfg | 1 - .../intended/configs/terminattr-cloud.cfg | 1 - .../intended/configs/terminattr-extra-flags.cfg | 1 - .../intended/configs/terminattr-multi-cluster-certs.cfg | 1 - .../intended/configs/terminattr-multi-cluster.cfg | 1 - .../intended/configs/terminattr-onprem-certs.cfg | 1 - .../intended/configs/terminattr-onprem-token.cfg | 1 - .../intended/configs/terminattr-prem-disableaaa.cfg | 1 - .../intended/configs/terminattr-prem-no-ingestkey.cfg | 1 - .../intended/configs/terminattr-prem.cfg | 1 - .../intended/configs/traffic-policies.cfg | 1 - .../configs/transceiver_qsfp_default_mode_4x10_false.cfg | 1 - .../intended/configs/tunnel-interfaces.cfg | 1 - .../intended/configs/unsupported-transceiver.cfg | 1 - .../intended/configs/virtual-source-nat.cfg | 1 - .../intended/configs/vlan-interfaces.cfg | 1 - .../intended/configs/vlan-internal-order.cfg | 1 - .../eos_cli_config_gen/intended/configs/vlans.cfg | 1 - .../intended/configs/vmtracer-sessions.cfg | 1 - .../intended/configs/vrf-instances.cfg | 1 - .../intended/configs/vxlan-interface-false.cfg | 1 - .../intended/configs/vxlan-interface.cfg | 1 - .../inventory/host_vars/monitor-telemetry-postcard.yml | 2 +- .../monitor_telemetry_postcard.schema.yml | 2 +- .../templates/eos/monitor-telemetry-postcard.j2 | 9 ++++----- 182 files changed, 6 insertions(+), 186 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aaa-2.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aaa-2.cfg index c0be84bdc57..e93bba1a3a7 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aaa-2.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aaa-2.cfg @@ -14,6 +14,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aaa.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aaa.cfg index 46029dce84e..6a2389cfbc9 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aaa.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aaa.cfg @@ -58,6 +58,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/acl.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/acl.cfg index 3e6f888bbdb..c687efd7e75 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/acl.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/acl.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! ip access-list 4 10 remark ACL to restrict access RFC1918 addresses diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/address-locking.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/address-locking.cfg index 5f31175979d..a11d73c69a1 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/address-locking.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/address-locking.cfg @@ -37,6 +37,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/agents.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/agents.cfg index b291c27b595..0cd0578b048 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/agents.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/agents.cfg @@ -14,6 +14,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aliases.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aliases.cfg index a82ab11a6d6..06d91f0b19c 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aliases.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/aliases.cfg @@ -15,6 +15,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/application-traffic-recognition.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/application-traffic-recognition.cfg index bb945fd3638..377cef081a6 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/application-traffic-recognition.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/application-traffic-recognition.cfg @@ -94,6 +94,5 @@ application traffic recognition ! field-set l4-port src_port_set2 5700-5800, 6500-6600 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/arp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/arp.cfg index 391193dfdf8..99b4a80c3da 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/arp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/arp.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! arp aging timeout default 300 arp vrf BLAH 42.42.42.42 DEAD.BEEF.CAFE arpa diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/as-path.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/as-path.cfg index 62333667ec7..20fcb37e2d8 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/as-path.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/as-path.cfg @@ -16,6 +16,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/banners_without_eof.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/banners_without_eof.cfg index 23d896d366e..4f4f5ec917b 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/banners_without_eof.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/banners_without_eof.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! banner login !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/base.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/base.cfg index 7356f1b0d6d..29b621245f1 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/base.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/base.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! banner login !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/boot.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/boot.cfg index 1070df41e38..a947ca1d143 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/boot.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/boot.cfg @@ -13,6 +13,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/class-maps.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/class-maps.cfg index 1a3c8cd533c..616d46b9616 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/class-maps.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/class-maps.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! class-map type qos match-any CM_REPLICATION_LD match ip access-group ACL_REPLICATION_LD diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/clock.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/clock.cfg index 180def13902..30658b8b65e 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/clock.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/clock.cfg @@ -13,6 +13,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/custom-templates.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/custom-templates.cfg index e6465f5e787..57b5cadece7 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/custom-templates.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/custom-templates.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! ! test-custom-template-with-logic-1 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/cvx.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/cvx.cfg index c1bbf62f5db..8034f900737 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/cvx.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/cvx.cfg @@ -22,6 +22,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/daemon_terminattr.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/daemon_terminattr.cfg index 7ae1e40d813..1dab5059ca2 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/daemon_terminattr.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/daemon_terminattr.cfg @@ -15,6 +15,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/daemons.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/daemons.cfg index 7f3440bba37..78927057502 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/daemons.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/daemons.cfg @@ -19,6 +19,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dhcp-relay.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dhcp-relay.cfg index bd8d09e821a..18c31cdcee6 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dhcp-relay.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dhcp-relay.cfg @@ -17,6 +17,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dhcp-servers.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dhcp-servers.cfg index 5acea74d848..1981af26a47 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dhcp-servers.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dhcp-servers.cfg @@ -50,6 +50,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dns-ntp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dns-ntp.cfg index de0550bc040..054cc1462ed 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dns-ntp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dns-ntp.cfg @@ -26,6 +26,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dot1x-2.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dot1x-2.cfg index fb4381efdee..a0b0f3ed655 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dot1x-2.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dot1x-2.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! dot1x system-auth-control dot1x protocol lldp bypass diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dot1x.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dot1x.cfg index a7ddbf02207..09216430685 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dot1x.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dot1x.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! dot1x system-auth-control dot1x protocol lldp bypass diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dps-interfaces.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dps-interfaces.cfg index 7baf770bc3e..06f3c802165 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dps-interfaces.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/dps-interfaces.cfg @@ -21,6 +21,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/enable-password.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/enable-password.cfg index 96c1db66976..13154485cb5 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/enable-password.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/enable-password.cfg @@ -11,6 +11,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/errdisable.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/errdisable.cfg index 82293e8a594..74c804bc242 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/errdisable.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/errdisable.cfg @@ -35,6 +35,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ethernet-interfaces.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ethernet-interfaces.cfg index 8caadaa35ce..b68d118ef3d 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ethernet-interfaces.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ethernet-interfaces.cfg @@ -632,6 +632,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/event-handlers.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/event-handlers.cfg index 1417ff1c501..004de6e950d 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/event-handlers.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/event-handlers.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! event-handler CONFIG_VERSIONING trigger on-startup-config diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/event-monitor.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/event-monitor.cfg index 835308337ca..1b978fce8a4 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/event-monitor.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/event-monitor.cfg @@ -13,6 +13,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/flow-tracking-2.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/flow-tracking-2.cfg index b37e7b7b009..14d4a268ec4 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/flow-tracking-2.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/flow-tracking-2.cfg @@ -19,6 +19,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/flow-tracking.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/flow-tracking.cfg index d09f9fb66c0..5eb8699c1f9 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/flow-tracking.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/flow-tracking.cfg @@ -77,6 +77,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/generate_device_documentation.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/generate_device_documentation.cfg index dbe20d4d677..1e60695d073 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/generate_device_documentation.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/generate_device_documentation.cfg @@ -11,6 +11,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/groups.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/groups.cfg index 273c7018fb7..6ab3f98f257 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/groups.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/groups.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! group bgp bar vrf red diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hardware-counter.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hardware-counter.cfg index 6af921ccc41..420d4a7db60 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hardware-counter.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hardware-counter.cfg @@ -19,6 +19,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hardware.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hardware.cfg index 7fcebbbb459..e3955c97a4e 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hardware.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hardware.cfg @@ -17,6 +17,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hide-passwords.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hide-passwords.cfg index 99b4b255dd3..eaaa180fb1c 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hide-passwords.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hide-passwords.cfg @@ -22,7 +22,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router bgp 65100 router-id 10.50.64.15 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hostname.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hostname.cfg index 84463eee468..b425d153a2c 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hostname.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/hostname.cfg @@ -11,6 +11,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/igmp-snooping.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/igmp-snooping.cfg index ec549260b73..56f1874c20b 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/igmp-snooping.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/igmp-snooping.cfg @@ -25,6 +25,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/interface-defaults.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/interface-defaults.cfg index a23b34a5654..f204ec0cba1 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/interface-defaults.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/interface-defaults.cfg @@ -18,6 +18,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/interface-profiles.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/interface-profiles.cfg index 1be8b3194b2..2196e707cfa 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/interface-profiles.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/interface-profiles.cfg @@ -20,6 +20,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-access-lists.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-access-lists.cfg index a4b39651e7f..0d257db96d2 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-access-lists.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-access-lists.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! ip access-list ACL_SEQUENCE_AND_COUNTERS counters per-entry diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-client-source-interfaces.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-client-source-interfaces.cfg index 41c469e3d80..04981f1f18a 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-client-source-interfaces.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-client-source-interfaces.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! ip ftp client source-interface Loopback0 vrf default ip ftp client source-interface Management0 vrf MGMT diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-community-lists.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-community-lists.cfg index 3278c503fae..dab5b3e9ea7 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-community-lists.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-community-lists.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! ip community-list TEST1 permit 1000:1000 ip community-list TEST2 permit 2000:3000 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-dhcp-relay.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-dhcp-relay.cfg index 37c67c2e766..f04076cd30d 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-dhcp-relay.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-dhcp-relay.cfg @@ -13,6 +13,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-dhcp-snooping.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-dhcp-snooping.cfg index 64ecf5146a6..51af40d5854 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-dhcp-snooping.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-dhcp-snooping.cfg @@ -16,6 +16,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-extended-community-lists-regexp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-extended-community-lists-regexp.cfg index 62fed819155..45a16ded88c 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-extended-community-lists-regexp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-extended-community-lists-regexp.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! ip extcommunity-list regexp TEST1 permit 65[0-9]{3}:[0-9]+ ip extcommunity-list regexp TEST1 deny .* diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-extended-community-lists.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-extended-community-lists.cfg index d78ed4fbdce..c9922626f81 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-extended-community-lists.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-extended-community-lists.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! ip extcommunity-list TEST1 permit 65000:65000 ip extcommunity-list TEST1 deny 65002:65002 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-igmp-snooping-enable.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-igmp-snooping-enable.cfg index 266e1c9a2d6..15dff960b53 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-igmp-snooping-enable.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-igmp-snooping-enable.cfg @@ -44,6 +44,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-nat.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-nat.cfg index 6b7fe51df29..4383570e382 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-nat.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-nat.cfg @@ -60,7 +60,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! ip nat pool prefix_16 prefix-length 16 range 10.0.0.1 10.0.255.254 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-radius-source-interface.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-radius-source-interface.cfg index 71fc766976d..435bef9f0f0 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-radius-source-interface.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-radius-source-interface.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! ip radius vrf default source-interface loopback1 ! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-routing-fib.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-routing-fib.cfg index bf6f338b416..978274426a6 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-routing-fib.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-routing-fib.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! ip routing ip hardware fib optimize prefixes profile urpf-internet diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-routing.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-routing.cfg index 187701aec5c..7884ebc8827 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-routing.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-routing.cfg @@ -15,7 +15,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! ip routing ipv6 interfaces no ip icmp redirect diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-security.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-security.cfg index cc52e73dab0..1f17d5c1147 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-security.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-security.cfg @@ -59,6 +59,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-tacacs-source-interface.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-tacacs-source-interface.cfg index fa24178772f..4591c7ca113 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-tacacs-source-interface.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ip-tacacs-source-interface.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! ip tacacs vrf default source-interface loopback1 ! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ipv6-access-lists.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ipv6-access-lists.cfg index 3666c0f242a..406e74b13aa 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ipv6-access-lists.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ipv6-access-lists.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! ipv6 access-list TEST1 5 deny ipv6 fe80::/64 any diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ipv6-static-routes.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ipv6-static-routes.cfg index 0b47a7da2cf..eedea36bb8b 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ipv6-static-routes.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ipv6-static-routes.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! ipv6 route 2a01:cb04:4e6:d300::/64 Vlan101 2a01:cb04:4e6:d100::1 ipv6 route 2a01:cb04:4e6:d400::/64 Vlan101 2a01:cb04:4e6:d100::1 200 tag 666 name RT-TO-FAKE-DMZ diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/l2-protocol-forwarding.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/l2-protocol-forwarding.cfg index b15790e8a1a..9dbba4d2e1d 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/l2-protocol-forwarding.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/l2-protocol-forwarding.cfg @@ -59,6 +59,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/lacp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/lacp.cfg index 279f3cf909b..690a597706e 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/lacp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/lacp.cfg @@ -15,6 +15,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/link-tracking-groups.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/link-tracking-groups.cfg index 4d607b6f5a3..0b3b20ff3a8 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/link-tracking-groups.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/link-tracking-groups.cfg @@ -16,6 +16,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/lldp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/lldp.cfg index 99ef7121094..7649bb1bcee 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/lldp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/lldp.cfg @@ -43,6 +43,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/load-interval.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/load-interval.cfg index 4c248679945..dc54045d167 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/load-interval.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/load-interval.cfg @@ -13,6 +13,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/local-users.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/local-users.cfg index f8a8a0545aa..ee0bc361ada 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/local-users.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/local-users.cfg @@ -16,6 +16,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging-match-list.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging-match-list.cfg index 027da88c722..6cf3de4ffb9 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging-match-list.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging-match-list.cfg @@ -15,6 +15,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging-minimal.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging-minimal.cfg index d082ad04dc3..b090cc2ca7f 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging-minimal.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging-minimal.cfg @@ -16,6 +16,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging.cfg index 7c4aa8d9e73..4455ee0ac0c 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/logging.cfg @@ -29,6 +29,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/loopbacks-interfaces.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/loopbacks-interfaces.cfg index 60df62fd4db..03cc7d556ff 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/loopbacks-interfaces.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/loopbacks-interfaces.cfg @@ -44,6 +44,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-access-lists.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-access-lists.cfg index d541c373fa5..547a6737e06 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-access-lists.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-access-lists.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! mac access-list TEST1 10 deny any 01:80:c2:00:00:00 00:00:00:00:00:00 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-address-table.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-address-table.cfg index 2ffc2b87129..e9d184771ea 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-address-table.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-address-table.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! mac address-table aging-time 100 ! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-security-eth-po-entropy.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-security-eth-po-entropy.cfg index dda84318b9e..4837b26d1c8 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-security-eth-po-entropy.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mac-security-eth-po-entropy.cfg @@ -45,7 +45,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! management security entropy source hardware diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/maintenance.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/maintenance.cfg index 6cded571c69..23c35d0da11 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/maintenance.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/maintenance.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! maintenance profile bgp BP1 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-accounts.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-accounts.cfg index e64cbbba679..24f16d01fa4 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-accounts.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-accounts.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! management accounts password policy AVD_POLICY diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-api-http.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-api-http.cfg index f61a239c1c6..7442a449bc9 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-api-http.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-api-http.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! ip access-list standard ACL-API 10 permit 10.0.0.0/8 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-api-models.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-api-models.cfg index 27ed6ea00a2..8ee2c59a1ce 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-api-models.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-api-models.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! management api models ! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-console.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-console.cfg index a68fc766fd1..10c6d558f2a 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-console.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-console.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! management console idle-timeout 15 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-cvx.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-cvx.cfg index c5de5edd917..3b86ba112f4 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-cvx.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-cvx.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! management cvx no shutdown diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-defaults.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-defaults.cfg index 536ff45abf0..74ef1b2b9f7 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-defaults.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-defaults.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! management defaults secret hash md5 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi-grpc-tunnel.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi-grpc-tunnel.cfg index 88b1857a1d1..5a28cfa9481 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi-grpc-tunnel.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi-grpc-tunnel.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! management api gnmi transport grpc-tunnel onetarget diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi-new-flags.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi-new-flags.cfg index cfd5f2403a3..a95bc7aad39 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi-new-flags.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi-new-flags.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! management api gnmi transport grpc MGMT diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi.cfg index 62d6f81bafc..3621d9398d9 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-gnmi.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! management api gnmi transport grpc MGMT diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-interfaces.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-interfaces.cfg index 771d9fcc512..ffd1af9b03b 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-interfaces.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-interfaces.cfg @@ -28,6 +28,5 @@ interface Vlan123 mtu 1500 ip address 10.73.0.123/24 ip virtual-router address 10.73.0.1 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-security.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-security.cfg index a75d8280844..4f4c47e1030 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-security.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-security.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! management security entropy source hardware diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-ssh-custom-cipher.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-ssh-custom-cipher.cfg index b2cff78d33c..f83b3485436 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-ssh-custom-cipher.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-ssh-custom-cipher.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! management ssh ip access-group ACL-SSH in diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-ssh.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-ssh.cfg index 571d1485b28..fcfd0d40b95 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-ssh.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-ssh.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! management ssh ip access-group ACL-SSH in diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-tech-support.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-tech-support.cfg index 6f485f4eef4..d904a9afdb4 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-tech-support.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/management-tech-support.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! management tech-support policy show tech-support diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/match-lists.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/match-lists.cfg index 6a66be54e76..0274de52c35 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/match-lists.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/match-lists.cfg @@ -15,6 +15,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mcs-client.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mcs-client.cfg index 1ace6d1dfc3..ddcf9c9442b 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mcs-client.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mcs-client.cfg @@ -20,6 +20,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mlag-configuration.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mlag-configuration.cfg index ad6e4ff3435..7edeb198ac2 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mlag-configuration.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mlag-configuration.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! mlag configuration domain-id sw1-sw2-mlag-domain diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-connectivity.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-connectivity.cfg index 4096220d0f9..e238dde41a6 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-connectivity.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-connectivity.cfg @@ -38,6 +38,5 @@ monitor connectivity local-interfaces VRF_HOST_SET address-only ip 10.10.20.1 url https://server2.local.com - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-sessions.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-sessions.cfg index 1ecf060d296..81bb37fa84a 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-sessions.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-sessions.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! monitor session myMonitoringSession1 source Ethernet0 ipv6 access-group ipv6ACL monitor session myMonitoringSession1 source Ethernet5 both ip access-group ipv4ACL priority 10 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg index c5deb620e65..5318c07508c 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! monitor telemetry postcard policy no disabled diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mpls.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mpls.cfg index 113ecd55ed5..13e27943a8e 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mpls.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/mpls.cfg @@ -22,7 +22,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! mpls ip ! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/none_configuration.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/none_configuration.cfg index d4bfb48f904..24afbbf7417 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/none_configuration.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/none_configuration.cfg @@ -11,6 +11,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ntp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ntp.cfg index a1c5b395bd5..d9d7f69de11 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ntp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ntp.cfg @@ -24,6 +24,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/object-tracking.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/object-tracking.cfg index b552d873e41..0c19def24d1 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/object-tracking.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/object-tracking.cfg @@ -14,6 +14,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/patch-panel.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/patch-panel.cfg index 43a0663d0de..18b85373113 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/patch-panel.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/patch-panel.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! patch panel patch TEN_B_site2_site5_eline diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/peer-filters.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/peer-filters.cfg index d35c3de3cd4..f845992b821 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/peer-filters.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/peer-filters.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! peer-filter PF1 10 match as-range 1-2 result reject diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/platform.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/platform.cfg index 3ee08e55313..4146bd730ea 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/platform.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/platform.cfg @@ -43,7 +43,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! platform trident mmu queue profile mc_example_profile apply ! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/poe.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/poe.cfg index 8cf16a96aef..d0cf1ce2b53 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/poe.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/poe.cfg @@ -18,6 +18,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/policy-maps-pbr.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/policy-maps-pbr.cfg index 1d8728224ce..333848d786d 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/policy-maps-pbr.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/policy-maps-pbr.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! policy-map type pbr POLICY_DROP_THEN_NEXTHOP 10 class CLASS_DROP diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/policy-maps.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/policy-maps.cfg index dc364e8286d..91cfdeec7dd 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/policy-maps.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/policy-maps.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! policy-map type pbr PM_PBR_BREAKOUT class CM_PBR_EXCLUDE diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/port-channel-interfaces.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/port-channel-interfaces.cfg index b2760e77aff..ae339a7d0ab 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/port-channel-interfaces.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/port-channel-interfaces.cfg @@ -438,6 +438,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/prefix-lists.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/prefix-lists.cfg index b54f5d580f7..3f8a25b5c4b 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/prefix-lists.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/prefix-lists.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! dynamic prefix-list DYNAMIC_PREFIX_LIST_NAME_1 match-map Test_1 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/prompt.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/prompt.cfg index cd5bcd5bafa..cd58043198c 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/prompt.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/prompt.cfg @@ -13,6 +13,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ptp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ptp.cfg index 4db3f3648f4..027503b190d 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ptp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/ptp.cfg @@ -77,6 +77,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/qos.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/qos.cfg index 9042f7e97c7..fde9603cc49 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/qos.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/qos.cfg @@ -225,7 +225,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! ipv6 access-list acl_qos_tc0_v6 10 permit ipv6 any any dscp cs1 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-length-notifying.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-length-notifying.cfg index 6930d091098..92f5d184206 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-length-notifying.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-length-notifying.cfg @@ -15,6 +15,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-length.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-length.cfg index 226c8268ddd..d64d8049f79 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-length.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-length.cfg @@ -18,6 +18,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-streaming.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-streaming.cfg index c351ba0331b..b2c5b30be2e 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-streaming.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/queue-monitor-streaming.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! queue-monitor streaming max-connections 5 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/radius-server-2.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/radius-server-2.cfg index 96e9b4b9da5..87f06337837 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/radius-server-2.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/radius-server-2.cfg @@ -13,6 +13,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/radius-server.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/radius-server.cfg index b402e19785d..3b1006e1fd9 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/radius-server.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/radius-server.cfg @@ -20,6 +20,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/redundancy.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/redundancy.cfg index f2d818b0cb0..d3246119213 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/redundancy.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/redundancy.cfg @@ -14,6 +14,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/roles.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/roles.cfg index deb5be47cd0..ea13416a987 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/roles.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/roles.cfg @@ -16,6 +16,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/route-maps.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/route-maps.cfg index 9fbd02a34b4..cdcd6efb5cd 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/route-maps.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/route-maps.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! route-map RM-10.2.3.4-SET-NEXT-HOP-OUT permit 10 set ip next-hop 10.2.3.4 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-adaptive-virtual-topology.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-adaptive-virtual-topology.cfg index 5e2ebd1af5e..be716200d53 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-adaptive-virtual-topology.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-adaptive-virtual-topology.cfg @@ -57,6 +57,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bfd-1.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bfd-1.cfg index 76f140eedb8..8431288bf96 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bfd-1.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bfd-1.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router bfd interval 900 min-rx 900 multiplier 50 default diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bfd-2.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bfd-2.cfg index c2877e17b70..5ca93b3621a 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bfd-2.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bfd-2.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router bfd session stats snapshot interval dangerous 8 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-base.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-base.cfg index feb1399f595..285623fdf49 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-base.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-base.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router bgp 65101 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn-mpls.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn-mpls.cfg index a0dd1e50563..84b80e4840e 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn-mpls.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn-mpls.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router bgp 65101 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn-vpn-import-pruning.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn-vpn-import-pruning.cfg index 37dc6ee4f60..e0c8559ffe8 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn-vpn-import-pruning.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn-vpn-import-pruning.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router bgp 65101 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn.cfg index 3864d06aa4d..27ea71c6fca 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-evpn.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router bgp 65101 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-link-state.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-link-state.cfg index c6edd23cdbe..0c98dc39a42 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-link-state.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-link-state.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router bgp 65101 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-path-selection.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-path-selection.cfg index ecfafcc92b6..a387b41089c 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-path-selection.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-path-selection.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router bgp 65101 router-id 192.168.255.42 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-rtc.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-rtc.cfg index b26a89797ed..26d79d399bf 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-rtc.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-rtc.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router bgp 65101 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-evpn.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-evpn.cfg index 9bab2e61a4f..ab1ac634538 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-evpn.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-evpn.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router bgp 65101 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-v6-evpn.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-v6-evpn.cfg index 4c6e3d3ed71..d85cc08cf24 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-v6-evpn.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-v6-evpn.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router bgp 65100 router-id 10.50.64.15 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-v6-sr-te.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-v6-sr-te.cfg index 803a2926239..1b879491969 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-v6-sr-te.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-v4-v6-sr-te.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router bgp 65103 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vpn-ipv4-vpn-ipv6.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vpn-ipv4-vpn-ipv6.cfg index bf47e330eae..5fd5b48cddc 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vpn-ipv4-vpn-ipv6.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vpn-ipv4-vpn-ipv6.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router bgp 65103 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vpws.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vpws.cfg index a137bde5361..c765517ab1a 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vpws.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vpws.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router bgp 65101 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vrf-address-families.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vrf-address-families.cfg index fffd51dd882..a227f476735 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vrf-address-families.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vrf-address-families.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router bgp 65001 router-id 1.0.1.1 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vrf-lite.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vrf-lite.cfg index a313fd56fec..8db21597c38 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vrf-lite.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-bgp-vrf-lite.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! ip prefix-list PL-BGP-DEFAULT-BLUE-C1 seq 10 permit 0.0.0.0/0 le 1 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-general.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-general.cfg index 5d21284efe8..5a2169de83e 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-general.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-general.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router general router-id ipv4 10.1.2.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-igmp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-igmp.cfg index 951e8e5a308..327cc102089 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-igmp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-igmp.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router igmp host-proxy match mroute all diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-isis-new.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-isis-new.cfg index 9fc2a3cf089..c90ce2c35aa 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-isis-new.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-isis-new.cfg @@ -64,7 +64,6 @@ interface Vlan4094 mtu 1500 no autostate ip address 10.255.252.0/31 - ! router isis EVPN_UNDERLAY net 49.0001.0001.0001.0001.00 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-isis.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-isis.cfg index bf50fd50d96..0df6393c01c 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-isis.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-isis.cfg @@ -105,7 +105,6 @@ interface Vlan4094 mtu 1500 no autostate ip address 10.255.252.0/31 - ! router isis EVPN_UNDERLAY net 49.0001.0001.0001.0001.00 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-l2-vpn.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-l2-vpn.cfg index 54024933cd6..6b874771b22 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-l2-vpn.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-l2-vpn.cfg @@ -20,6 +20,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-msdp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-msdp.cfg index da7c4dbdca8..57fcc4524d4 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-msdp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-msdp.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router msdp group-limit 100 source 10.0.1.0/24 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-multicast.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-multicast.cfg index 8ef9b02f224..fcb20a20034 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-multicast.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-multicast.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router multicast ipv4 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-ospf.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-ospf.cfg index d4ce3c28488..f3708f87342 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-ospf.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-ospf.cfg @@ -37,7 +37,6 @@ interface Vlan24 ip ospf cost 99 ip ospf authentication message-digest ip ospf message-digest-key 55 md5 7 ABCDEFGHIJKLMNOPQRSTUVWXYZ - ! router ospf 100 router-id 192.168.255.3 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-path-selection.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-path-selection.cfg index b2583120090..55c1867cff8 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-path-selection.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-path-selection.cfg @@ -104,6 +104,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-pim-sparse-mode.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-pim-sparse-mode.cfg index d2596ca0547..ddaad76de4f 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-pim-sparse-mode.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-pim-sparse-mode.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router pim sparse-mode ipv4 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-service-insertion.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-service-insertion.cfg index c02b3bc348b..8e7b601ad1f 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-service-insertion.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-service-insertion.cfg @@ -13,6 +13,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-traffic-engineering.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-traffic-engineering.cfg index aea5e6ceb8c..e425773c325 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-traffic-engineering.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/router-traffic-engineering.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! router traffic-engineering segment-routing diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-configuration-bgp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-configuration-bgp.cfg index c4071247861..85514d7a41c 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-configuration-bgp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-configuration-bgp.cfg @@ -13,6 +13,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-protocols-model-2.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-protocols-model-2.cfg index 993469244b4..94a6f26f313 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-protocols-model-2.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-protocols-model-2.cfg @@ -13,6 +13,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-protocols-model.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-protocols-model.cfg index e0956ba0699..d90bebc7e1b 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-protocols-model.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/service-routing-protocols-model.cfg @@ -13,6 +13,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/sflow.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/sflow.cfg index 4b401faeccf..4374198ff9f 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/sflow.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/sflow.cfg @@ -41,6 +41,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/snmp-server-traps.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/snmp-server-traps.cfg index 18b1e6024ba..a7834445d9f 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/snmp-server-traps.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/snmp-server-traps.cfg @@ -26,6 +26,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/snmp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/snmp.cfg index f1f74bd22b6..c3db1f52c45 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/snmp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/snmp.cfg @@ -50,6 +50,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-bpdu.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-bpdu.cfg index 47256cd911c..fb378347559 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-bpdu.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-bpdu.cfg @@ -16,6 +16,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-rapid-pvst.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-rapid-pvst.cfg index b405148d511..70055e395fd 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-rapid-pvst.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-rapid-pvst.cfg @@ -16,6 +16,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-rstp.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-rstp.cfg index a4ce258ecfc..6619318557e 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-rstp.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree-rstp.cfg @@ -14,6 +14,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree.cfg index 4f711621a45..088448f7855 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/spanning-tree.cfg @@ -25,6 +25,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/static-routes.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/static-routes.cfg index 409d1908015..01c9ef57922 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/static-routes.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/static-routes.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! ip route 1.1.1.0/24 Vlan101 10.1.1.1 ip route 1.1.2.0/24 Vlan101 10.1.1.1 200 tag 666 name RT-TO-FAKE-DMZ diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/stun.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/stun.cfg index f57d4086cad..5e6edf74fd6 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/stun.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/stun.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! stun client diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/switchport-mode.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/switchport-mode.cfg index 670b0331c14..b4ec163fb61 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/switchport-mode.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/switchport-mode.cfg @@ -17,6 +17,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/system.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/system.cfg index dd5eb20921f..70a7663ac0a 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/system.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/system.cfg @@ -15,7 +15,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! system control-plane tcp mss ceiling ipv4 1344 ipv6 1366 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tap-aggregation.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tap-aggregation.cfg index 4f37fbc8f83..d1d38ae9f54 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tap-aggregation.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tap-aggregation.cfg @@ -24,6 +24,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tcam-profile.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tcam-profile.cfg index 732e4a70a03..6a4f357a342 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tcam-profile.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tcam-profile.cfg @@ -126,6 +126,5 @@ hardware tcam packet ipv4 vxlan forwarding bridged decap ! system profile traffic_policy - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-cloud.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-cloud.cfg index deebaeb8f0e..7b0504e0ef9 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-cloud.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-cloud.cfg @@ -15,6 +15,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-extra-flags.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-extra-flags.cfg index 7f4b06631fc..f1d761e9dc5 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-extra-flags.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-extra-flags.cfg @@ -15,6 +15,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-multi-cluster-certs.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-multi-cluster-certs.cfg index 2a1ceb9d56d..7d3b505e161 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-multi-cluster-certs.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-multi-cluster-certs.cfg @@ -15,6 +15,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-multi-cluster.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-multi-cluster.cfg index 9647fa55d9b..0523c7da015 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-multi-cluster.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-multi-cluster.cfg @@ -15,6 +15,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-onprem-certs.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-onprem-certs.cfg index 8f1e1fb51cd..cae744ad60a 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-onprem-certs.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-onprem-certs.cfg @@ -15,6 +15,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-onprem-token.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-onprem-token.cfg index fabc3d2f479..46651354cba 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-onprem-token.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-onprem-token.cfg @@ -15,6 +15,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem-disableaaa.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem-disableaaa.cfg index ba8ee715dcc..4ae05ca9b9a 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem-disableaaa.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem-disableaaa.cfg @@ -15,6 +15,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem-no-ingestkey.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem-no-ingestkey.cfg index 84f7404fc34..02110dc2141 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem-no-ingestkey.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem-no-ingestkey.cfg @@ -15,6 +15,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem.cfg index 9cb2889c9fc..e8bbf1d8e05 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/terminattr-prem.cfg @@ -15,6 +15,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/traffic-policies.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/traffic-policies.cfg index f65524e1a76..a3426fb9e6f 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/traffic-policies.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/traffic-policies.cfg @@ -21,7 +21,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! traffic-policies counter interface per-interface ingress diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/transceiver_qsfp_default_mode_4x10_false.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/transceiver_qsfp_default_mode_4x10_false.cfg index 6dcb9fab3d1..e0889699b7f 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/transceiver_qsfp_default_mode_4x10_false.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/transceiver_qsfp_default_mode_4x10_false.cfg @@ -9,6 +9,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tunnel-interfaces.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tunnel-interfaces.cfg index 6afe9986f1b..debaad801ab 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tunnel-interfaces.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/tunnel-interfaces.cfg @@ -58,6 +58,5 @@ interface Tunnel4 ipv6 address beef::64/64 tunnel source interface Ethernet42 tunnel destination 1.1.1.1 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/unsupported-transceiver.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/unsupported-transceiver.cfg index 04946bb9b5b..746f7afef3c 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/unsupported-transceiver.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/unsupported-transceiver.cfg @@ -13,6 +13,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/virtual-source-nat.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/virtual-source-nat.cfg index 55c4242fb49..58a12618b7f 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/virtual-source-nat.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/virtual-source-nat.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! ip address virtual source-nat vrf TEST_01 address 1.1.1.1 ip address virtual source-nat vrf TEST_02 address 1.1.1.2 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlan-interfaces.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlan-interfaces.cfg index 0edac280d50..2aafe26dc80 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlan-interfaces.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlan-interfaces.cfg @@ -278,6 +278,5 @@ interface Vlan4094 ipv6 address fe80::a/64 link-local pim ipv4 sparse-mode pim ipv4 dr-priority 200 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlan-internal-order.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlan-internal-order.cfg index 27c7fac4e58..d8059292ead 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlan-internal-order.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlan-internal-order.cfg @@ -13,6 +13,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlans.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlans.cfg index 6cf0aea2f33..95749c075c6 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlans.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vlans.cfg @@ -36,6 +36,5 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vmtracer-sessions.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vmtracer-sessions.cfg index 2a250521c14..67f1ce3a9cc 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vmtracer-sessions.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vmtracer-sessions.cfg @@ -11,7 +11,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - ! vmtracer session session_1 url https://192.168.0.10 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vrf-instances.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vrf-instances.cfg index 73fee7b053c..6a0920a3c97 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vrf-instances.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vrf-instances.cfg @@ -17,7 +17,6 @@ interface Management1 description oob_management vrf MGMT ip address 10.73.255.122/24 - no ip routing vrf MGMT ip routing vrf TENANT_A_PROJECT01 ip routing vrf TENANT_A_PROJECT02 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vxlan-interface-false.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vxlan-interface-false.cfg index 3cb1a423b16..235c6d61041 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vxlan-interface-false.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vxlan-interface-false.cfg @@ -16,6 +16,5 @@ interface Vxlan1 no vxlan qos dscp propagation encapsulation no vxlan qos ecn propagation no vxlan qos map dscp to traffic-class decapsulation - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vxlan-interface.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vxlan-interface.cfg index c8f497544a1..b05b614ca2c 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vxlan-interface.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/vxlan-interface.cfg @@ -37,6 +37,5 @@ interface Vxlan1 vxlan multicast headend-replication vxlan encapsulation ipv4 - ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml index ceea45bb2ba..e7716646bea 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml @@ -17,4 +17,4 @@ monitor_telemetry_postcard: destination_prefix: prefix2: prefix_address: 10.10.0.0 - prefix_mask: 24 \ No newline at end of file + prefix_mask: 24 diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml index 29ebabcb5be..fb8ab47b4bf 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml @@ -75,4 +75,4 @@ keys: prefix_address: type: str prefix_mask: - type: int \ No newline at end of file + type: int diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 index b1806cfd92e..81a9ccf07a4 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 @@ -4,7 +4,6 @@ that can be found in the LICENSE file. #} {# eos - monitor telemetry postcard #} - {% if monitor_telemetry_postcard is arista.avd.defined %} ! monitor telemetry postcard policy @@ -26,8 +25,8 @@ monitor telemetry postcard policy profile {{ monitor_telemetry_postcard.profile.name }} {% if monitor_telemetry_postcard.profile.ingress_sample_policy is arista.avd.defined %} ingress sample policy {{ monitor_telemetry_postcard.profile.ingress_sample_policy }} -{% endif %} -{% endif %} +{% endif %} +{% endif %} {% if monitor_telemetry_postcard.sample_policy is arista.avd.defined %} {% if monitor_telemetry_postcard.sample_policy.name is arista.avd.defined %} sample policy {{ monitor_telemetry_postcard.sample_policy.name }} @@ -43,11 +42,11 @@ monitor telemetry postcard policy {% if monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix1 is arista.avd.defined %} {% set prefix_address = monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix1.prefix_address %} {% set prefix_mask = monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix1.prefix_address %} - destination prefix {{ prefix_address }} {{prefix_mask }} + destination prefix {{ prefix_address }} {{ prefix_mask }} {% endif %} {% if monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix2 is arista.avd.defined %} {% set prefix_address = monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix2.prefix_address %} {% set prefix_mask = monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix2.prefix_mask %} destination prefix {{ prefix_address }}/{{ prefix_mask }} {% endif %} -{% endif %} \ No newline at end of file +{% endif %} From f1a5d56de5281a036bdcd25862f8ec875024cc3d Mon Sep 17 00:00:00 2001 From: laxmikant Date: Wed, 21 Feb 2024 16:43:03 +0530 Subject: [PATCH 03/44] Feat(eos_cli_config_gen): Add support for Postcard telemetry --- .../configs/monitor-telemetry-postcard.cfg | 15 ++-- .../host_vars/monitor-telemetry-postcard.yml | 22 +++-- .../docs/tables/monitor-telemetry-postcard.md | 36 +++++--- .../eos_cli_config_gen.jsonschema.json | 89 ++++++++++++------- .../schemas/eos_cli_config_gen.schema.yml | 47 +++++++--- .../monitor_telemetry_postcard.schema.yml | 48 ++++++---- .../eos/monitor-telemetry-postcard.j2 | 27 +++--- 7 files changed, 183 insertions(+), 101 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg index 5318c07508c..118388a86ca 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg @@ -14,13 +14,16 @@ interface Management1 ! monitor telemetry postcard policy no disabled - ingress collection gre source 10.3.3.3 19.33.33.33 + ingress collection gre source 10.3.3.3 10.3.3.4 ingress sample rate 16384 - ingress sample tcp-udp-checksum 393993 + ingress sample tcp-udp-checksum 2343223 profile abc - ingress sample policy abcd - sample policy abcde - match rule abcdef ipv4 - destination prefix 10.10.0.0/24 + ingress sample policy ingresspo1 + sample policy samplepo1 + match rule rule1 ipv4 + destination prefix 10.3.3.0/24 + source prefix 3.4.5.0/24 + protocol tcp destination port 77, 89, 99 + ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml index e7716646bea..b4a5d5412a5 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml @@ -3,18 +3,24 @@ monitor_telemetry_postcard: ingress: collection: source: 10.3.3.3 - destination: 19.33.33.33 + destination: 10.3.3.4 sample: rate: 16384 - tcp_udp_checksum: 393993 + tcp_udp_checksum: 2343223 profile: name: abc - ingress_sample_policy: abcd + ingress_sample_policy: ingresspo1 sample_policy: - name: abcde + name: samplepo1 match_rule: - rule_name: abcdef + rule_name: rule1 + ipversion: ipv4 destination_prefix: - prefix2: - prefix_address: 10.10.0.0 - prefix_mask: 24 + prefix_address: 10.3.3.0 + prefix_mask: 24 + source_prefix: + prefix_address: 3.4.5.0 + prefix_mask: 24 + protocol: + type_of_protocol: tcp + destination_port: 77, 89, 99 diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md index 8cd9824a295..ec9c564e06f 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md @@ -23,13 +23,16 @@ | [    name](## "monitor_telemetry_postcard.sample_policy.name") | String | | | | | | [    match_rule](## "monitor_telemetry_postcard.sample_policy.match_rule") | Dictionary | | | | | | [      rule_name](## "monitor_telemetry_postcard.sample_policy.match_rule.rule_name") | String | | | | | + | [      ipversion](## "monitor_telemetry_postcard.sample_policy.match_rule.ipversion") | String | | | Valid Values:
- ipv4
- ipv6 | | | [      destination_prefix](## "monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix") | Dictionary | | | | | - | [        prefix1](## "monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix1") | Dictionary | | | | | - | [          prefix_address](## "monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix1.prefix_address") | String | | | | | - | [          prefix_mask](## "monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix1.prefix_mask") | String | | | | | - | [        prefix2](## "monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix2") | Dictionary | | | | | - | [          prefix_address](## "monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix2.prefix_address") | String | | | | | - | [          prefix_mask](## "monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix2.prefix_mask") | Integer | | | | | + | [        prefix_address](## "monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix_address") | String | | | | | + | [        prefix_mask](## "monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix_mask") | Integer | | | | | + | [      source_prefix](## "monitor_telemetry_postcard.sample_policy.match_rule.source_prefix") | Dictionary | | | | | + | [        prefix_address](## "monitor_telemetry_postcard.sample_policy.match_rule.source_prefix.prefix_address") | String | | | | | + | [        prefix_mask](## "monitor_telemetry_postcard.sample_policy.match_rule.source_prefix.prefix_mask") | Integer | | | | | + | [      protocol](## "monitor_telemetry_postcard.sample_policy.match_rule.protocol") | Dictionary | | | | | + | [        type_of_protocol](## "monitor_telemetry_postcard.sample_policy.match_rule.protocol.type_of_protocol") | String | | | Valid Values:
- tcp
- udp | | + | [        destination_port](## "monitor_telemetry_postcard.sample_policy.match_rule.protocol.destination_port") | String | | | | Enter the port number or range or multiple port numbers with comma seperated values.
Examples:
"65-78"
"55"
"44, 55, 66"
| === "YAML" @@ -68,11 +71,20 @@ name: match_rule: rule_name: + ipversion: destination_prefix: - prefix1: - prefix_address: - prefix_mask: - prefix2: - prefix_address: - prefix_mask: + prefix_address: + prefix_mask: + source_prefix: + prefix_address: + prefix_mask: + protocol: + type_of_protocol: + + # Enter the port number or range or multiple port numbers with comma seperated values. + # Examples: + # "65-78" + # "55" + # "44, 55, 66" + destination_port: ``` diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index 0bf3bd964f5..bb905898c64 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -11191,44 +11191,24 @@ "type": "string", "title": "Rule Name" }, + "ipversion": { + "type": "string", + "enum": [ + "ipv4", + "ipv6" + ], + "title": "Ipversion" + }, "destination_prefix": { "type": "object", "properties": { - "prefix1": { - "type": "object", - "properties": { - "prefix_address": { - "type": "string", - "title": "Prefix Address" - }, - "prefix_mask": { - "type": "string", - "title": "Prefix Mask" - } - }, - "additionalProperties": false, - "patternProperties": { - "^_.+$": {} - }, - "title": "Prefix1" + "prefix_address": { + "type": "string", + "title": "Prefix Address" }, - "prefix2": { - "type": "object", - "properties": { - "prefix_address": { - "type": "string", - "title": "Prefix Address" - }, - "prefix_mask": { - "type": "integer", - "title": "Prefix Mask" - } - }, - "additionalProperties": false, - "patternProperties": { - "^_.+$": {} - }, - "title": "Prefix2" + "prefix_mask": { + "type": "integer", + "title": "Prefix Mask" } }, "additionalProperties": false, @@ -11236,6 +11216,47 @@ "^_.+$": {} }, "title": "Destination Prefix" + }, + "source_prefix": { + "type": "object", + "properties": { + "prefix_address": { + "type": "string", + "title": "Prefix Address" + }, + "prefix_mask": { + "type": "integer", + "title": "Prefix Mask" + } + }, + "additionalProperties": false, + "patternProperties": { + "^_.+$": {} + }, + "title": "Source Prefix" + }, + "protocol": { + "type": "object", + "properties": { + "type_of_protocol": { + "type": "string", + "enum": [ + "tcp", + "udp" + ], + "title": "Type Of Protocol" + }, + "destination_port": { + "type": "string", + "description": "Enter the port number or range or multiple port numbers with comma seperated values.\nExamples:\n \"65-78\"\n \"55\"\n \"44, 55, 66\"\n", + "title": "Destination Port" + } + }, + "additionalProperties": false, + "patternProperties": { + "^_.+$": {} + }, + "title": "Protocol" } }, "additionalProperties": false, diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index d93d099f8cf..a7dea8f8957 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -6587,23 +6587,42 @@ keys: keys: rule_name: type: str + ipversion: + type: str + valid_values: + - ipv4 + - ipv6 destination_prefix: type: dict keys: - prefix1: - type: dict - keys: - prefix_address: - type: str - prefix_mask: - type: str - prefix2: - type: dict - keys: - prefix_address: - type: str - prefix_mask: - type: int + prefix_address: + type: str + prefix_mask: + type: int + convert_types: + - str + source_prefix: + type: dict + keys: + prefix_address: + type: str + prefix_mask: + type: int + convert_types: + - str + protocol: + type: dict + keys: + type_of_protocol: + type: str + valid_values: + - tcp + - udp + destination_port: + type: str + description: "Enter the port number or range or multiple port + numbers with comma seperated values.\nExamples:\n \"65-78\"\n + \ \"55\"\n \"44, 55, 66\"\n" mpls: type: dict keys: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml index fb8ab47b4bf..a88d4e234bf 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml @@ -1,4 +1,4 @@ -# Copyright (c) 2023-2024 Arista Networks, Inc. +# Copyright (c) 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. # yaml-language-server: $schema=../../../../plugins/plugin_utils/schema/avd_meta_schema.json @@ -59,20 +59,38 @@ keys: keys: rule_name: type: str + ipversion: + type: str + valid_values: [ ipv4, ipv6 ] destination_prefix: type: dict keys: - prefix1: - type: dict - keys: - prefix_address: - type: str - prefix_mask: - type: str - prefix2: - type: dict - keys: - prefix_address: - type: str - prefix_mask: - type: int + prefix_address: + type: str + prefix_mask: + type: int + convert_types: + - str + source_prefix: + type: dict + keys: + prefix_address: + type: str + prefix_mask: + type: int + convert_types: + - str + protocol: + type: dict + keys: + type_of_protocol: + type: str + valid_values: [ tcp, udp ] + destination_port: + type: str + description: | + Enter the port number or range or multiple port numbers with comma seperated values. + Examples: + "65-78" + "55" + "44, 55, 66" diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 index 81a9ccf07a4..518605f629c 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 @@ -7,7 +7,7 @@ {% if monitor_telemetry_postcard is arista.avd.defined %} ! monitor telemetry postcard policy -{% if monitor_telemetry_postcard.disabled is arista.avd.defined and monitor_telemetry_postcard.disabled == false %} +{% if monitor_telemetry_postcard.disabled is arista.avd.defined(false) %} no disabled {% endif %} {% if monitor_telemetry_postcard.ingress is arista.avd.defined %} @@ -33,20 +33,23 @@ monitor telemetry postcard policy {% endif %} {% endif %} {% if monitor_telemetry_postcard.sample_policy.match_rule.rule_name is arista.avd.defined %} - match rule {{ monitor_telemetry_postcard.sample_policy.match_rule.rule_name }} ipv4 +{% if monitor_telemetry_postcard.sample_policy.match_rule.ipversion is arista.avd.defined %} + match rule {{ monitor_telemetry_postcard.sample_policy.match_rule.rule_name }} {{ monitor_telemetry_postcard.sample_policy.match_rule.ipversion }} +{% endif %} +{% if monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix_address is arista.avd.defined and monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix_mask is arista.avd.defined %} + destination prefix {{ monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix_address }}/{{ monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix_mask }} +{% endif %} +{% if monitor_telemetry_postcard.sample_policy.match_rule.source_prefix is arista.avd.defined %} + source prefix {{ monitor_telemetry_postcard.sample_policy.match_rule.source_prefix.prefix_address }}/{{ monitor_telemetry_postcard.sample_policy.match_rule.source_prefix.prefix_mask }} +{% endif %} +{% if monitor_telemetry_postcard.sample_policy.match_rule.protocol is arista.avd.defined %} +{% if monitor_telemetry_postcard.sample_policy.match_rule.protocol.type_of_protocol is arista.avd.defined and monitor_telemetry_postcard.sample_policy.match_rule.protocol.destination_port is arista.avd.defined %} + protocol {{ monitor_telemetry_postcard.sample_policy.match_rule.protocol.type_of_protocol }} destination port {{ monitor_telemetry_postcard.sample_policy.match_rule.protocol.destination_port }} +{% endif %} +{% endif %} {% else %} match ipv4-all-default ipv4 ! match ipv6-all-default ipv6 {% endif %} -{% if monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix1 is arista.avd.defined %} -{% set prefix_address = monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix1.prefix_address %} -{% set prefix_mask = monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix1.prefix_address %} - destination prefix {{ prefix_address }} {{ prefix_mask }} -{% endif %} -{% if monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix2 is arista.avd.defined %} -{% set prefix_address = monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix2.prefix_address %} -{% set prefix_mask = monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix2.prefix_mask %} - destination prefix {{ prefix_address }}/{{ prefix_mask }} -{% endif %} {% endif %} From 345d23384f02df0a1af40e1bbece45547a063fd7 Mon Sep 17 00:00:00 2001 From: laxmikant Date: Wed, 21 Feb 2024 16:46:04 +0530 Subject: [PATCH 04/44] Fixing data model and template --- .../schema_fragments/monitor_telemetry_postcard.schema.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml index a88d4e234bf..2664745a745 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml @@ -93,4 +93,4 @@ keys: Examples: "65-78" "55" - "44, 55, 66" + "4, 55, 66" From 09110f541c5da7fd2464b708927b86f2ba139caa Mon Sep 17 00:00:00 2001 From: laxmikant Date: Wed, 21 Feb 2024 18:06:47 +0530 Subject: [PATCH 05/44] Adding support to include port name in match rules --- .../intended/configs/monitor-telemetry-postcard.cfg | 4 +++- .../inventory/host_vars/monitor-telemetry-postcard.yml | 2 +- .../docs/tables/monitor-telemetry-postcard.md | 6 +++--- .../schemas/eos_cli_config_gen.jsonschema.json | 4 ++-- .../schemas/eos_cli_config_gen.schema.yml | 4 ++-- .../monitor_telemetry_postcard.schema.yml | 2 +- .../templates/eos/monitor-telemetry-postcard.j2 | 10 ++++++---- 7 files changed, 18 insertions(+), 14 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg index 118388a86ca..55aba0b0335 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg @@ -23,7 +23,9 @@ monitor telemetry postcard policy match rule rule1 ipv4 destination prefix 10.3.3.0/24 source prefix 3.4.5.0/24 - protocol tcp destination port 77, 89, 99 + protocol tcp destination port www + protocol tcp destination port 78-80 + protocol tcp destination port 77 ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml index b4a5d5412a5..144c6428b5e 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml @@ -23,4 +23,4 @@ monitor_telemetry_postcard: prefix_mask: 24 protocol: type_of_protocol: tcp - destination_port: 77, 89, 99 + destination_port: [ "77", "78-80", "www"] \ No newline at end of file diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md index ec9c564e06f..ffb6176308e 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md @@ -32,7 +32,7 @@ | [        prefix_mask](## "monitor_telemetry_postcard.sample_policy.match_rule.source_prefix.prefix_mask") | Integer | | | | | | [      protocol](## "monitor_telemetry_postcard.sample_policy.match_rule.protocol") | Dictionary | | | | | | [        type_of_protocol](## "monitor_telemetry_postcard.sample_policy.match_rule.protocol.type_of_protocol") | String | | | Valid Values:
- tcp
- udp | | - | [        destination_port](## "monitor_telemetry_postcard.sample_policy.match_rule.protocol.destination_port") | String | | | | Enter the port number or range or multiple port numbers with comma seperated values.
Examples:
"65-78"
"55"
"44, 55, 66"
| + | [        destination_port](## "monitor_telemetry_postcard.sample_policy.match_rule.protocol.destination_port") | List | | | | Enter the port number or range or multiple port numbers with comma seperated values.
Examples:
"65-78"
"55"
"4, 55, 66"
| === "YAML" @@ -85,6 +85,6 @@ # Examples: # "65-78" # "55" - # "44, 55, 66" - destination_port: + # "4, 55, 66" + destination_port: ``` diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index bb905898c64..9de03d6a8ff 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -11247,8 +11247,8 @@ "title": "Type Of Protocol" }, "destination_port": { - "type": "string", - "description": "Enter the port number or range or multiple port numbers with comma seperated values.\nExamples:\n \"65-78\"\n \"55\"\n \"44, 55, 66\"\n", + "type": "array", + "description": "Enter the port number or range or multiple port numbers with comma seperated values.\nExamples:\n \"65-78\"\n \"55\"\n \"4, 55, 66\"\n", "title": "Destination Port" } }, diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index a7dea8f8957..e9e01d60058 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -6619,10 +6619,10 @@ keys: - tcp - udp destination_port: - type: str + type: list description: "Enter the port number or range or multiple port numbers with comma seperated values.\nExamples:\n \"65-78\"\n - \ \"55\"\n \"44, 55, 66\"\n" + \ \"55\"\n \"4, 55, 66\"\n" mpls: type: dict keys: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml index 2664745a745..b476d07fc19 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml @@ -87,7 +87,7 @@ keys: type: str valid_values: [ tcp, udp ] destination_port: - type: str + type: list description: | Enter the port number or range or multiple port numbers with comma seperated values. Examples: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 index 518605f629c..c08a319ce9a 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 @@ -32,8 +32,8 @@ monitor telemetry postcard policy sample policy {{ monitor_telemetry_postcard.sample_policy.name }} {% endif %} {% endif %} -{% if monitor_telemetry_postcard.sample_policy.match_rule.rule_name is arista.avd.defined %} -{% if monitor_telemetry_postcard.sample_policy.match_rule.ipversion is arista.avd.defined %} +{% if monitor_telemetry_postcard.sample_policy.match_rule is arista.avd.defined %} +{% if monitor_telemetry_postcard.sample_policy.match_rule.ipversion is arista.avd.defined and monitor_telemetry_postcard.sample_policy.match_rule.rule_name is arista.avd.defined %} match rule {{ monitor_telemetry_postcard.sample_policy.match_rule.rule_name }} {{ monitor_telemetry_postcard.sample_policy.match_rule.ipversion }} {% endif %} {% if monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix_address is arista.avd.defined and monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix_mask is arista.avd.defined %} @@ -44,9 +44,11 @@ monitor telemetry postcard policy {% endif %} {% if monitor_telemetry_postcard.sample_policy.match_rule.protocol is arista.avd.defined %} {% if monitor_telemetry_postcard.sample_policy.match_rule.protocol.type_of_protocol is arista.avd.defined and monitor_telemetry_postcard.sample_policy.match_rule.protocol.destination_port is arista.avd.defined %} - protocol {{ monitor_telemetry_postcard.sample_policy.match_rule.protocol.type_of_protocol }} destination port {{ monitor_telemetry_postcard.sample_policy.match_rule.protocol.destination_port }} +{% for protocol in monitor_telemetry_postcard.sample_policy.match_rule.protocol.destination_port | sort(reverse = True) %} + protocol {{ monitor_telemetry_postcard.sample_policy.match_rule.protocol.type_of_protocol }} destination port {{ protocol }} +{% endfor %} {% endif %} -{% endif %} +{% endif %} {% else %} match ipv4-all-default ipv4 ! From 0b2e7f67071240c3c2928f8dc7177cd31c156980 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci-lite[bot]" <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Date: Wed, 21 Feb 2024 13:40:42 +0000 Subject: [PATCH 06/44] [pre-commit.ci lite] apply automatic fixes --- .../templates/eos/monitor-telemetry-postcard.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 index c08a319ce9a..f9762f0d747 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 @@ -48,7 +48,7 @@ monitor telemetry postcard policy protocol {{ monitor_telemetry_postcard.sample_policy.match_rule.protocol.type_of_protocol }} destination port {{ protocol }} {% endfor %} {% endif %} -{% endif %} +{% endif %} {% else %} match ipv4-all-default ipv4 ! From 7b453e7f02a71d7c2b36d80ad3e53b5b714d33ae Mon Sep 17 00:00:00 2001 From: laxmikant Date: Thu, 22 Feb 2024 12:01:30 +0530 Subject: [PATCH 07/44] Multiple sample policies and match rules can be created --- .../configs/monitor-telemetry-postcard.cfg | 22 +- .../host_vars/monitor-telemetry-postcard.yml | 59 +++-- .../docs/tables/monitor-telemetry-postcard.md | 106 +++++---- .../eos_cli_config_gen.jsonschema.json | 201 +++++++++--------- .../schemas/eos_cli_config_gen.schema.yml | 110 +++++----- .../monitor_telemetry_postcard.schema.yml | 107 +++++----- .../eos/monitor-telemetry-postcard.j2 | 70 +++--- 7 files changed, 385 insertions(+), 290 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg index 55aba0b0335..b54bd17b4df 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg @@ -14,11 +14,13 @@ interface Management1 ! monitor telemetry postcard policy no disabled - ingress collection gre source 10.3.3.3 10.3.3.4 + ingress collection gre source 10.3.3.3 destination 10.3.3.4 version 2 ingress sample rate 16384 ingress sample tcp-udp-checksum 2343223 profile abc ingress sample policy ingresspo1 + profile def + ingress sample policy ingresspo1 sample policy samplepo1 match rule rule1 ipv4 destination prefix 10.3.3.0/24 @@ -26,6 +28,22 @@ monitor telemetry postcard policy protocol tcp destination port www protocol tcp destination port 78-80 protocol tcp destination port 77 - + match rule rule2 ipv4 + destination prefix 10.3.4.0/24 + source prefix 3.4.4.0/24 + protocol tcp destination port ssh + protocol tcp destination port 748-800 + protocol tcp destination port 747 + sample policy samplepo2 + match rule rule1 ipv4 + destination prefix 10.3.3.0/24 + source prefix 3.4.5.0/24 + protocol tcp destination port www + protocol tcp destination port 78-80 + protocol tcp destination port 77 + sample policy samplepo3 + match ipv4-all-default ipv4 + ! + match ipv6-all-default ipv6 ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml index 144c6428b5e..e8665dfedc2 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml @@ -4,23 +4,48 @@ monitor_telemetry_postcard: collection: source: 10.3.3.3 destination: 10.3.3.4 + version: 2 sample: rate: 16384 tcp_udp_checksum: 2343223 - profile: - name: abc - ingress_sample_policy: ingresspo1 - sample_policy: - name: samplepo1 - match_rule: - rule_name: rule1 - ipversion: ipv4 - destination_prefix: - prefix_address: 10.3.3.0 - prefix_mask: 24 - source_prefix: - prefix_address: 3.4.5.0 - prefix_mask: 24 - protocol: - type_of_protocol: tcp - destination_port: [ "77", "78-80", "www"] \ No newline at end of file + profiles: + - name: abc + ingress_sample_policy: ingresspo1 + - name: def + ingress_sample_policy: ingresspo1 + sample_policies: + - name: samplepo1 + match_rules: + - rule_name: rule1 + type: ipv4 + destination_prefix: 10.3.3.0/24 + source_prefix: 3.4.5.0/24 + protocol: + protocol_type: tcp + destination_port: + - '77' + - 78-80 + - www + - rule_name: rule2 + type: ipv4 + destination_prefix: 10.3.4.0/24 + source_prefix: 3.4.4.0/24 + protocol: + protocol_type: tcp + destination_port: + - '747' + - 748-800 + - ssh + - name: samplepo2 + match_rules: + - rule_name: rule1 + type: ipv4 + destination_prefix: 10.3.3.0/24 + source_prefix: 3.4.5.0/24 + protocol: + protocol_type: tcp + destination_port: + - '77' + - 78-80 + - www + - name: samplepo3 diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md index ffb6176308e..33b4c75279a 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md @@ -11,28 +11,25 @@ | [  disabled](## "monitor_telemetry_postcard.disabled") | Boolean | | | | Enable or disable the postcard telemetry feature | | [  ingress](## "monitor_telemetry_postcard.ingress") | Dictionary | | | | Configure ingress parameters | | [    collection](## "monitor_telemetry_postcard.ingress.collection") | Dictionary | | | | Collector configuration | - | [      source](## "monitor_telemetry_postcard.ingress.collection.source") | String | | | | | - | [      destination](## "monitor_telemetry_postcard.ingress.collection.destination") | String | | | | | + | [      source](## "monitor_telemetry_postcard.ingress.collection.source") | String | | | | GRE source configuration | + | [      destination](## "monitor_telemetry_postcard.ingress.collection.destination") | String | | | | GRE destination configuration | + | [      version](## "monitor_telemetry_postcard.ingress.collection.version") | Integer | | | Valid Values:
- 1
- 2 | Postcard version | | [    sample](## "monitor_telemetry_postcard.ingress.sample") | Dictionary | | | | Configure sampling parameters | | [      rate](## "monitor_telemetry_postcard.ingress.sample.rate") | Integer | | | Valid Values:
- 16384
- 32768
- 65536 | Configure sampling rate | | [      tcp_udp_checksum](## "monitor_telemetry_postcard.ingress.sample.tcp_udp_checksum") | Integer | | | | Configure TCP/UDP checksum or IP ID checksum | - | [  profile](## "monitor_telemetry_postcard.profile") | Dictionary | | | | Configure the postcard telemetry profile | - | [    name](## "monitor_telemetry_postcard.profile.name") | String | | | | | - | [    ingress_sample_policy](## "monitor_telemetry_postcard.profile.ingress_sample_policy") | String | | | | Configure ingress parameters | - | [  sample_policy](## "monitor_telemetry_postcard.sample_policy") | Dictionary | | | | Configure sampling feature | - | [    name](## "monitor_telemetry_postcard.sample_policy.name") | String | | | | | - | [    match_rule](## "monitor_telemetry_postcard.sample_policy.match_rule") | Dictionary | | | | | - | [      rule_name](## "monitor_telemetry_postcard.sample_policy.match_rule.rule_name") | String | | | | | - | [      ipversion](## "monitor_telemetry_postcard.sample_policy.match_rule.ipversion") | String | | | Valid Values:
- ipv4
- ipv6 | | - | [      destination_prefix](## "monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix") | Dictionary | | | | | - | [        prefix_address](## "monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix_address") | String | | | | | - | [        prefix_mask](## "monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix_mask") | Integer | | | | | - | [      source_prefix](## "monitor_telemetry_postcard.sample_policy.match_rule.source_prefix") | Dictionary | | | | | - | [        prefix_address](## "monitor_telemetry_postcard.sample_policy.match_rule.source_prefix.prefix_address") | String | | | | | - | [        prefix_mask](## "monitor_telemetry_postcard.sample_policy.match_rule.source_prefix.prefix_mask") | Integer | | | | | - | [      protocol](## "monitor_telemetry_postcard.sample_policy.match_rule.protocol") | Dictionary | | | | | - | [        type_of_protocol](## "monitor_telemetry_postcard.sample_policy.match_rule.protocol.type_of_protocol") | String | | | Valid Values:
- tcp
- udp | | - | [        destination_port](## "monitor_telemetry_postcard.sample_policy.match_rule.protocol.destination_port") | List | | | | Enter the port number or range or multiple port numbers with comma seperated values.
Examples:
"65-78"
"55"
"4, 55, 66"
| + | [  profiles](## "monitor_telemetry_postcard.profiles") | List, items: Dictionary | | | | Configure the postcard telemetry profile | + | [    - name](## "monitor_telemetry_postcard.profiles.[].name") | String | Required, Unique | | | Profile name | + | [      ingress_sample_policy](## "monitor_telemetry_postcard.profiles.[].ingress_sample_policy") | String | | | | Configure ingress parameters | + | [  sample_policies](## "monitor_telemetry_postcard.sample_policies") | List, items: Dictionary | | | | Configure sample policies | + | [    - name](## "monitor_telemetry_postcard.sample_policies.[].name") | String | Required, Unique | | | Configure sample policy name | + | [      match_rules](## "monitor_telemetry_postcard.sample_policies.[].match_rules") | List, items: Dictionary | | | | Configure match rules | + | [        - rule_name](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].rule_name") | String | Required, Unique | | | Match rule name | + | [          type](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].type") | String | | | Valid Values:
- ipv4
- ipv6 | Select the IP version | + | [          destination_prefix](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].destination_prefix") | String | | | | IPv4 Network/Mask | + | [          source_prefix](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].source_prefix") | String | | | | IPv4 Network/Mask | + | [          protocol](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].protocol") | Dictionary | | | | | + | [            protocol_type](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].protocol.protocol_type") | String | | | Valid Values:
- tcp
- udp | Select TCP/UDP | + | [            destination_port](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].protocol.destination_port") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"]
| === "YAML" @@ -47,9 +44,16 @@ # Collector configuration collection: + + # GRE source configuration source: + + # GRE destination configuration destination: + # Postcard version + version: + # Configure sampling parameters sample: @@ -60,31 +64,41 @@ tcp_udp_checksum: # Configure the postcard telemetry profile - profile: - name: - - # Configure ingress parameters - ingress_sample_policy: - - # Configure sampling feature - sample_policy: - name: - match_rule: - rule_name: - ipversion: - destination_prefix: - prefix_address: - prefix_mask: - source_prefix: - prefix_address: - prefix_mask: - protocol: - type_of_protocol: - - # Enter the port number or range or multiple port numbers with comma seperated values. - # Examples: - # "65-78" - # "55" - # "4, 55, 66" - destination_port: + profiles: + + # Profile name + - name: + + # Configure ingress parameters + ingress_sample_policy: + + # Configure sample policies + sample_policies: + + # Configure sample policy name + - name: + + # Configure match rules + match_rules: + + # Match rule name + - rule_name: + + # Select the IP version + type: + + # IPv4 Network/Mask + destination_prefix: + + # IPv4 Network/Mask + source_prefix: + protocol: + + # Select TCP/UDP + protocol_type: + + # Enter the port name or range or port numbers in a list. + # Example: + # ["12","14-20", "www"] + destination_port: ``` diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index 9de03d6a8ff..84de17b19bd 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -11110,11 +11110,22 @@ "properties": { "source": { "type": "string", + "description": "GRE source configuration", "title": "Source" }, "destination": { "type": "string", + "description": "GRE destination configuration", "title": "Destination" + }, + "version": { + "type": "integer", + "description": "Postcard version", + "enum": [ + 1, + 2 + ], + "title": "Version" } }, "additionalProperties": false, @@ -11156,121 +11167,119 @@ }, "title": "Ingress" }, - "profile": { - "type": "object", + "profiles": { + "type": "array", "description": "Configure the postcard telemetry profile", - "properties": { - "name": { - "type": "string", - "title": "Name" + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Profile name", + "title": "Name" + }, + "ingress_sample_policy": { + "type": "string", + "description": "Configure ingress parameters", + "title": "Ingress Sample Policy" + } }, - "ingress_sample_policy": { - "type": "string", - "description": "Configure ingress parameters", - "title": "Ingress Sample Policy" - } - }, - "additionalProperties": false, - "patternProperties": { - "^_.+$": {} + "additionalProperties": false, + "patternProperties": { + "^_.+$": {} + }, + "required": [ + "name" + ] }, - "title": "Profile" + "title": "Profiles" }, - "sample_policy": { - "type": "object", - "description": "Configure sampling feature", - "properties": { - "name": { - "type": "string", - "title": "Name" - }, - "match_rule": { - "type": "object", - "properties": { - "rule_name": { - "type": "string", - "title": "Rule Name" - }, - "ipversion": { - "type": "string", - "enum": [ - "ipv4", - "ipv6" - ], - "title": "Ipversion" - }, - "destination_prefix": { - "type": "object", - "properties": { - "prefix_address": { - "type": "string", - "title": "Prefix Address" - }, - "prefix_mask": { - "type": "integer", - "title": "Prefix Mask" - } - }, - "additionalProperties": false, - "patternProperties": { - "^_.+$": {} - }, - "title": "Destination Prefix" - }, - "source_prefix": { + "sample_policies": { + "type": "array", + "description": "Configure sample policies", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Configure sample policy name", + "title": "Name" + }, + "match_rules": { + "type": "array", + "description": "Configure match rules", + "items": { "type": "object", "properties": { - "prefix_address": { + "rule_name": { "type": "string", - "title": "Prefix Address" + "description": "Match rule name", + "title": "Rule Name" }, - "prefix_mask": { - "type": "integer", - "title": "Prefix Mask" - } - }, - "additionalProperties": false, - "patternProperties": { - "^_.+$": {} - }, - "title": "Source Prefix" - }, - "protocol": { - "type": "object", - "properties": { - "type_of_protocol": { + "type": { "type": "string", + "description": "Select the IP version", "enum": [ - "tcp", - "udp" + "ipv4", + "ipv6" ], - "title": "Type Of Protocol" + "title": "Type" }, - "destination_port": { - "type": "array", - "description": "Enter the port number or range or multiple port numbers with comma seperated values.\nExamples:\n \"65-78\"\n \"55\"\n \"4, 55, 66\"\n", - "title": "Destination Port" + "destination_prefix": { + "type": "string", + "description": "IPv4 Network/Mask", + "title": "Destination Prefix" + }, + "source_prefix": { + "type": "string", + "description": "IPv4 Network/Mask", + "title": "Source Prefix" + }, + "protocol": { + "type": "object", + "properties": { + "protocol_type": { + "type": "string", + "description": "Select TCP/UDP", + "enum": [ + "tcp", + "udp" + ], + "title": "Protocol Type" + }, + "destination_port": { + "type": "array", + "description": "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]\n", + "title": "Destination Port" + } + }, + "additionalProperties": false, + "patternProperties": { + "^_.+$": {} + }, + "title": "Protocol" } }, "additionalProperties": false, "patternProperties": { "^_.+$": {} }, - "title": "Protocol" - } - }, - "additionalProperties": false, - "patternProperties": { - "^_.+$": {} - }, - "title": "Match Rule" - } - }, - "additionalProperties": false, - "patternProperties": { - "^_.+$": {} + "required": [ + "rule_name" + ] + }, + "title": "Match Rules" + } + }, + "additionalProperties": false, + "patternProperties": { + "^_.+$": {} + }, + "required": [ + "name" + ] }, - "title": "Sample Policy" + "title": "Sample Policies" } }, "additionalProperties": false, diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index e9e01d60058..b1ab2ff92bb 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -6547,8 +6547,16 @@ keys: keys: source: type: str + description: GRE source configuration destination: type: str + description: GRE destination configuration + version: + type: int + description: Postcard version + valid_values: + - 1 + - 2 sample: type: dict description: Configure sampling parameters @@ -6567,62 +6575,64 @@ keys: description: Configure TCP/UDP checksum or IP ID checksum convert_types: - str - profile: - type: dict + profiles: + type: list description: Configure the postcard telemetry profile - keys: - name: - type: str - ingress_sample_policy: - type: str - description: Configure ingress parameters - sample_policy: - type: dict - description: Configure sampling feature - keys: - name: - type: str - match_rule: - type: dict - keys: - rule_name: - type: str - ipversion: - type: str - valid_values: - - ipv4 - - ipv6 - destination_prefix: - type: dict - keys: - prefix_address: - type: str - prefix_mask: - type: int - convert_types: - - str - source_prefix: + primary_key: name + items: + type: dict + keys: + name: + type: str + description: Profile name + ingress_sample_policy: + type: str + description: Configure ingress parameters + sample_policies: + type: list + primary_key: name + description: Configure sample policies + items: + type: dict + keys: + name: + type: str + description: Configure sample policy name + match_rules: + type: list + primary_key: rule_name + description: Configure match rules + items: type: dict keys: - prefix_address: + rule_name: type: str - prefix_mask: - type: int - convert_types: - - str - protocol: - type: dict - keys: - type_of_protocol: + description: Match rule name + type: type: str + description: Select the IP version valid_values: - - tcp - - udp - destination_port: - type: list - description: "Enter the port number or range or multiple port - numbers with comma seperated values.\nExamples:\n \"65-78\"\n - \ \"55\"\n \"4, 55, 66\"\n" + - ipv4 + - ipv6 + destination_prefix: + type: str + description: IPv4 Network/Mask + source_prefix: + type: str + description: IPv4 Network/Mask + protocol: + type: dict + keys: + protocol_type: + type: str + description: Select TCP/UDP + valid_values: + - tcp + - udp + destination_port: + type: list + description: "Enter the port name or range or port numbers + in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]\n" mpls: type: dict keys: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml index b476d07fc19..8603e516146 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml @@ -1,4 +1,4 @@ -# Copyright (c) 2024 Arista Networks, Inc. +# 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. # yaml-language-server: $schema=../../../../plugins/plugin_utils/schema/avd_meta_schema.json @@ -22,8 +22,14 @@ keys: keys: source: type: str + description: GRE source configuration destination: type: str + description: GRE destination configuration + version: + type: int + description: Postcard version + valid_values: [ 1, 2 ] sample: type: dict description: Configure sampling parameters @@ -39,58 +45,59 @@ keys: description: Configure TCP/UDP checksum or IP ID checksum convert_types: - str - profile: - type: dict + profiles: + type: list description: Configure the postcard telemetry profile - keys: - name: - type: str - ingress_sample_policy: - type: str - description: Configure ingress parameters - sample_policy: - type: dict - description: Configure sampling feature - keys: - name: - type: str - match_rule: - type: dict - keys: - rule_name: - type: str - ipversion: - type: str - valid_values: [ ipv4, ipv6 ] - destination_prefix: + primary_key: name + items: + type: dict + keys: + name: + type: str + description: Profile name + ingress_sample_policy: + type: str + description: Configure ingress parameters + sample_policies: + type: list + primary_key: name + description: Configure sample policies + items: + type: dict + keys: + name: + type: str + description: Configure sample policy name + match_rules: + type: list + primary_key: rule_name + description: Configure match rules + items: type: dict keys: - prefix_address: + rule_name: type: str - prefix_mask: - type: int - convert_types: - - str - source_prefix: - type: dict - keys: - prefix_address: + description: Match rule name + type: type: str - prefix_mask: - type: int - convert_types: - - str - protocol: - type: dict - keys: - type_of_protocol: + description: Select the IP version + valid_values: [ ipv4, ipv6 ] + destination_prefix: + type: str + description: IPv4 Network/Mask + source_prefix: type: str - valid_values: [ tcp, udp ] - destination_port: - type: list - description: | - Enter the port number or range or multiple port numbers with comma seperated values. - Examples: - "65-78" - "55" - "4, 55, 66" + description: IPv4 Network/Mask + protocol: + type: dict + keys: + protocol_type: + type: str + description: Select TCP/UDP + valid_values: [ tcp, udp ] + destination_port: + type: list + description: | + Enter the port name or range or port numbers in a list. + Example: + ["12","14-20", "www"] diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 index f9762f0d747..7dc149a45e3 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 @@ -11,8 +11,14 @@ monitor telemetry postcard policy no disabled {% endif %} {% if monitor_telemetry_postcard.ingress is arista.avd.defined %} -{% if monitor_telemetry_postcard.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard.ingress.collection.destination is arista.avd.defined %} - ingress collection gre source {{ monitor_telemetry_postcard.ingress.collection.source }} {{ monitor_telemetry_postcard.ingress.collection.destination }} +{% if monitor_telemetry_postcard.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard.ingress.collection.destination is arista.avd.defined and monitor_telemetry_postcard.ingress.collection.version is arista.avd.defined(2) %} + ingress collection gre source {{ monitor_telemetry_postcard.ingress.collection.source }} destination {{ monitor_telemetry_postcard.ingress.collection.destination }} version 2 +{% elif monitor_telemetry_postcard.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard.ingress.collection.destination is arista.avd.defined %} +{% if monitor_telemetry_postcard.ingress.collection.version is arista.avd.defined(1) %} + ingress collection gre source {{ monitor_telemetry_postcard.ingress.collection.source }} destination {{ monitor_telemetry_postcard.ingress.collection.destination }} +{% else %} + ingress collection gre source {{ monitor_telemetry_postcard.ingress.collection.source }} destination {{ monitor_telemetry_postcard.ingress.collection.destination }} +{% endif %} {% endif %} {% endif %} {% if monitor_telemetry_postcard.ingress.sample.rate is arista.avd.defined %} @@ -21,37 +27,43 @@ monitor telemetry postcard policy {% if monitor_telemetry_postcard.ingress.sample.tcp_udp_checksum is arista.avd.defined %} ingress sample tcp-udp-checksum {{ monitor_telemetry_postcard.ingress.sample.tcp_udp_checksum }} {% endif %} -{% if monitor_telemetry_postcard.profile.name is arista.avd.defined %} - profile {{ monitor_telemetry_postcard.profile.name }} -{% if monitor_telemetry_postcard.profile.ingress_sample_policy is arista.avd.defined %} - ingress sample policy {{ monitor_telemetry_postcard.profile.ingress_sample_policy }} -{% endif %} -{% endif %} -{% if monitor_telemetry_postcard.sample_policy is arista.avd.defined %} -{% if monitor_telemetry_postcard.sample_policy.name is arista.avd.defined %} - sample policy {{ monitor_telemetry_postcard.sample_policy.name }} -{% endif %} +{% if monitor_telemetry_postcard.profiles is arista.avd.defined %} +{% for profile in monitor_telemetry_postcard.profiles %} + profile {{ profile.name }} +{% if profile.ingress_sample_policy is arista.avd.defined %} + ingress sample policy {{ profile.ingress_sample_policy }} +{% endif %} +{% endfor %} {% endif %} -{% if monitor_telemetry_postcard.sample_policy.match_rule is arista.avd.defined %} -{% if monitor_telemetry_postcard.sample_policy.match_rule.ipversion is arista.avd.defined and monitor_telemetry_postcard.sample_policy.match_rule.rule_name is arista.avd.defined %} - match rule {{ monitor_telemetry_postcard.sample_policy.match_rule.rule_name }} {{ monitor_telemetry_postcard.sample_policy.match_rule.ipversion }} -{% endif %} -{% if monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix_address is arista.avd.defined and monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix_mask is arista.avd.defined %} - destination prefix {{ monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix_address }}/{{ monitor_telemetry_postcard.sample_policy.match_rule.destination_prefix.prefix_mask }} -{% endif %} -{% if monitor_telemetry_postcard.sample_policy.match_rule.source_prefix is arista.avd.defined %} - source prefix {{ monitor_telemetry_postcard.sample_policy.match_rule.source_prefix.prefix_address }}/{{ monitor_telemetry_postcard.sample_policy.match_rule.source_prefix.prefix_mask }} -{% endif %} -{% if monitor_telemetry_postcard.sample_policy.match_rule.protocol is arista.avd.defined %} -{% if monitor_telemetry_postcard.sample_policy.match_rule.protocol.type_of_protocol is arista.avd.defined and monitor_telemetry_postcard.sample_policy.match_rule.protocol.destination_port is arista.avd.defined %} -{% for protocol in monitor_telemetry_postcard.sample_policy.match_rule.protocol.destination_port | sort(reverse = True) %} - protocol {{ monitor_telemetry_postcard.sample_policy.match_rule.protocol.type_of_protocol }} destination port {{ protocol }} -{% endfor %} +{% if monitor_telemetry_postcard.sample_policies is arista.avd.defined %} +{% for policy in monitor_telemetry_postcard.sample_policies %} +{% if policy.name is arista.avd.defined %} + sample policy {{ policy.name }} {% endif %} -{% endif %} -{% else %} +{% if policy.match_rules is arista.avd.defined %} +{% for rule in policy.match_rules %} +{% if rule.type is arista.avd.defined and rule.rule_name is arista.avd.defined %} + match rule {{ rule.rule_name }} {{ rule.type }} +{% endif %} +{% if rule.destination_prefix is arista.avd.defined %} + destination prefix {{ rule.destination_prefix }} +{% endif %} +{% if rule.source_prefix is arista.avd.defined %} + source prefix {{ rule.source_prefix }} +{% endif %} +{% if rule.protocol is arista.avd.defined %} +{% if rule.protocol.protocol_type is arista.avd.defined and rule.protocol.destination_port is arista.avd.defined %} +{% for protocol in rule.protocol.destination_port | sort(reverse = True) %} + protocol {{ rule.protocol.protocol_type }} destination port {{ protocol }} +{% endfor %} +{% endif %} +{% endif %} +{% endfor %} +{% else %} match ipv4-all-default ipv4 ! match ipv6-all-default ipv6 +{% endif %} +{% endfor %} {% endif %} {% endif %} From 6d5334fac13063f7244f0e0daa3f25ba55fbb280 Mon Sep 17 00:00:00 2001 From: Shivani-gslab Date: Thu, 22 Feb 2024 16:06:02 +0530 Subject: [PATCH 08/44] Fixing pre-commit --- .../host_vars/monitor-telemetry-postcard.yml | 102 ++++----- .../monitor_telemetry_postcard.schema.yml | 206 +++++++++--------- 2 files changed, 154 insertions(+), 154 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml index e8665dfedc2..6f174d0d32e 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml @@ -1,51 +1,51 @@ -monitor_telemetry_postcard: - disabled: false - ingress: - collection: - source: 10.3.3.3 - destination: 10.3.3.4 - version: 2 - sample: - rate: 16384 - tcp_udp_checksum: 2343223 - profiles: - - name: abc - ingress_sample_policy: ingresspo1 - - name: def - ingress_sample_policy: ingresspo1 - sample_policies: - - name: samplepo1 - match_rules: - - rule_name: rule1 - type: ipv4 - destination_prefix: 10.3.3.0/24 - source_prefix: 3.4.5.0/24 - protocol: - protocol_type: tcp - destination_port: - - '77' - - 78-80 - - www - - rule_name: rule2 - type: ipv4 - destination_prefix: 10.3.4.0/24 - source_prefix: 3.4.4.0/24 - protocol: - protocol_type: tcp - destination_port: - - '747' - - 748-800 - - ssh - - name: samplepo2 - match_rules: - - rule_name: rule1 - type: ipv4 - destination_prefix: 10.3.3.0/24 - source_prefix: 3.4.5.0/24 - protocol: - protocol_type: tcp - destination_port: - - '77' - - 78-80 - - www - - name: samplepo3 +monitor_telemetry_postcard: + disabled: false + ingress: + collection: + source: 10.3.3.3 + destination: 10.3.3.4 + version: 2 + sample: + rate: 16384 + tcp_udp_checksum: 2343223 + profiles: + - name: abc + ingress_sample_policy: ingresspo1 + - name: def + ingress_sample_policy: ingresspo1 + sample_policies: + - name: samplepo1 + match_rules: + - rule_name: rule1 + type: ipv4 + destination_prefix: 10.3.3.0/24 + source_prefix: 3.4.5.0/24 + protocol: + protocol_type: tcp + destination_port: + - '77' + - 78-80 + - www + - rule_name: rule2 + type: ipv4 + destination_prefix: 10.3.4.0/24 + source_prefix: 3.4.4.0/24 + protocol: + protocol_type: tcp + destination_port: + - '747' + - 748-800 + - ssh + - name: samplepo2 + match_rules: + - rule_name: rule1 + type: ipv4 + destination_prefix: 10.3.3.0/24 + source_prefix: 3.4.5.0/24 + protocol: + protocol_type: tcp + destination_port: + - '77' + - 78-80 + - www + - name: samplepo3 diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml index 8603e516146..66d8f9d76c5 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml @@ -1,103 +1,103 @@ -# 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. -# yaml-language-server: $schema=../../../../plugins/plugin_utils/schema/avd_meta_schema.json -# Line above is used by RedHat's YAML Schema vscode extension -# Use Ctrl + Space to get suggestions for every field. Autocomplete will pop up after typing 2 letters. -type: dict -keys: - monitor_telemetry_postcard: - type: dict - keys: - disabled: - type: bool - description: Enable or disable the postcard telemetry feature - ingress: - type: dict - description: Configure ingress parameters - keys: - collection: - type: dict - description: Collector configuration - keys: - source: - type: str - description: GRE source configuration - destination: - type: str - description: GRE destination configuration - version: - type: int - description: Postcard version - valid_values: [ 1, 2 ] - sample: - type: dict - description: Configure sampling parameters - keys: - rate: - type: int - description: Configure sampling rate - convert_types: - - str - valid_values: [ 16384, 32768, 65536 ] - tcp_udp_checksum: - type: int - description: Configure TCP/UDP checksum or IP ID checksum - convert_types: - - str - profiles: - type: list - description: Configure the postcard telemetry profile - primary_key: name - items: - type: dict - keys: - name: - type: str - description: Profile name - ingress_sample_policy: - type: str - description: Configure ingress parameters - sample_policies: - type: list - primary_key: name - description: Configure sample policies - items: - type: dict - keys: - name: - type: str - description: Configure sample policy name - match_rules: - type: list - primary_key: rule_name - description: Configure match rules - items: - type: dict - keys: - rule_name: - type: str - description: Match rule name - type: - type: str - description: Select the IP version - valid_values: [ ipv4, ipv6 ] - destination_prefix: - type: str - description: IPv4 Network/Mask - source_prefix: - type: str - description: IPv4 Network/Mask - protocol: - type: dict - keys: - protocol_type: - type: str - description: Select TCP/UDP - valid_values: [ tcp, udp ] - destination_port: - type: list - description: | - Enter the port name or range or port numbers in a list. - Example: - ["12","14-20", "www"] +# 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. +# yaml-language-server: $schema=../../../../plugins/plugin_utils/schema/avd_meta_schema.json +# Line above is used by RedHat's YAML Schema vscode extension +# Use Ctrl + Space to get suggestions for every field. Autocomplete will pop up after typing 2 letters. +type: dict +keys: + monitor_telemetry_postcard: + type: dict + keys: + disabled: + type: bool + description: Enable or disable the postcard telemetry feature + ingress: + type: dict + description: Configure ingress parameters + keys: + collection: + type: dict + description: Collector configuration + keys: + source: + type: str + description: GRE source configuration + destination: + type: str + description: GRE destination configuration + version: + type: int + description: Postcard version + valid_values: [ 1, 2 ] + sample: + type: dict + description: Configure sampling parameters + keys: + rate: + type: int + description: Configure sampling rate + convert_types: + - str + valid_values: [ 16384, 32768, 65536 ] + tcp_udp_checksum: + type: int + description: Configure TCP/UDP checksum or IP ID checksum + convert_types: + - str + profiles: + type: list + description: Configure the postcard telemetry profile + primary_key: name + items: + type: dict + keys: + name: + type: str + description: Profile name + ingress_sample_policy: + type: str + description: Configure ingress parameters + sample_policies: + type: list + primary_key: name + description: Configure sample policies + items: + type: dict + keys: + name: + type: str + description: Configure sample policy name + match_rules: + type: list + primary_key: rule_name + description: Configure match rules + items: + type: dict + keys: + rule_name: + type: str + description: Match rule name + type: + type: str + description: Select the IP version + valid_values: [ ipv4, ipv6 ] + destination_prefix: + type: str + description: IPv4 Network/Mask + source_prefix: + type: str + description: IPv4 Network/Mask + protocol: + type: dict + keys: + protocol_type: + type: str + description: Select TCP/UDP + valid_values: [ tcp, udp ] + destination_port: + type: list + description: | + Enter the port name or range or port numbers in a list. + Example: + ["12","14-20", "www"] From d8c35ec8579247d8b6d1d57bd336f63b1ad98901 Mon Sep 17 00:00:00 2001 From: laxmikant Date: Thu, 22 Feb 2024 17:45:43 +0530 Subject: [PATCH 09/44] Modified test data and few descriptions in schema --- .../configs/monitor-telemetry-postcard.cfg | 18 +++++++++--------- .../host_vars/monitor-telemetry-postcard.yml | 10 +++++----- .../docs/tables/monitor-telemetry-postcard.md | 8 ++++---- .../schemas/eos_cli_config_gen.jsonschema.json | 4 ++-- .../schemas/eos_cli_config_gen.schema.yml | 4 ++-- .../monitor_telemetry_postcard.schema.yml | 4 ++-- 6 files changed, 24 insertions(+), 24 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg index b54bd17b4df..a81642981a3 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg @@ -17,9 +17,9 @@ monitor telemetry postcard policy ingress collection gre source 10.3.3.3 destination 10.3.3.4 version 2 ingress sample rate 16384 ingress sample tcp-udp-checksum 2343223 - profile abc + profile profile1 ingress sample policy ingresspo1 - profile def + profile profile2 ingress sample policy ingresspo1 sample policy samplepo1 match rule rule1 ipv4 @@ -28,19 +28,19 @@ monitor telemetry postcard policy protocol tcp destination port www protocol tcp destination port 78-80 protocol tcp destination port 77 - match rule rule2 ipv4 + match rule rule2 ipv6 destination prefix 10.3.4.0/24 source prefix 3.4.4.0/24 - protocol tcp destination port ssh - protocol tcp destination port 748-800 - protocol tcp destination port 747 + protocol udp destination port ssh + protocol udp destination port 748-800 + protocol udp destination port 747 sample policy samplepo2 match rule rule1 ipv4 destination prefix 10.3.3.0/24 source prefix 3.4.5.0/24 - protocol tcp destination port www - protocol tcp destination port 78-80 - protocol tcp destination port 77 + protocol udp destination port www + protocol udp destination port 78-80 + protocol udp destination port 77 sample policy samplepo3 match ipv4-all-default ipv4 ! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml index 6f174d0d32e..21137d877ae 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml @@ -9,9 +9,9 @@ monitor_telemetry_postcard: rate: 16384 tcp_udp_checksum: 2343223 profiles: - - name: abc + - name: profile1 ingress_sample_policy: ingresspo1 - - name: def + - name: profile2 ingress_sample_policy: ingresspo1 sample_policies: - name: samplepo1 @@ -27,11 +27,11 @@ monitor_telemetry_postcard: - 78-80 - www - rule_name: rule2 - type: ipv4 + type: ipv6 destination_prefix: 10.3.4.0/24 source_prefix: 3.4.4.0/24 protocol: - protocol_type: tcp + protocol_type: udp destination_port: - '747' - 748-800 @@ -43,7 +43,7 @@ monitor_telemetry_postcard: destination_prefix: 10.3.3.0/24 source_prefix: 3.4.5.0/24 protocol: - protocol_type: tcp + protocol_type: udp destination_port: - '77' - 78-80 diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md index 33b4c75279a..cf5819f757b 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md @@ -25,8 +25,8 @@ | [      match_rules](## "monitor_telemetry_postcard.sample_policies.[].match_rules") | List, items: Dictionary | | | | Configure match rules | | [        - rule_name](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].rule_name") | String | Required, Unique | | | Match rule name | | [          type](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].type") | String | | | Valid Values:
- ipv4
- ipv6 | Select the IP version | - | [          destination_prefix](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].destination_prefix") | String | | | | IPv4 Network/Mask | - | [          source_prefix](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].source_prefix") | String | | | | IPv4 Network/Mask | + | [          destination_prefix](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].destination_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask | + | [          source_prefix](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].source_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask | | [          protocol](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].protocol") | Dictionary | | | | | | [            protocol_type](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].protocol.protocol_type") | String | | | Valid Values:
- tcp
- udp | Select TCP/UDP | | [            destination_port](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].protocol.destination_port") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"]
| @@ -87,10 +87,10 @@ # Select the IP version type: - # IPv4 Network/Mask + # IPv4 Network/Mask or IPv6 Network/Mask destination_prefix: - # IPv4 Network/Mask + # IPv4 Network/Mask or IPv6 Network/Mask source_prefix: protocol: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index 84de17b19bd..6234e8560e6 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -11227,12 +11227,12 @@ }, "destination_prefix": { "type": "string", - "description": "IPv4 Network/Mask", + "description": "IPv4 Network/Mask or IPv6 Network/Mask", "title": "Destination Prefix" }, "source_prefix": { "type": "string", - "description": "IPv4 Network/Mask", + "description": "IPv4 Network/Mask or IPv6 Network/Mask", "title": "Source Prefix" }, "protocol": { diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index b1ab2ff92bb..0375bd39cc7 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -6616,10 +6616,10 @@ keys: - ipv6 destination_prefix: type: str - description: IPv4 Network/Mask + description: IPv4 Network/Mask or IPv6 Network/Mask source_prefix: type: str - description: IPv4 Network/Mask + description: IPv4 Network/Mask or IPv6 Network/Mask protocol: type: dict keys: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml index 66d8f9d76c5..2725beb67be 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml @@ -84,10 +84,10 @@ keys: valid_values: [ ipv4, ipv6 ] destination_prefix: type: str - description: IPv4 Network/Mask + description: IPv4 Network/Mask or IPv6 Network/Mask source_prefix: type: str - description: IPv4 Network/Mask + description: IPv4 Network/Mask or IPv6 Network/Mask protocol: type: dict keys: From def7f99c5d8a014ef24c4690cd89d5918fac7abe Mon Sep 17 00:00:00 2001 From: laxmikant Date: Wed, 28 Feb 2024 18:08:31 +0530 Subject: [PATCH 10/44] Added punctuations to descriptions --- .../configs/monitor-telemetry-postcard.cfg | 6 +- .../host_vars/monitor-telemetry-postcard.yml | 33 +++---- .../docs/tables/monitor-telemetry-postcard.md | 92 +++++++++---------- .../eos_cli_config_gen.jsonschema.json | 73 +++++++-------- .../schemas/eos_cli_config_gen.schema.yml | 59 ++++++------ .../monitor_telemetry_postcard.schema.yml | 61 ++++++------ .../eos/monitor-telemetry-postcard.j2 | 15 +-- 7 files changed, 166 insertions(+), 173 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg index a81642981a3..8f933c40bd5 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg @@ -38,9 +38,9 @@ monitor telemetry postcard policy match rule rule1 ipv4 destination prefix 10.3.3.0/24 source prefix 3.4.5.0/24 - protocol udp destination port www - protocol udp destination port 78-80 - protocol udp destination port 77 + protocol udp source port www + protocol udp source port 78-80 + protocol udp source port 77 sample policy samplepo3 match ipv4-all-default ipv4 ! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml index 21137d877ae..4bf5f187ef6 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml @@ -20,32 +20,29 @@ monitor_telemetry_postcard: type: ipv4 destination_prefix: 10.3.3.0/24 source_prefix: 3.4.5.0/24 - protocol: - protocol_type: tcp - destination_port: - - '77' - - 78-80 - - www + protocol_type: tcp + destination_port: + - '77' + - 78-80 + - www - rule_name: rule2 type: ipv6 destination_prefix: 10.3.4.0/24 source_prefix: 3.4.4.0/24 - protocol: - protocol_type: udp - destination_port: - - '747' - - 748-800 - - ssh + protocol_type: udp + destination_port: + - '747' + - 748-800 + - ssh - name: samplepo2 match_rules: - rule_name: rule1 type: ipv4 destination_prefix: 10.3.3.0/24 source_prefix: 3.4.5.0/24 - protocol: - protocol_type: udp - destination_port: - - '77' - - 78-80 - - www + protocol_type: udp + source_port: + - '77' + - 78-80 + - www - name: samplepo3 diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md index cf5819f757b..0b1b8b44abb 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md @@ -8,97 +8,97 @@ | Variable | Type | Required | Default | Value Restrictions | Description | | -------- | ---- | -------- | ------- | ------------------ | ----------- | | [monitor_telemetry_postcard](## "monitor_telemetry_postcard") | Dictionary | | | | | - | [  disabled](## "monitor_telemetry_postcard.disabled") | Boolean | | | | Enable or disable the postcard telemetry feature | - | [  ingress](## "monitor_telemetry_postcard.ingress") | Dictionary | | | | Configure ingress parameters | - | [    collection](## "monitor_telemetry_postcard.ingress.collection") | Dictionary | | | | Collector configuration | - | [      source](## "monitor_telemetry_postcard.ingress.collection.source") | String | | | | GRE source configuration | - | [      destination](## "monitor_telemetry_postcard.ingress.collection.destination") | String | | | | GRE destination configuration | + | [  disabled](## "monitor_telemetry_postcard.disabled") | Boolean | | | | Enable or disable the postcard telemetry feature. | + | [  ingress](## "monitor_telemetry_postcard.ingress") | Dictionary | | | | | + | [    collection](## "monitor_telemetry_postcard.ingress.collection") | Dictionary | | | | Collector configuration. | + | [      source](## "monitor_telemetry_postcard.ingress.collection.source") | String | | | | Configure source IP address of GRE tunnel. | + | [      destination](## "monitor_telemetry_postcard.ingress.collection.destination") | String | | | | Configure destination IP address of GRE tunnel. | | [      version](## "monitor_telemetry_postcard.ingress.collection.version") | Integer | | | Valid Values:
- 1
- 2 | Postcard version | - | [    sample](## "monitor_telemetry_postcard.ingress.sample") | Dictionary | | | | Configure sampling parameters | - | [      rate](## "monitor_telemetry_postcard.ingress.sample.rate") | Integer | | | Valid Values:
- 16384
- 32768
- 65536 | Configure sampling rate | - | [      tcp_udp_checksum](## "monitor_telemetry_postcard.ingress.sample.tcp_udp_checksum") | Integer | | | | Configure TCP/UDP checksum or IP ID checksum | - | [  profiles](## "monitor_telemetry_postcard.profiles") | List, items: Dictionary | | | | Configure the postcard telemetry profile | + | [    sample](## "monitor_telemetry_postcard.ingress.sample") | Dictionary | | | | Configure sampling parameters. | + | [      rate](## "monitor_telemetry_postcard.ingress.sample.rate") | Integer | | | Valid Values:
- 16384
- 32768
- 65536 | Configure sampling rate. | + | [      tcp_udp_checksum](## "monitor_telemetry_postcard.ingress.sample.tcp_udp_checksum") | Integer | | | | Configure TCP/UDP checksum or IP ID checksum. | + | [  profiles](## "monitor_telemetry_postcard.profiles") | List, items: Dictionary | | | | Configure the postcard telemetry profile. | | [    - name](## "monitor_telemetry_postcard.profiles.[].name") | String | Required, Unique | | | Profile name | - | [      ingress_sample_policy](## "monitor_telemetry_postcard.profiles.[].ingress_sample_policy") | String | | | | Configure ingress parameters | - | [  sample_policies](## "monitor_telemetry_postcard.sample_policies") | List, items: Dictionary | | | | Configure sample policies | - | [    - name](## "monitor_telemetry_postcard.sample_policies.[].name") | String | Required, Unique | | | Configure sample policy name | - | [      match_rules](## "monitor_telemetry_postcard.sample_policies.[].match_rules") | List, items: Dictionary | | | | Configure match rules | - | [        - rule_name](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].rule_name") | String | Required, Unique | | | Match rule name | - | [          type](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].type") | String | | | Valid Values:
- ipv4
- ipv6 | Select the IP version | - | [          destination_prefix](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].destination_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask | - | [          source_prefix](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].source_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask | - | [          protocol](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].protocol") | Dictionary | | | | | - | [            protocol_type](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].protocol.protocol_type") | String | | | Valid Values:
- tcp
- udp | Select TCP/UDP | - | [            destination_port](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].protocol.destination_port") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"]
| + | [      ingress_sample_policy](## "monitor_telemetry_postcard.profiles.[].ingress_sample_policy") | String | | | | Configure ingress sample policy for the profile. | + | [  sample_policies](## "monitor_telemetry_postcard.sample_policies") | List, items: Dictionary | | | | Configure sample policies. | + | [    - name](## "monitor_telemetry_postcard.sample_policies.[].name") | String | Required, Unique | | | Configure sample policy name. | + | [      match_rules](## "monitor_telemetry_postcard.sample_policies.[].match_rules") | List, items: Dictionary | | | | Configure rules for sample policy. | + | [        - rule_name](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].rule_name") | String | Required, Unique | | | | + | [          type](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].type") | String | | | Valid Values:
- ipv4
- ipv6 | Select the IP address version. | + | [          destination_prefix](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].destination_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. | + | [          source_prefix](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].source_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. | + | [          protocol_type](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].protocol_type") | String | | | Valid Values:
- tcp
- udp | Select TCP/UDP. | + | [          destination_port](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].destination_port") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"] | + | [          source_port](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].source_port") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"] | === "YAML" ```yaml monitor_telemetry_postcard: - # Enable or disable the postcard telemetry feature + # Enable or disable the postcard telemetry feature. disabled: - - # Configure ingress parameters ingress: - # Collector configuration + # Collector configuration. collection: - # GRE source configuration + # Configure source IP address of GRE tunnel. source: - # GRE destination configuration + # Configure destination IP address of GRE tunnel. destination: # Postcard version version: - # Configure sampling parameters + # Configure sampling parameters. sample: - # Configure sampling rate + # Configure sampling rate. rate: - # Configure TCP/UDP checksum or IP ID checksum + # Configure TCP/UDP checksum or IP ID checksum. tcp_udp_checksum: - # Configure the postcard telemetry profile + # Configure the postcard telemetry profile. profiles: # Profile name - name: - # Configure ingress parameters + # Configure ingress sample policy for the profile. ingress_sample_policy: - # Configure sample policies + # Configure sample policies. sample_policies: - # Configure sample policy name + # Configure sample policy name. - name: - # Configure match rules + # Configure rules for sample policy. match_rules: - - # Match rule name - rule_name: - # Select the IP version + # Select the IP address version. type: - # IPv4 Network/Mask or IPv6 Network/Mask + # IPv4 Network/Mask or IPv6 Network/Mask. destination_prefix: - # IPv4 Network/Mask or IPv6 Network/Mask + # IPv4 Network/Mask or IPv6 Network/Mask. source_prefix: - protocol: - # Select TCP/UDP - protocol_type: + # Select TCP/UDP. + protocol_type: + + # Enter the port name or range or port numbers in a list. + # Example: + # ["12","14-20", "www"] + destination_port: - # Enter the port name or range or port numbers in a list. - # Example: - # ["12","14-20", "www"] - destination_port: + # Enter the port name or range or port numbers in a list. + # Example: + # ["12","14-20", "www"] + source_port: ``` diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index 6234e8560e6..9ee5675d58d 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -11097,25 +11097,24 @@ "properties": { "disabled": { "type": "boolean", - "description": "Enable or disable the postcard telemetry feature", + "description": "Enable or disable the postcard telemetry feature.", "title": "Disabled" }, "ingress": { "type": "object", - "description": "Configure ingress parameters", "properties": { "collection": { "type": "object", - "description": "Collector configuration", + "description": "Collector configuration.", "properties": { "source": { "type": "string", - "description": "GRE source configuration", + "description": "Configure source IP address of GRE tunnel.", "title": "Source" }, "destination": { "type": "string", - "description": "GRE destination configuration", + "description": "Configure destination IP address of GRE tunnel.", "title": "Destination" }, "version": { @@ -11136,11 +11135,11 @@ }, "sample": { "type": "object", - "description": "Configure sampling parameters", + "description": "Configure sampling parameters.", "properties": { "rate": { "type": "integer", - "description": "Configure sampling rate", + "description": "Configure sampling rate.", "enum": [ 16384, 32768, @@ -11150,7 +11149,7 @@ }, "tcp_udp_checksum": { "type": "integer", - "description": "Configure TCP/UDP checksum or IP ID checksum", + "description": "Configure TCP/UDP checksum or IP ID checksum.", "title": "TCP UDP Checksum" } }, @@ -11169,7 +11168,7 @@ }, "profiles": { "type": "array", - "description": "Configure the postcard telemetry profile", + "description": "Configure the postcard telemetry profile.", "items": { "type": "object", "properties": { @@ -11180,7 +11179,7 @@ }, "ingress_sample_policy": { "type": "string", - "description": "Configure ingress parameters", + "description": "Configure ingress sample policy for the profile.", "title": "Ingress Sample Policy" } }, @@ -11196,29 +11195,28 @@ }, "sample_policies": { "type": "array", - "description": "Configure sample policies", + "description": "Configure sample policies.", "items": { "type": "object", "properties": { "name": { "type": "string", - "description": "Configure sample policy name", + "description": "Configure sample policy name.", "title": "Name" }, "match_rules": { "type": "array", - "description": "Configure match rules", + "description": "Configure rules for sample policy.", "items": { "type": "object", "properties": { "rule_name": { "type": "string", - "description": "Match rule name", "title": "Rule Name" }, "type": { "type": "string", - "description": "Select the IP version", + "description": "Select the IP address version.", "enum": [ "ipv4", "ipv6" @@ -11227,37 +11225,32 @@ }, "destination_prefix": { "type": "string", - "description": "IPv4 Network/Mask or IPv6 Network/Mask", + "description": "IPv4 Network/Mask or IPv6 Network/Mask.", "title": "Destination Prefix" }, "source_prefix": { "type": "string", - "description": "IPv4 Network/Mask or IPv6 Network/Mask", + "description": "IPv4 Network/Mask or IPv6 Network/Mask.", "title": "Source Prefix" }, - "protocol": { - "type": "object", - "properties": { - "protocol_type": { - "type": "string", - "description": "Select TCP/UDP", - "enum": [ - "tcp", - "udp" - ], - "title": "Protocol Type" - }, - "destination_port": { - "type": "array", - "description": "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]\n", - "title": "Destination Port" - } - }, - "additionalProperties": false, - "patternProperties": { - "^_.+$": {} - }, - "title": "Protocol" + "protocol_type": { + "type": "string", + "description": "Select TCP/UDP.", + "enum": [ + "tcp", + "udp" + ], + "title": "Protocol Type" + }, + "destination_port": { + "type": "array", + "description": "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]", + "title": "Destination Port" + }, + "source_port": { + "type": "array", + "description": "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]", + "title": "Source Port" } }, "additionalProperties": false, diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index 0375bd39cc7..0cc03c59f5f 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -6536,21 +6536,20 @@ keys: keys: disabled: type: bool - description: Enable or disable the postcard telemetry feature + description: Enable or disable the postcard telemetry feature. ingress: type: dict - description: Configure ingress parameters keys: collection: type: dict - description: Collector configuration + description: Collector configuration. keys: source: type: str - description: GRE source configuration + description: Configure source IP address of GRE tunnel. destination: type: str - description: GRE destination configuration + description: Configure destination IP address of GRE tunnel. version: type: int description: Postcard version @@ -6559,11 +6558,11 @@ keys: - 2 sample: type: dict - description: Configure sampling parameters + description: Configure sampling parameters. keys: rate: type: int - description: Configure sampling rate + description: Configure sampling rate. convert_types: - str valid_values: @@ -6572,12 +6571,12 @@ keys: - 65536 tcp_udp_checksum: type: int - description: Configure TCP/UDP checksum or IP ID checksum + description: Configure TCP/UDP checksum or IP ID checksum. convert_types: - str profiles: type: list - description: Configure the postcard telemetry profile + description: Configure the postcard telemetry profile. primary_key: name items: type: dict @@ -6587,52 +6586,52 @@ keys: description: Profile name ingress_sample_policy: type: str - description: Configure ingress parameters + description: Configure ingress sample policy for the profile. sample_policies: type: list primary_key: name - description: Configure sample policies + description: Configure sample policies. items: type: dict keys: name: type: str - description: Configure sample policy name + description: Configure sample policy name. match_rules: type: list primary_key: rule_name - description: Configure match rules + description: Configure rules for sample policy. items: type: dict keys: rule_name: type: str - description: Match rule name type: type: str - description: Select the IP version + description: Select the IP address version. valid_values: - ipv4 - ipv6 destination_prefix: type: str - description: IPv4 Network/Mask or IPv6 Network/Mask + description: IPv4 Network/Mask or IPv6 Network/Mask. source_prefix: type: str - description: IPv4 Network/Mask or IPv6 Network/Mask - protocol: - type: dict - keys: - protocol_type: - type: str - description: Select TCP/UDP - valid_values: - - tcp - - udp - destination_port: - type: list - description: "Enter the port name or range or port numbers - in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]\n" + description: IPv4 Network/Mask or IPv6 Network/Mask. + protocol_type: + type: str + description: Select TCP/UDP. + valid_values: + - tcp + - udp + destination_port: + type: list + description: "Enter the port name or range or port numbers in + a list.\nExample:\n [\"12\",\"14-20\", \"www\"]" + source_port: + type: list + description: "Enter the port name or range or port numbers in + a list.\nExample:\n [\"12\",\"14-20\", \"www\"]" mpls: type: dict keys: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml index 2725beb67be..878ca15d00c 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml @@ -11,43 +11,42 @@ keys: keys: disabled: type: bool - description: Enable or disable the postcard telemetry feature + description: Enable or disable the postcard telemetry feature. ingress: type: dict - description: Configure ingress parameters keys: collection: type: dict - description: Collector configuration + description: Collector configuration. keys: source: type: str - description: GRE source configuration + description: Configure source IP address of GRE tunnel. destination: type: str - description: GRE destination configuration + description: Configure destination IP address of GRE tunnel. version: type: int description: Postcard version valid_values: [ 1, 2 ] sample: type: dict - description: Configure sampling parameters + description: Configure sampling parameters. keys: rate: type: int - description: Configure sampling rate + description: Configure sampling rate. convert_types: - str valid_values: [ 16384, 32768, 65536 ] tcp_udp_checksum: type: int - description: Configure TCP/UDP checksum or IP ID checksum + description: Configure TCP/UDP checksum or IP ID checksum. convert_types: - str profiles: type: list - description: Configure the postcard telemetry profile + description: Configure the postcard telemetry profile. primary_key: name items: type: dict @@ -57,47 +56,49 @@ keys: description: Profile name ingress_sample_policy: type: str - description: Configure ingress parameters + description: Configure ingress sample policy for the profile. sample_policies: type: list primary_key: name - description: Configure sample policies + description: Configure sample policies. items: type: dict keys: name: type: str - description: Configure sample policy name + description: Configure sample policy name. match_rules: type: list primary_key: rule_name - description: Configure match rules + description: Configure rules for sample policy. items: type: dict keys: rule_name: type: str - description: Match rule name type: type: str - description: Select the IP version + description: Select the IP address version. valid_values: [ ipv4, ipv6 ] destination_prefix: type: str - description: IPv4 Network/Mask or IPv6 Network/Mask + description: IPv4 Network/Mask or IPv6 Network/Mask. source_prefix: type: str - description: IPv4 Network/Mask or IPv6 Network/Mask - protocol: - type: dict - keys: - protocol_type: - type: str - description: Select TCP/UDP - valid_values: [ tcp, udp ] - destination_port: - type: list - description: | - Enter the port name or range or port numbers in a list. - Example: - ["12","14-20", "www"] + description: IPv4 Network/Mask or IPv6 Network/Mask. + protocol_type: + type: str + description: Select TCP/UDP. + valid_values: [ tcp, udp ] + destination_port: + type: list + description: |- + Enter the port name or range or port numbers in a list. + Example: + ["12","14-20", "www"] + source_port: + type: list + description: |- + Enter the port name or range or port numbers in a list. + Example: + ["12","14-20", "www"] diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 index 7dc149a45e3..729603d9b2d 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 @@ -51,12 +51,15 @@ monitor telemetry postcard policy {% if rule.source_prefix is arista.avd.defined %} source prefix {{ rule.source_prefix }} {% endif %} -{% if rule.protocol is arista.avd.defined %} -{% if rule.protocol.protocol_type is arista.avd.defined and rule.protocol.destination_port is arista.avd.defined %} -{% for protocol in rule.protocol.destination_port | sort(reverse = True) %} - protocol {{ rule.protocol.protocol_type }} destination port {{ protocol }} -{% endfor %} -{% endif %} +{% if rule.protocol_type is arista.avd.defined and rule.destination_port is arista.avd.defined %} +{% for protocol in rule.destination_port | sort(reverse = True) %} + protocol {{ rule.protocol_type }} destination port {{ protocol }} +{% endfor %} +{% endif %} +{% if rule.protocol_type is arista.avd.defined and rule.source_port is arista.avd.defined %} +{% for protocol in rule.source_port | sort(reverse = True) %} + protocol {{ rule.protocol_type }} source port {{ protocol }} +{% endfor %} {% endif %} {% endfor %} {% else %} From 0dd1c768e665361bdcb975aa546955a42b5bb66d Mon Sep 17 00:00:00 2001 From: laxmikant Date: Fri, 1 Mar 2024 15:49:29 +0530 Subject: [PATCH 11/44] Made some changes in Schema and template --- .../host_vars/monitor-telemetry-postcard.yml | 6 +++--- .../docs/tables/monitor-telemetry-postcard.md | 4 ++-- .../schemas/eos_cli_config_gen.jsonschema.json | 4 ++-- .../schemas/eos_cli_config_gen.schema.yml | 2 +- .../monitor_telemetry_postcard.schema.yml | 2 +- .../templates/eos/monitor-telemetry-postcard.j2 | 12 ++++++------ 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml index 4bf5f187ef6..d51fdbbd28d 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml @@ -20,7 +20,7 @@ monitor_telemetry_postcard: type: ipv4 destination_prefix: 10.3.3.0/24 source_prefix: 3.4.5.0/24 - protocol_type: tcp + protocol: tcp destination_port: - '77' - 78-80 @@ -29,7 +29,7 @@ monitor_telemetry_postcard: type: ipv6 destination_prefix: 10.3.4.0/24 source_prefix: 3.4.4.0/24 - protocol_type: udp + protocol: udp destination_port: - '747' - 748-800 @@ -40,7 +40,7 @@ monitor_telemetry_postcard: type: ipv4 destination_prefix: 10.3.3.0/24 source_prefix: 3.4.5.0/24 - protocol_type: udp + protocol: udp source_port: - '77' - 78-80 diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md index 0b1b8b44abb..669133360e0 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md @@ -27,7 +27,7 @@ | [          type](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].type") | String | | | Valid Values:
- ipv4
- ipv6 | Select the IP address version. | | [          destination_prefix](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].destination_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. | | [          source_prefix](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].source_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. | - | [          protocol_type](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].protocol_type") | String | | | Valid Values:
- tcp
- udp | Select TCP/UDP. | + | [          protocol](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].protocol") | String | | | Valid Values:
- tcp
- udp | Select TCP/UDP. | | [          destination_port](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].destination_port") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"] | | [          source_port](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].source_port") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"] | @@ -90,7 +90,7 @@ source_prefix: # Select TCP/UDP. - protocol_type: + protocol: # Enter the port name or range or port numbers in a list. # Example: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index 9ee5675d58d..a25c56b4af3 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -11233,14 +11233,14 @@ "description": "IPv4 Network/Mask or IPv6 Network/Mask.", "title": "Source Prefix" }, - "protocol_type": { + "protocol": { "type": "string", "description": "Select TCP/UDP.", "enum": [ "tcp", "udp" ], - "title": "Protocol Type" + "title": "Protocol" }, "destination_port": { "type": "array", diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index 0cc03c59f5f..b1d14f15436 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -6618,7 +6618,7 @@ keys: source_prefix: type: str description: IPv4 Network/Mask or IPv6 Network/Mask. - protocol_type: + protocol: type: str description: Select TCP/UDP. valid_values: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml index 878ca15d00c..a61d55f1860 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml @@ -86,7 +86,7 @@ keys: source_prefix: type: str description: IPv4 Network/Mask or IPv6 Network/Mask. - protocol_type: + protocol: type: str description: Select TCP/UDP. valid_values: [ tcp, udp ] diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 index 729603d9b2d..5103e1fb080 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 @@ -51,14 +51,14 @@ monitor telemetry postcard policy {% if rule.source_prefix is arista.avd.defined %} source prefix {{ rule.source_prefix }} {% endif %} -{% if rule.protocol_type is arista.avd.defined and rule.destination_port is arista.avd.defined %} -{% for protocol in rule.destination_port | sort(reverse = True) %} - protocol {{ rule.protocol_type }} destination port {{ protocol }} +{% if rule.protocol is arista.avd.defined and rule.destination_port is arista.avd.defined %} +{% for port in rule.destination_port | sort(reverse = True) %} + protocol {{ rule.protocol }} destination port {{ port }} {% endfor %} {% endif %} -{% if rule.protocol_type is arista.avd.defined and rule.source_port is arista.avd.defined %} -{% for protocol in rule.source_port | sort(reverse = True) %} - protocol {{ rule.protocol_type }} source port {{ protocol }} +{% if rule.protocol is arista.avd.defined and rule.source_port is arista.avd.defined %} +{% for port in rule.source_port | sort(reverse = True) %} + protocol {{ rule.protocol }} source port {{ port }} {% endfor %} {% endif %} {% endfor %} From ced7e972d1cd29c0690fcc1590a4a1b5f7dc3dae Mon Sep 17 00:00:00 2001 From: laxmikant Date: Fri, 1 Mar 2024 16:11:51 +0530 Subject: [PATCH 12/44] Changing template file after editing EOL --- .../templates/eos/monitor-telemetry-postcard.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 index 5103e1fb080..86418deafcc 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 @@ -70,3 +70,4 @@ monitor telemetry postcard policy {% endfor %} {% endif %} {% endif %} + From 40d40eade196cc3193ebd42d0fb946633fc8444f Mon Sep 17 00:00:00 2001 From: laxmikant Date: Fri, 1 Mar 2024 16:14:21 +0530 Subject: [PATCH 13/44] Changing template file after removing one line EOF --- .../templates/eos/monitor-telemetry-postcard.j2 | 1 - 1 file changed, 1 deletion(-) diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 index 86418deafcc..5103e1fb080 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 @@ -70,4 +70,3 @@ monitor telemetry postcard policy {% endfor %} {% endif %} {% endif %} - From 5aa9032bd5d98a2d206201b0639aae3275a3aede Mon Sep 17 00:00:00 2001 From: laxmikant Date: Fri, 1 Mar 2024 16:36:46 +0530 Subject: [PATCH 14/44] Again changing template file after editing EOL --- .../templates/eos/monitor-telemetry-postcard.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 index 5103e1fb080..86418deafcc 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 @@ -70,3 +70,4 @@ monitor telemetry postcard policy {% endfor %} {% endif %} {% endif %} + From 71ccd57597a6cac3a6bf42702d6d9b207c165742 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci-lite[bot]" <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Date: Fri, 1 Mar 2024 11:13:14 +0000 Subject: [PATCH 15/44] [pre-commit.ci lite] apply automatic fixes --- .../templates/eos/monitor-telemetry-postcard.j2 | 1 - 1 file changed, 1 deletion(-) diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 index 86418deafcc..5103e1fb080 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 @@ -70,4 +70,3 @@ monitor telemetry postcard policy {% endfor %} {% endif %} {% endif %} - From bd32c3fc021826a01266ece8fb157c19df96f6c7 Mon Sep 17 00:00:00 2001 From: laxmikant Date: Fri, 1 Mar 2024 17:02:23 +0530 Subject: [PATCH 16/44] Added template file based on unix --- .../eos/monitor-telemetry-postcard.j2 | 145 +++++++++--------- 1 file changed, 72 insertions(+), 73 deletions(-) diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 index 86418deafcc..ef67041486d 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 @@ -1,73 +1,72 @@ -{# - 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 - monitor telemetry postcard #} -{% if monitor_telemetry_postcard is arista.avd.defined %} -! -monitor telemetry postcard policy -{% if monitor_telemetry_postcard.disabled is arista.avd.defined(false) %} - no disabled -{% endif %} -{% if monitor_telemetry_postcard.ingress is arista.avd.defined %} -{% if monitor_telemetry_postcard.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard.ingress.collection.destination is arista.avd.defined and monitor_telemetry_postcard.ingress.collection.version is arista.avd.defined(2) %} - ingress collection gre source {{ monitor_telemetry_postcard.ingress.collection.source }} destination {{ monitor_telemetry_postcard.ingress.collection.destination }} version 2 -{% elif monitor_telemetry_postcard.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard.ingress.collection.destination is arista.avd.defined %} -{% if monitor_telemetry_postcard.ingress.collection.version is arista.avd.defined(1) %} - ingress collection gre source {{ monitor_telemetry_postcard.ingress.collection.source }} destination {{ monitor_telemetry_postcard.ingress.collection.destination }} -{% else %} - ingress collection gre source {{ monitor_telemetry_postcard.ingress.collection.source }} destination {{ monitor_telemetry_postcard.ingress.collection.destination }} -{% endif %} -{% endif %} -{% endif %} -{% if monitor_telemetry_postcard.ingress.sample.rate is arista.avd.defined %} - ingress sample rate {{ monitor_telemetry_postcard.ingress.sample.rate }} -{% endif %} -{% if monitor_telemetry_postcard.ingress.sample.tcp_udp_checksum is arista.avd.defined %} - ingress sample tcp-udp-checksum {{ monitor_telemetry_postcard.ingress.sample.tcp_udp_checksum }} -{% endif %} -{% if monitor_telemetry_postcard.profiles is arista.avd.defined %} -{% for profile in monitor_telemetry_postcard.profiles %} - profile {{ profile.name }} -{% if profile.ingress_sample_policy is arista.avd.defined %} - ingress sample policy {{ profile.ingress_sample_policy }} -{% endif %} -{% endfor %} -{% endif %} -{% if monitor_telemetry_postcard.sample_policies is arista.avd.defined %} -{% for policy in monitor_telemetry_postcard.sample_policies %} -{% if policy.name is arista.avd.defined %} - sample policy {{ policy.name }} -{% endif %} -{% if policy.match_rules is arista.avd.defined %} -{% for rule in policy.match_rules %} -{% if rule.type is arista.avd.defined and rule.rule_name is arista.avd.defined %} - match rule {{ rule.rule_name }} {{ rule.type }} -{% endif %} -{% if rule.destination_prefix is arista.avd.defined %} - destination prefix {{ rule.destination_prefix }} -{% endif %} -{% if rule.source_prefix is arista.avd.defined %} - source prefix {{ rule.source_prefix }} -{% endif %} -{% if rule.protocol is arista.avd.defined and rule.destination_port is arista.avd.defined %} -{% for port in rule.destination_port | sort(reverse = True) %} - protocol {{ rule.protocol }} destination port {{ port }} -{% endfor %} -{% endif %} -{% if rule.protocol is arista.avd.defined and rule.source_port is arista.avd.defined %} -{% for port in rule.source_port | sort(reverse = True) %} - protocol {{ rule.protocol }} source port {{ port }} -{% endfor %} -{% endif %} -{% endfor %} -{% else %} - match ipv4-all-default ipv4 - ! - match ipv6-all-default ipv6 -{% endif %} -{% endfor %} -{% endif %} -{% endif %} - +{# + 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 - monitor telemetry postcard #} +{% if monitor_telemetry_postcard is arista.avd.defined %} +! +monitor telemetry postcard policy +{% if monitor_telemetry_postcard.disabled is arista.avd.defined(false) %} + no disabled +{% endif %} +{% if monitor_telemetry_postcard.ingress is arista.avd.defined %} +{% if monitor_telemetry_postcard.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard.ingress.collection.destination is arista.avd.defined and monitor_telemetry_postcard.ingress.collection.version is arista.avd.defined(2) %} + ingress collection gre source {{ monitor_telemetry_postcard.ingress.collection.source }} destination {{ monitor_telemetry_postcard.ingress.collection.destination }} version 2 +{% elif monitor_telemetry_postcard.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard.ingress.collection.destination is arista.avd.defined %} +{% if monitor_telemetry_postcard.ingress.collection.version is arista.avd.defined(1) %} + ingress collection gre source {{ monitor_telemetry_postcard.ingress.collection.source }} destination {{ monitor_telemetry_postcard.ingress.collection.destination }} +{% else %} + ingress collection gre source {{ monitor_telemetry_postcard.ingress.collection.source }} destination {{ monitor_telemetry_postcard.ingress.collection.destination }} +{% endif %} +{% endif %} +{% endif %} +{% if monitor_telemetry_postcard.ingress.sample.rate is arista.avd.defined %} + ingress sample rate {{ monitor_telemetry_postcard.ingress.sample.rate }} +{% endif %} +{% if monitor_telemetry_postcard.ingress.sample.tcp_udp_checksum is arista.avd.defined %} + ingress sample tcp-udp-checksum {{ monitor_telemetry_postcard.ingress.sample.tcp_udp_checksum }} +{% endif %} +{% if monitor_telemetry_postcard.profiles is arista.avd.defined %} +{% for profile in monitor_telemetry_postcard.profiles %} + profile {{ profile.name }} +{% if profile.ingress_sample_policy is arista.avd.defined %} + ingress sample policy {{ profile.ingress_sample_policy }} +{% endif %} +{% endfor %} +{% endif %} +{% if monitor_telemetry_postcard.sample_policies is arista.avd.defined %} +{% for policy in monitor_telemetry_postcard.sample_policies %} +{% if policy.name is arista.avd.defined %} + sample policy {{ policy.name }} +{% endif %} +{% if policy.match_rules is arista.avd.defined %} +{% for rule in policy.match_rules %} +{% if rule.type is arista.avd.defined and rule.rule_name is arista.avd.defined %} + match rule {{ rule.rule_name }} {{ rule.type }} +{% endif %} +{% if rule.destination_prefix is arista.avd.defined %} + destination prefix {{ rule.destination_prefix }} +{% endif %} +{% if rule.source_prefix is arista.avd.defined %} + source prefix {{ rule.source_prefix }} +{% endif %} +{% if rule.protocol is arista.avd.defined and rule.destination_port is arista.avd.defined %} +{% for port in rule.destination_port | sort(reverse = True) %} + protocol {{ rule.protocol }} destination port {{ port }} +{% endfor %} +{% endif %} +{% if rule.protocol is arista.avd.defined and rule.source_port is arista.avd.defined %} +{% for port in rule.source_port | sort(reverse = True) %} + protocol {{ rule.protocol }} source port {{ port }} +{% endfor %} +{% endif %} +{% endfor %} +{% else %} + match ipv4-all-default ipv4 + ! + match ipv6-all-default ipv6 +{% endif %} +{% endfor %} +{% endif %} +{% endif %} From 8adb05d284d1ef7ec50c9b0f6ecd768b30a47fb0 Mon Sep 17 00:00:00 2001 From: laxmikant Date: Mon, 22 Apr 2024 15:50:41 +0530 Subject: [PATCH 17/44] Fix schema and template. --- .../devices/monitor-telemetry-postcard.md | 39 +++++++++++ .../configs/monitor-telemetry-postcard.cfg | 4 -- .../host_vars/monitor-telemetry-postcard.yml | 1 - .../monitor-telemetry-postcard.j2 | 14 ++++ .../templates/documentation/monitoring.j2 | 5 +- .../eos/monitor-telemetry-postcard.j2 | 68 +++++++++---------- 6 files changed, 91 insertions(+), 40 deletions(-) create mode 100644 ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard.j2 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard.md index 302999109f1..e40a663f975 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard.md @@ -4,6 +4,8 @@ - [Management](#management) - [Management Interfaces](#management-interfaces) +- [Monitoring](#monitoring) + - [Monitor Telemetry Postcard Configuration](#monitor-telemetry-postcard-configuration) ## Management @@ -32,3 +34,40 @@ interface Management1 vrf MGMT ip address 10.73.255.122/24 ``` + +## Monitoring + +### Monitor Telemetry Postcard Configuration + +```eos +! +monitor telemetry postcard policy + no disabled + ingress collection gre source 10.3.3.3 destination 10.3.3.4 version 2 + ingress sample rate 16384 + ingress sample tcp-udp-checksum 2343223 + profile profile1 + ingress sample policy ingresspo1 + profile profile2 + ingress sample policy ingresspo1 + sample policy samplepo1 + match rule rule1 ipv4 + destination prefix 10.3.3.0/24 + source prefix 3.4.5.0/24 + protocol tcp destination port www + protocol tcp destination port 78-80 + protocol tcp destination port 77 + match rule rule2 ipv6 + destination prefix 10.3.4.0/24 + source prefix 3.4.4.0/24 + protocol udp destination port ssh + protocol udp destination port 748-800 + protocol udp destination port 747 + sample policy samplepo2 + match rule rule1 ipv4 + destination prefix 10.3.3.0/24 + source prefix 3.4.5.0/24 + protocol udp source port www + protocol udp source port 78-80 + protocol udp source port 77 +``` diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg index 8f933c40bd5..808290f2f5f 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg @@ -41,9 +41,5 @@ monitor telemetry postcard policy protocol udp source port www protocol udp source port 78-80 protocol udp source port 77 - sample policy samplepo3 - match ipv4-all-default ipv4 - ! - match ipv6-all-default ipv6 ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml index d51fdbbd28d..06610021003 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml @@ -45,4 +45,3 @@ monitor_telemetry_postcard: - '77' - 78-80 - www - - name: samplepo3 diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard.j2 new file mode 100644 index 00000000000..b1461019f91 --- /dev/null +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard.j2 @@ -0,0 +1,14 @@ +{# + 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. +#} +{# doc - monitor telemetry postcard #} +{% if monitor_telemetry_postcard is arista.avd.defined %} + +### Monitor Telemetry Postcard Configuration + +```eos +{% include 'eos/monitor-telemetry-postcard.j2' %} +``` +{% endif %} diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitoring.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitoring.j2 index c06670c6a2e..f017d4f5599 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitoring.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitoring.j2 @@ -29,7 +29,8 @@ or flow_trackings is arista.avd.defined or flow_tracking is arista.avd.defined or trackers is arista.avd.defined - or sflow_interfaces | length > 0 %} + or sflow_interfaces | length > 0 + or monitor_telemetry_postcard is arista.avd.defined %} ## Monitoring {## TerminAttr Daemon #} @@ -58,4 +59,6 @@ {% include 'documentation/flow-tracking.j2' %} {## Object Tracking #} {% include 'documentation/trackers.j2' %} +{## Monitor Telemetry Postcard #} +{% include 'documentation/monitor-telemetry-postcard.j2' %} {% endif %} diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 index ef67041486d..c3c9f20ab94 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 @@ -11,13 +11,12 @@ monitor telemetry postcard policy no disabled {% endif %} {% if monitor_telemetry_postcard.ingress is arista.avd.defined %} -{% if monitor_telemetry_postcard.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard.ingress.collection.destination is arista.avd.defined and monitor_telemetry_postcard.ingress.collection.version is arista.avd.defined(2) %} - ingress collection gre source {{ monitor_telemetry_postcard.ingress.collection.source }} destination {{ monitor_telemetry_postcard.ingress.collection.destination }} version 2 -{% elif monitor_telemetry_postcard.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard.ingress.collection.destination is arista.avd.defined %} -{% if monitor_telemetry_postcard.ingress.collection.version is arista.avd.defined(1) %} - ingress collection gre source {{ monitor_telemetry_postcard.ingress.collection.source }} destination {{ monitor_telemetry_postcard.ingress.collection.destination }} -{% else %} - ingress collection gre source {{ monitor_telemetry_postcard.ingress.collection.source }} destination {{ monitor_telemetry_postcard.ingress.collection.destination }} +{% if monitor_telemetry_postcard.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard.ingress.collection.destination is arista.avd.defined %} +{% set ingress_cli = "ingress collection gre source " ~ monitor_telemetry_postcard.ingress.collection.source ~ " destination " ~ monitor_telemetry_postcard.ingress.collection.destination %} +{% if monitor_telemetry_postcard.ingress.collection.version is arista.avd.defined(2) %} + {{ ingress_cli }} version 2 +{% elif monitor_telemetry_postcard.ingress.collection.version | arista.avd.default(1) is arista.avd.defined %} + {{ ingress_cli }} {% endif %} {% endif %} {% endif %} @@ -28,44 +27,45 @@ monitor telemetry postcard policy ingress sample tcp-udp-checksum {{ monitor_telemetry_postcard.ingress.sample.tcp_udp_checksum }} {% endif %} {% if monitor_telemetry_postcard.profiles is arista.avd.defined %} -{% for profile in monitor_telemetry_postcard.profiles %} +{% for profile in monitor_telemetry_postcard.profiles | arista.avd.natural_sort("name") %} +{% if profile.name is arista.avd.defined %} profile {{ profile.name }} -{% if profile.ingress_sample_policy is arista.avd.defined %} +{% if profile.ingress_sample_policy is arista.avd.defined %} ingress sample policy {{ profile.ingress_sample_policy }} +{% endif %} {% endif %} {% endfor %} {% endif %} {% if monitor_telemetry_postcard.sample_policies is arista.avd.defined %} -{% for policy in monitor_telemetry_postcard.sample_policies %} +{% for policy in monitor_telemetry_postcard.sample_policies | arista.avd.natural_sort("name") %} {% if policy.name is arista.avd.defined %} sample policy {{ policy.name }} -{% endif %} -{% if policy.match_rules is arista.avd.defined %} -{% for rule in policy.match_rules %} -{% if rule.type is arista.avd.defined and rule.rule_name is arista.avd.defined %} +{% if policy.match_rules is arista.avd.defined %} +{% for rule in policy.match_rules | arista.avd.natural_sort("rule_name") %} +{% if rule.type is arista.avd.defined and rule.rule_name is arista.avd.defined %} match rule {{ rule.rule_name }} {{ rule.type }} -{% endif %} -{% if rule.destination_prefix is arista.avd.defined %} +{% endif %} +{% if rule.destination_prefix is arista.avd.defined %} destination prefix {{ rule.destination_prefix }} -{% endif %} -{% if rule.source_prefix is arista.avd.defined %} +{% endif %} +{% if rule.source_prefix is arista.avd.defined %} source prefix {{ rule.source_prefix }} -{% endif %} -{% if rule.protocol is arista.avd.defined and rule.destination_port is arista.avd.defined %} -{% for port in rule.destination_port | sort(reverse = True) %} - protocol {{ rule.protocol }} destination port {{ port }} -{% endfor %} -{% endif %} -{% if rule.protocol is arista.avd.defined and rule.source_port is arista.avd.defined %} -{% for port in rule.source_port | sort(reverse = True) %} - protocol {{ rule.protocol }} source port {{ port }} -{% endfor %} -{% endif %} -{% endfor %} -{% else %} - match ipv4-all-default ipv4 - ! - match ipv6-all-default ipv6 +{% endif %} +{% if rule.protocol is arista.avd.defined %} +{% set rule_cli = "protocol " ~ rule.protocol %} +{% if rule.destination_port is arista.avd.defined %} +{% for port in rule.destination_port | sort(reverse = True) %} + {{ rule_cli }} destination port {{ port }} +{% endfor %} +{% endif %} +{% if rule.source_port is arista.avd.defined %} +{% for port in rule.source_port | sort(reverse = True) %} + {{ rule_cli }} source port {{ port }} +{% endfor %} +{% endif %} +{% endif %} +{% endfor %} +{% endif %} {% endif %} {% endfor %} {% endif %} From 0df054abb2be332f753ee30c26ebf8a5c62d6d17 Mon Sep 17 00:00:00 2001 From: laxmikant Date: Mon, 22 Apr 2024 19:56:30 +0530 Subject: [PATCH 18/44] Corrected schemas to support for multiple source/destination ports configuration. --- .../devices/monitor-telemetry-postcard.md | 20 +++---- .../configs/monitor-telemetry-postcard.cfg | 20 +++---- .../host_vars/monitor-telemetry-postcard.yml | 40 ++++++++------ .../docs/tables/monitor-telemetry-postcard.md | 28 +++++----- .../eos_cli_config_gen.jsonschema.json | 47 ++++++++++------ .../schemas/eos_cli_config_gen.schema.yml | 31 ++++++----- .../monitor_telemetry_postcard.schema.yml | 35 ++++++------ .../eos/monitor-telemetry-postcard.j2 | 54 ++++++++++--------- 8 files changed, 157 insertions(+), 118 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard.md index e40a663f975..5db6dfd8e4c 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard.md @@ -46,28 +46,30 @@ monitor telemetry postcard policy ingress collection gre source 10.3.3.3 destination 10.3.3.4 version 2 ingress sample rate 16384 ingress sample tcp-udp-checksum 2343223 - profile profile1 - ingress sample policy ingresspo1 - profile profile2 - ingress sample policy ingresspo1 sample policy samplepo1 - match rule rule1 ipv4 + match rule1 ipv4 destination prefix 10.3.3.0/24 source prefix 3.4.5.0/24 protocol tcp destination port www protocol tcp destination port 78-80 protocol tcp destination port 77 - match rule rule2 ipv6 - destination prefix 10.3.4.0/24 - source prefix 3.4.4.0/24 + match rule2 ipv6 + destination prefix 4::0/128 + source prefix 5::0/128 protocol udp destination port ssh protocol udp destination port 748-800 protocol udp destination port 747 sample policy samplepo2 - match rule rule1 ipv4 + match rule1 ipv4 destination prefix 10.3.3.0/24 source prefix 3.4.5.0/24 + protocol udp destination port www + protocol udp destination port 88 protocol udp source port www protocol udp source port 78-80 protocol udp source port 77 + profile profile1 + ingress sample policy ingresspo1 + profile profile2 + ingress sample policy ingresspo1 ``` diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg index 808290f2f5f..81f1df6d258 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg @@ -17,29 +17,31 @@ monitor telemetry postcard policy ingress collection gre source 10.3.3.3 destination 10.3.3.4 version 2 ingress sample rate 16384 ingress sample tcp-udp-checksum 2343223 - profile profile1 - ingress sample policy ingresspo1 - profile profile2 - ingress sample policy ingresspo1 sample policy samplepo1 - match rule rule1 ipv4 + match rule1 ipv4 destination prefix 10.3.3.0/24 source prefix 3.4.5.0/24 protocol tcp destination port www protocol tcp destination port 78-80 protocol tcp destination port 77 - match rule rule2 ipv6 - destination prefix 10.3.4.0/24 - source prefix 3.4.4.0/24 + match rule2 ipv6 + destination prefix 4::0/128 + source prefix 5::0/128 protocol udp destination port ssh protocol udp destination port 748-800 protocol udp destination port 747 sample policy samplepo2 - match rule rule1 ipv4 + match rule1 ipv4 destination prefix 10.3.3.0/24 source prefix 3.4.5.0/24 + protocol udp destination port www + protocol udp destination port 88 protocol udp source port www protocol udp source port 78-80 protocol udp source port 77 + profile profile1 + ingress sample policy ingresspo1 + profile profile2 + ingress sample policy ingresspo1 ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml index 06610021003..803325df5dc 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml @@ -20,28 +20,34 @@ monitor_telemetry_postcard: type: ipv4 destination_prefix: 10.3.3.0/24 source_prefix: 3.4.5.0/24 - protocol: tcp - destination_port: - - '77' - - 78-80 - - www + ports: + - protocol: tcp + destination_port: + - '77' + - 78-80 + - www - rule_name: rule2 type: ipv6 - destination_prefix: 10.3.4.0/24 - source_prefix: 3.4.4.0/24 - protocol: udp - destination_port: - - '747' - - 748-800 - - ssh + destination_prefix: 4::0/128 + source_prefix: 5::0/128 + ports: + - protocol: udp + destination_port: + - '747' + - 748-800 + - ssh - name: samplepo2 match_rules: - rule_name: rule1 type: ipv4 destination_prefix: 10.3.3.0/24 source_prefix: 3.4.5.0/24 - protocol: udp - source_port: - - '77' - - 78-80 - - www + ports: + - protocol: udp + source_port: + - '77' + - 78-80 + - www + destination_port: + - '88' + - www diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md index 669133360e0..712d35a9b0c 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md @@ -27,9 +27,10 @@ | [          type](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].type") | String | | | Valid Values:
- ipv4
- ipv6 | Select the IP address version. | | [          destination_prefix](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].destination_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. | | [          source_prefix](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].source_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. | - | [          protocol](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].protocol") | String | | | Valid Values:
- tcp
- udp | Select TCP/UDP. | - | [          destination_port](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].destination_port") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"] | - | [          source_port](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].source_port") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"] | + | [          ports](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].ports") | List, items: Dictionary | | | | | + | [            - protocol](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].ports.[].protocol") | String | | | Valid Values:
- tcp
- udp | Select TCP/UDP. | + | [              destination_port](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].ports.[].destination_port") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"] | + | [              source_port](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].ports.[].source_port") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"] | === "YAML" @@ -88,17 +89,18 @@ # IPv4 Network/Mask or IPv6 Network/Mask. source_prefix: + ports: - # Select TCP/UDP. - protocol: + # Select TCP/UDP. + - protocol: - # Enter the port name or range or port numbers in a list. - # Example: - # ["12","14-20", "www"] - destination_port: + # Enter the port name or range or port numbers in a list. + # Example: + # ["12","14-20", "www"] + destination_port: - # Enter the port name or range or port numbers in a list. - # Example: - # ["12","14-20", "www"] - source_port: + # Enter the port name or range or port numbers in a list. + # Example: + # ["12","14-20", "www"] + source_port: ``` diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index a25c56b4af3..7af115e5c7b 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -11233,24 +11233,37 @@ "description": "IPv4 Network/Mask or IPv6 Network/Mask.", "title": "Source Prefix" }, - "protocol": { - "type": "string", - "description": "Select TCP/UDP.", - "enum": [ - "tcp", - "udp" - ], - "title": "Protocol" - }, - "destination_port": { - "type": "array", - "description": "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]", - "title": "Destination Port" - }, - "source_port": { + "ports": { "type": "array", - "description": "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]", - "title": "Source Port" + "items": { + "type": "object", + "properties": { + "protocol": { + "type": "string", + "description": "Select TCP/UDP.", + "enum": [ + "tcp", + "udp" + ], + "title": "Protocol" + }, + "destination_port": { + "type": "array", + "description": "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]", + "title": "Destination Port" + }, + "source_port": { + "type": "array", + "description": "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]", + "title": "Source Port" + } + }, + "additionalProperties": false, + "patternProperties": { + "^_.+$": {} + } + }, + "title": "Ports" } }, "additionalProperties": false, diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index b1d14f15436..b77bd587fa2 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -6618,20 +6618,25 @@ keys: source_prefix: type: str description: IPv4 Network/Mask or IPv6 Network/Mask. - protocol: - type: str - description: Select TCP/UDP. - valid_values: - - tcp - - udp - destination_port: - type: list - description: "Enter the port name or range or port numbers in - a list.\nExample:\n [\"12\",\"14-20\", \"www\"]" - source_port: + ports: type: list - description: "Enter the port name or range or port numbers in - a list.\nExample:\n [\"12\",\"14-20\", \"www\"]" + items: + type: dict + keys: + protocol: + type: str + description: Select TCP/UDP. + valid_values: + - tcp + - udp + destination_port: + type: list + description: "Enter the port name or range or port numbers + in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]" + source_port: + type: list + description: "Enter the port name or range or port numbers + in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]" mpls: type: dict keys: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml index a61d55f1860..311ffbe1bb5 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml @@ -86,19 +86,24 @@ keys: source_prefix: type: str description: IPv4 Network/Mask or IPv6 Network/Mask. - protocol: - type: str - description: Select TCP/UDP. - valid_values: [ tcp, udp ] - destination_port: - type: list - description: |- - Enter the port name or range or port numbers in a list. - Example: - ["12","14-20", "www"] - source_port: + ports: type: list - description: |- - Enter the port name or range or port numbers in a list. - Example: - ["12","14-20", "www"] + items: + type: dict + keys: + protocol: + type: str + description: Select TCP/UDP. + valid_values: [ tcp, udp ] + destination_port: + type: list + description: |- + Enter the port name or range or port numbers in a list. + Example: + ["12","14-20", "www"] + source_port: + type: list + description: |- + Enter the port name or range or port numbers in a list. + Example: + ["12","14-20", "www"] diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 index c3c9f20ab94..281fbd2ea7a 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 @@ -26,16 +26,6 @@ monitor telemetry postcard policy {% if monitor_telemetry_postcard.ingress.sample.tcp_udp_checksum is arista.avd.defined %} ingress sample tcp-udp-checksum {{ monitor_telemetry_postcard.ingress.sample.tcp_udp_checksum }} {% endif %} -{% if monitor_telemetry_postcard.profiles is arista.avd.defined %} -{% for profile in monitor_telemetry_postcard.profiles | arista.avd.natural_sort("name") %} -{% if profile.name is arista.avd.defined %} - profile {{ profile.name }} -{% if profile.ingress_sample_policy is arista.avd.defined %} - ingress sample policy {{ profile.ingress_sample_policy }} -{% endif %} -{% endif %} -{% endfor %} -{% endif %} {% if monitor_telemetry_postcard.sample_policies is arista.avd.defined %} {% for policy in monitor_telemetry_postcard.sample_policies | arista.avd.natural_sort("name") %} {% if policy.name is arista.avd.defined %} @@ -43,24 +33,28 @@ monitor telemetry postcard policy {% if policy.match_rules is arista.avd.defined %} {% for rule in policy.match_rules | arista.avd.natural_sort("rule_name") %} {% if rule.type is arista.avd.defined and rule.rule_name is arista.avd.defined %} - match rule {{ rule.rule_name }} {{ rule.type }} -{% endif %} -{% if rule.destination_prefix is arista.avd.defined %} + match {{ rule.rule_name }} {{ rule.type }} +{% if rule.destination_prefix is arista.avd.defined %} destination prefix {{ rule.destination_prefix }} -{% endif %} -{% if rule.source_prefix is arista.avd.defined %} +{% endif %} +{% if rule.source_prefix is arista.avd.defined %} source prefix {{ rule.source_prefix }} -{% endif %} -{% if rule.protocol is arista.avd.defined %} -{% set rule_cli = "protocol " ~ rule.protocol %} -{% if rule.destination_port is arista.avd.defined %} -{% for port in rule.destination_port | sort(reverse = True) %} - {{ rule_cli }} destination port {{ port }} -{% endfor %} {% endif %} -{% if rule.source_port is arista.avd.defined %} -{% for port in rule.source_port | sort(reverse = True) %} - {{ rule_cli }} source port {{ port }} +{% if rule.ports is arista.avd.defined %} +{% for port in rule.ports | arista.avd.natural_sort('protocol') %} +{% if port.protocol is arista.avd.defined %} +{% set rule_cli = "protocol " ~ port.protocol %} +{% if port.destination_port is arista.avd.defined %} +{% for dest_port in port.destination_port | sort(reverse = True) %} + {{ rule_cli }} destination port {{ dest_port }} +{% endfor %} +{% endif %} +{% if port.source_port is arista.avd.defined %} +{% for src_port in port.source_port | sort(reverse = True) %} + {{ rule_cli }} source port {{ src_port }} +{% endfor %} +{% endif %} +{% endif %} {% endfor %} {% endif %} {% endif %} @@ -69,4 +63,14 @@ monitor telemetry postcard policy {% endif %} {% endfor %} {% endif %} +{% if monitor_telemetry_postcard.profiles is arista.avd.defined %} +{% for profile in monitor_telemetry_postcard.profiles | arista.avd.natural_sort("name") %} +{% if profile.name is arista.avd.defined %} + profile {{ profile.name }} +{% if profile.ingress_sample_policy is arista.avd.defined %} + ingress sample policy {{ profile.ingress_sample_policy }} +{% endif %} +{% endif %} +{% endfor %} +{% endif %} {% endif %} From 26f6da5eb64d5dfd6f9545499e1fb403a9c508d0 Mon Sep 17 00:00:00 2001 From: laxmikant Date: Tue, 23 Apr 2024 17:58:59 +0530 Subject: [PATCH 19/44] Fixed CI failure. --- .../monitor-telemetry-postcard.j2 | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard.j2 index b1461019f91..53aa4b4c31b 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard.j2 @@ -1,14 +1,14 @@ -{# - 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. -#} -{# doc - monitor telemetry postcard #} -{% if monitor_telemetry_postcard is arista.avd.defined %} - -### Monitor Telemetry Postcard Configuration - -```eos -{% include 'eos/monitor-telemetry-postcard.j2' %} -``` -{% endif %} +{# + 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. +#} +{# doc - monitor telemetry postcard #} +{% if monitor_telemetry_postcard is arista.avd.defined %} + +### Monitor Telemetry Postcard Configuration + +```eos +{% include 'eos/monitor-telemetry-postcard.j2' %} +``` +{% endif %} From f4b043dc8714f1bf5d539e524935c22f3a270318 Mon Sep 17 00:00:00 2001 From: laxmikant Date: Mon, 29 Apr 2024 11:32:23 +0530 Subject: [PATCH 20/44] Adding range to tcp-udp-checksum. --- .../documentation/devices/monitor-telemetry-postcard.md | 2 +- .../intended/configs/monitor-telemetry-postcard.cfg | 2 +- .../inventory/host_vars/monitor-telemetry-postcard.yml | 2 +- .../docs/tables/monitor-telemetry-postcard.md | 4 ++-- .../schemas/eos_cli_config_gen.jsonschema.json | 2 ++ .../eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml | 2 ++ .../schema_fragments/monitor_telemetry_postcard.schema.yml | 2 ++ .../avd/roles/eos_designs/schemas/eos_designs.jsonschema.json | 2 ++ 8 files changed, 13 insertions(+), 5 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard.md index 5db6dfd8e4c..3d625b32b87 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard.md @@ -45,7 +45,7 @@ monitor telemetry postcard policy no disabled ingress collection gre source 10.3.3.3 destination 10.3.3.4 version 2 ingress sample rate 16384 - ingress sample tcp-udp-checksum 2343223 + ingress sample tcp-udp-checksum 65000 sample policy samplepo1 match rule1 ipv4 destination prefix 10.3.3.0/24 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg index 81f1df6d258..269d5e3bd79 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg @@ -16,7 +16,7 @@ monitor telemetry postcard policy no disabled ingress collection gre source 10.3.3.3 destination 10.3.3.4 version 2 ingress sample rate 16384 - ingress sample tcp-udp-checksum 2343223 + ingress sample tcp-udp-checksum 65000 sample policy samplepo1 match rule1 ipv4 destination prefix 10.3.3.0/24 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml index 803325df5dc..167432a0d1b 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml @@ -7,7 +7,7 @@ monitor_telemetry_postcard: version: 2 sample: rate: 16384 - tcp_udp_checksum: 2343223 + tcp_udp_checksum: 65000 profiles: - name: profile1 ingress_sample_policy: ingresspo1 diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md index 712d35a9b0c..affe72270ec 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md @@ -16,7 +16,7 @@ | [      version](## "monitor_telemetry_postcard.ingress.collection.version") | Integer | | | Valid Values:
- 1
- 2 | Postcard version | | [    sample](## "monitor_telemetry_postcard.ingress.sample") | Dictionary | | | | Configure sampling parameters. | | [      rate](## "monitor_telemetry_postcard.ingress.sample.rate") | Integer | | | Valid Values:
- 16384
- 32768
- 65536 | Configure sampling rate. | - | [      tcp_udp_checksum](## "monitor_telemetry_postcard.ingress.sample.tcp_udp_checksum") | Integer | | | | Configure TCP/UDP checksum or IP ID checksum. | + | [      tcp_udp_checksum](## "monitor_telemetry_postcard.ingress.sample.tcp_udp_checksum") | Integer | | | Min: 0
Max: 65535 | Configure TCP/UDP checksum or IP ID checksum. | | [  profiles](## "monitor_telemetry_postcard.profiles") | List, items: Dictionary | | | | Configure the postcard telemetry profile. | | [    - name](## "monitor_telemetry_postcard.profiles.[].name") | String | Required, Unique | | | Profile name | | [      ingress_sample_policy](## "monitor_telemetry_postcard.profiles.[].ingress_sample_policy") | String | | | | Configure ingress sample policy for the profile. | @@ -60,7 +60,7 @@ rate: # Configure TCP/UDP checksum or IP ID checksum. - tcp_udp_checksum: + tcp_udp_checksum: # Configure the postcard telemetry profile. profiles: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index de33ed5890f..9645f159e21 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -11956,6 +11956,8 @@ "tcp_udp_checksum": { "type": "integer", "description": "Configure TCP/UDP checksum or IP ID checksum.", + "minimum": 0, + "maximum": 65535, "title": "TCP UDP Checksum" } }, diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index b1d492a636b..be9903136ca 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -7003,6 +7003,8 @@ keys: tcp_udp_checksum: type: int description: Configure TCP/UDP checksum or IP ID checksum. + min: 0 + max: 65535 convert_types: - str profiles: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml index 311ffbe1bb5..2dfcaf4f372 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml @@ -42,6 +42,8 @@ keys: tcp_udp_checksum: type: int description: Configure TCP/UDP checksum or IP ID checksum. + min: 0 + max: 65535 convert_types: - str profiles: diff --git a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json index ce05fc9d8fd..9979557457a 100644 --- a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json @@ -27974,6 +27974,8 @@ "tcp_udp_checksum": { "type": "integer", "description": "Configure TCP/UDP checksum or IP ID checksum.", + "minimum": 0, + "maximum": 65535, "title": "TCP UDP Checksum" } }, From 36ea3380d80076896b332ff1c9297786ecfd6df7 Mon Sep 17 00:00:00 2001 From: laxmikant Date: Tue, 7 May 2024 14:59:29 +0530 Subject: [PATCH 21/44] Added document template and marker command. --- ...d => monitor-telemetry-postcard-policy.md} | 55 ++++- ... => monitor-telemetry-postcard-policy.cfg} | 26 +- ... => monitor-telemetry-postcard-policy.yml} | 114 +++++---- .../eos_cli_config_gen/inventory/hosts.ini | 2 +- .../monitor-telemetry-postcard-policy.md | 104 ++++++++ .../docs/tables/monitor-telemetry-postcard.md | 106 -------- .../eos_cli_config_gen.jsonschema.json | 55 +++-- .../schemas/eos_cli_config_gen.schema.yml | 42 ++-- ...itor_telemetry_postcard_policy.schema.yml} | 229 +++++++++--------- .../monitor-telemetry-postcard-policy.j2 | 63 +++++ .../monitor-telemetry-postcard.j2 | 14 -- .../templates/documentation/monitoring.j2 | 4 +- .../templates/eos-intended-config.j2 | 2 +- .../eos/monitor-telemetry-postcard-policy.j2 | 66 +++++ .../eos/monitor-telemetry-postcard.j2 | 76 ------ .../schemas/eos_designs.jsonschema.json | 55 +++-- 16 files changed, 574 insertions(+), 439 deletions(-) rename ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/{monitor-telemetry-postcard.md => monitor-telemetry-postcard-policy.md} (58%) rename ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/{monitor-telemetry-postcard.cfg => monitor-telemetry-postcard-policy.cfg} (79%) rename ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/{monitor-telemetry-postcard.yml => monitor-telemetry-postcard-policy.yml} (64%) create mode 100644 ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md delete mode 100644 ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md rename ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/{monitor_telemetry_postcard.schema.yml => monitor_telemetry_postcard_policy.schema.yml} (73%) create mode 100644 ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard-policy.j2 delete mode 100644 ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard.j2 create mode 100644 ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 delete mode 100644 ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md similarity index 58% rename from ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard.md rename to ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md index 3d625b32b87..4abb4233082 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md @@ -1,10 +1,12 @@ -# monitor-telemetry-postcard +# monitor-telemetry-postcard-policy ## Table of Contents - [Management](#management) - [Management Interfaces](#management-interfaces) - [Monitoring](#monitoring) + - [Sample Policy Summary](#sample-policy-summary) + - [Telemetry Postcard Policy Profiles](#telemetry-postcard-policy-profiles) - [Monitor Telemetry Postcard Configuration](#monitor-telemetry-postcard-configuration) ## Management @@ -37,15 +39,43 @@ interface Management1 ## Monitoring +### Sample Policy Summary + +#### samplepo1 + +##### Match rules + +| Rule Name | Rule Type | Source Prefix | Destination Prefix | Protocol | Source Ports | Destination Ports | +| --------- | --------- | ------------- | ------------------ | -------- | ------------ | ----------------- | +| rule1 | ipv4 | 3.4.5.0/24 | 10.3.3.0/24 | tcp
udp | -
98 | 77, 78-80, www
99 | +| rule2 | ipv6 | 5::0/128 | 4::0/128 | udp | - | 747, 748-800, ssh | +| rule3 | ipv4 | - | - | - | - | - | + +#### samplepo2 + +##### Match rules + +| Rule Name | Rule Type | Source Prefix | Destination Prefix | Protocol | Source Ports | Destination Ports | +| --------- | --------- | ------------- | ------------------ | -------- | ------------ | ----------------- | +| rule1 | ipv4 | 3.4.5.0/24 | 10.3.3.0/24 | udp | 77, 78-80, www | 88, www | + +### Telemetry Postcard Policy Profiles + +| Profile Name | Ingress Sample Policy | +| ------------ | --------------------- | +| profile1 | samplepo1 | +| profile2 | samplepo2 | + ### Monitor Telemetry Postcard Configuration ```eos ! monitor telemetry postcard policy no disabled - ingress collection gre source 10.3.3.3 destination 10.3.3.4 version 2 ingress sample rate 16384 - ingress sample tcp-udp-checksum 65000 + marker vxlan header word 0 bit 0 + ingress collection gre source 10.3.3.3 destination 10.3.3.4 version 2 + ! sample policy samplepo1 match rule1 ipv4 destination prefix 10.3.3.0/24 @@ -53,23 +83,34 @@ monitor telemetry postcard policy protocol tcp destination port www protocol tcp destination port 78-80 protocol tcp destination port 77 + protocol udp destination port 99 + protocol udp source port 98 + ! match rule2 ipv6 destination prefix 4::0/128 source prefix 5::0/128 protocol udp destination port ssh protocol udp destination port 748-800 protocol udp destination port 747 + ! + match rule3 ipv4 + ! + ! sample policy samplepo2 match rule1 ipv4 destination prefix 10.3.3.0/24 source prefix 3.4.5.0/24 protocol udp destination port www protocol udp destination port 88 - protocol udp source port www - protocol udp source port 78-80 protocol udp source port 77 + protocol udp source port 78-80 + protocol udp source port www + ! + ! profile profile1 - ingress sample policy ingresspo1 + ingress sample policy samplepo1 + ! profile profile2 - ingress sample policy ingresspo1 + ingress sample policy samplepo2 + ! ``` diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg similarity index 79% rename from ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg rename to ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg index 269d5e3bd79..6eaab6eee3c 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg @@ -2,7 +2,7 @@ ! transceiver qsfp default-mode 4x10G ! -hostname monitor-telemetry-postcard +hostname monitor-telemetry-postcard-policy ! no enable password no aaa root @@ -14,9 +14,10 @@ interface Management1 ! monitor telemetry postcard policy no disabled - ingress collection gre source 10.3.3.3 destination 10.3.3.4 version 2 ingress sample rate 16384 - ingress sample tcp-udp-checksum 65000 + marker vxlan header word 0 bit 0 + ingress collection gre source 10.3.3.3 destination 10.3.3.4 version 2 + ! sample policy samplepo1 match rule1 ipv4 destination prefix 10.3.3.0/24 @@ -24,24 +25,35 @@ monitor telemetry postcard policy protocol tcp destination port www protocol tcp destination port 78-80 protocol tcp destination port 77 + protocol udp destination port 99 + protocol udp source port 98 + ! match rule2 ipv6 destination prefix 4::0/128 source prefix 5::0/128 protocol udp destination port ssh protocol udp destination port 748-800 protocol udp destination port 747 + ! + match rule3 ipv4 + ! + ! sample policy samplepo2 match rule1 ipv4 destination prefix 10.3.3.0/24 source prefix 3.4.5.0/24 protocol udp destination port www protocol udp destination port 88 - protocol udp source port www - protocol udp source port 78-80 protocol udp source port 77 + protocol udp source port 78-80 + protocol udp source port www + ! + ! profile profile1 - ingress sample policy ingresspo1 + ingress sample policy samplepo1 + ! profile profile2 - ingress sample policy ingresspo1 + ingress sample policy samplepo2 + ! ! end diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml similarity index 64% rename from ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml rename to ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml index 167432a0d1b..4db28f3a619 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml @@ -1,53 +1,61 @@ -monitor_telemetry_postcard: - disabled: false - ingress: - collection: - source: 10.3.3.3 - destination: 10.3.3.4 - version: 2 - sample: - rate: 16384 - tcp_udp_checksum: 65000 - profiles: - - name: profile1 - ingress_sample_policy: ingresspo1 - - name: profile2 - ingress_sample_policy: ingresspo1 - sample_policies: - - name: samplepo1 - match_rules: - - rule_name: rule1 - type: ipv4 - destination_prefix: 10.3.3.0/24 - source_prefix: 3.4.5.0/24 - ports: - - protocol: tcp - destination_port: - - '77' - - 78-80 - - www - - rule_name: rule2 - type: ipv6 - destination_prefix: 4::0/128 - source_prefix: 5::0/128 - ports: - - protocol: udp - destination_port: - - '747' - - 748-800 - - ssh - - name: samplepo2 - match_rules: - - rule_name: rule1 - type: ipv4 - destination_prefix: 10.3.3.0/24 - source_prefix: 3.4.5.0/24 - ports: - - protocol: udp - source_port: - - '77' - - 78-80 - - www - destination_port: - - '88' - - www +monitor_telemetry_postcard_policy: + disabled: false + ingress: + collection: + source: 10.3.3.3 + destination: 10.3.3.4 + version: 2 + sample: + rate: 16384 + tcp_udp_checksum: 65000 + vxlan_marking_bit: 0 + profiles: + - name: profile1 + ingress_sample_policy: samplepo1 + - name: profile2 + ingress_sample_policy: samplepo2 + sample_policies: + - name: samplepo1 + match_rules: + - name: rule1 + type: ipv4 + destination_prefix: 10.3.3.0/24 + source_prefix: 3.4.5.0/24 + ports: + - protocol: tcp + destination_ports: + - '77' + - 78-80 + - www + - protocol: udp + destination_ports: + - "99" + source_ports: + - "98" + - name: rule2 + type: ipv6 + destination_prefix: 4::0/128 + source_prefix: 5::0/128 + ports: + - protocol: udp + destination_ports: + - '747' + - 748-800 + - ssh + - name: rule3 + type: ipv4 + - name: samplepo2 + match_rules: + - name: rule1 + type: ipv4 + destination_prefix: 10.3.3.0/24 + source_prefix: 3.4.5.0/24 + ports: + - protocol: udp + source_ports: + - '77' + - 78-80 + - www + destination_ports: + - '88' + - www diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/hosts.ini b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/hosts.ini index 4c13be48417..6afad01e3c4 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/hosts.ini +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/hosts.ini @@ -92,7 +92,7 @@ mlag-configuration monitor-layer1 monitor-connectivity monitor-sessions -monitor-telemetry-postcard +monitor-telemetry-postcard-policy mpls none_configuration ntp diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md new file mode 100644 index 00000000000..65a61b991aa --- /dev/null +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md @@ -0,0 +1,104 @@ + +=== "Table" + + | Variable | Type | Required | Default | Value Restrictions | Description | + | -------- | ---- | -------- | ------- | ------------------ | ----------- | + | [monitor_telemetry_postcard_policy](## "monitor_telemetry_postcard_policy") | Dictionary | | | | | + | [  disabled](## "monitor_telemetry_postcard_policy.disabled") | Boolean | | | | Enable or disable the postcard telemetry feature. | + | [  ingress](## "monitor_telemetry_postcard_policy.ingress") | Dictionary | | | | | + | [    collection](## "monitor_telemetry_postcard_policy.ingress.collection") | Dictionary | | | | Collector configuration. | + | [      source](## "monitor_telemetry_postcard_policy.ingress.collection.source") | String | | | | Configure source IP address of GRE tunnel. | + | [      destination](## "monitor_telemetry_postcard_policy.ingress.collection.destination") | String | | | | Configure destination IP address of GRE tunnel. | + | [      version](## "monitor_telemetry_postcard_policy.ingress.collection.version") | Integer | | | Valid Values:
- 1
- 2 | Postcard version | + | [    sample](## "monitor_telemetry_postcard_policy.ingress.sample") | Dictionary | | | | Sampling parameters. | + | [      rate](## "monitor_telemetry_postcard_policy.ingress.sample.rate") | Integer | | | Valid Values:
- 16384
- 32768
- 65536 | Sampling rate. | + | [      tcp_udp_checksum](## "monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum") | Integer | | | Min: 0
Max: 65535 | TCP/UDP checksum or IP ID value. | + | [      mask](## "monitor_telemetry_postcard_policy.ingress.sample.mask") | String | | | | 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unser bits. | + | [  vxlan_marking_bit](## "monitor_telemetry_postcard_policy.vxlan_marking_bit") | Integer | | `0` | Min: 0
Max: 31 | | + | [  profiles](## "monitor_telemetry_postcard_policy.profiles") | List, items: Dictionary | | | | Postcard telemetry profile. | + | [    - name](## "monitor_telemetry_postcard_policy.profiles.[].name") | String | Required, Unique | | | Profile name | + | [      ingress_sample_policy](## "monitor_telemetry_postcard_policy.profiles.[].ingress_sample_policy") | String | | | | | + | [  sample_policies](## "monitor_telemetry_postcard_policy.sample_policies") | List, items: Dictionary | | | | | + | [    - name](## "monitor_telemetry_postcard_policy.sample_policies.[].name") | String | Required, Unique | | | | + | [      match_rules](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules") | List, items: Dictionary | | | | | + | [        - name](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].name") | String | Required, Unique | | | | + | [          type](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].type") | String | | | Valid Values:
- ipv4
- ipv6 | IP address version. | + | [          destination_prefix](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].destination_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. | + | [          source_prefix](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].source_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. | + | [          ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].ports") | List, items: Dictionary | | | | | + | [            - protocol](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].ports.[].protocol") | String | Required, Unique | | Valid Values:
- tcp
- udp | TCP/UDP. | + | [              destination_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].ports.[].destination_ports") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"] | + | [              source_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].ports.[].source_ports") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"] | + +=== "YAML" + + ```yaml + monitor_telemetry_postcard_policy: + + # Enable or disable the postcard telemetry feature. + disabled: + ingress: + + # Collector configuration. + collection: + + # Configure source IP address of GRE tunnel. + source: + + # Configure destination IP address of GRE tunnel. + destination: + + # Postcard version + version: + + # Sampling parameters. + sample: + + # Sampling rate. + rate: + + # TCP/UDP checksum or IP ID value. + tcp_udp_checksum: + + # 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unser bits. + mask: + vxlan_marking_bit: + + # Postcard telemetry profile. + profiles: + + # Profile name + - name: + ingress_sample_policy: + sample_policies: + - name: + match_rules: + - name: + + # IP address version. + type: + + # IPv4 Network/Mask or IPv6 Network/Mask. + destination_prefix: + + # IPv4 Network/Mask or IPv6 Network/Mask. + source_prefix: + ports: + + # TCP/UDP. + - protocol: + + # Enter the port name or range or port numbers in a list. + # Example: + # ["12","14-20", "www"] + destination_ports: + + # Enter the port name or range or port numbers in a list. + # Example: + # ["12","14-20", "www"] + source_ports: + ``` diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md deleted file mode 100644 index affe72270ec..00000000000 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard.md +++ /dev/null @@ -1,106 +0,0 @@ - -=== "Table" - - | Variable | Type | Required | Default | Value Restrictions | Description | - | -------- | ---- | -------- | ------- | ------------------ | ----------- | - | [monitor_telemetry_postcard](## "monitor_telemetry_postcard") | Dictionary | | | | | - | [  disabled](## "monitor_telemetry_postcard.disabled") | Boolean | | | | Enable or disable the postcard telemetry feature. | - | [  ingress](## "monitor_telemetry_postcard.ingress") | Dictionary | | | | | - | [    collection](## "monitor_telemetry_postcard.ingress.collection") | Dictionary | | | | Collector configuration. | - | [      source](## "monitor_telemetry_postcard.ingress.collection.source") | String | | | | Configure source IP address of GRE tunnel. | - | [      destination](## "monitor_telemetry_postcard.ingress.collection.destination") | String | | | | Configure destination IP address of GRE tunnel. | - | [      version](## "monitor_telemetry_postcard.ingress.collection.version") | Integer | | | Valid Values:
- 1
- 2 | Postcard version | - | [    sample](## "monitor_telemetry_postcard.ingress.sample") | Dictionary | | | | Configure sampling parameters. | - | [      rate](## "monitor_telemetry_postcard.ingress.sample.rate") | Integer | | | Valid Values:
- 16384
- 32768
- 65536 | Configure sampling rate. | - | [      tcp_udp_checksum](## "monitor_telemetry_postcard.ingress.sample.tcp_udp_checksum") | Integer | | | Min: 0
Max: 65535 | Configure TCP/UDP checksum or IP ID checksum. | - | [  profiles](## "monitor_telemetry_postcard.profiles") | List, items: Dictionary | | | | Configure the postcard telemetry profile. | - | [    - name](## "monitor_telemetry_postcard.profiles.[].name") | String | Required, Unique | | | Profile name | - | [      ingress_sample_policy](## "monitor_telemetry_postcard.profiles.[].ingress_sample_policy") | String | | | | Configure ingress sample policy for the profile. | - | [  sample_policies](## "monitor_telemetry_postcard.sample_policies") | List, items: Dictionary | | | | Configure sample policies. | - | [    - name](## "monitor_telemetry_postcard.sample_policies.[].name") | String | Required, Unique | | | Configure sample policy name. | - | [      match_rules](## "monitor_telemetry_postcard.sample_policies.[].match_rules") | List, items: Dictionary | | | | Configure rules for sample policy. | - | [        - rule_name](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].rule_name") | String | Required, Unique | | | | - | [          type](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].type") | String | | | Valid Values:
- ipv4
- ipv6 | Select the IP address version. | - | [          destination_prefix](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].destination_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. | - | [          source_prefix](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].source_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. | - | [          ports](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].ports") | List, items: Dictionary | | | | | - | [            - protocol](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].ports.[].protocol") | String | | | Valid Values:
- tcp
- udp | Select TCP/UDP. | - | [              destination_port](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].ports.[].destination_port") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"] | - | [              source_port](## "monitor_telemetry_postcard.sample_policies.[].match_rules.[].ports.[].source_port") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"] | - -=== "YAML" - - ```yaml - monitor_telemetry_postcard: - - # Enable or disable the postcard telemetry feature. - disabled: - ingress: - - # Collector configuration. - collection: - - # Configure source IP address of GRE tunnel. - source: - - # Configure destination IP address of GRE tunnel. - destination: - - # Postcard version - version: - - # Configure sampling parameters. - sample: - - # Configure sampling rate. - rate: - - # Configure TCP/UDP checksum or IP ID checksum. - tcp_udp_checksum: - - # Configure the postcard telemetry profile. - profiles: - - # Profile name - - name: - - # Configure ingress sample policy for the profile. - ingress_sample_policy: - - # Configure sample policies. - sample_policies: - - # Configure sample policy name. - - name: - - # Configure rules for sample policy. - match_rules: - - rule_name: - - # Select the IP address version. - type: - - # IPv4 Network/Mask or IPv6 Network/Mask. - destination_prefix: - - # IPv4 Network/Mask or IPv6 Network/Mask. - source_prefix: - ports: - - # Select TCP/UDP. - - protocol: - - # Enter the port name or range or port numbers in a list. - # Example: - # ["12","14-20", "www"] - destination_port: - - # Enter the port name or range or port numbers in a list. - # Example: - # ["12","14-20", "www"] - source_port: - ``` diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index 9645f159e21..08068dddd0c 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -11898,7 +11898,7 @@ }, "title": "Monitor Sessions" }, - "monitor_telemetry_postcard": { + "monitor_telemetry_postcard_policy": { "type": "object", "properties": { "disabled": { @@ -11941,11 +11941,11 @@ }, "sample": { "type": "object", - "description": "Configure sampling parameters.", + "description": "Sampling parameters.", "properties": { "rate": { "type": "integer", - "description": "Configure sampling rate.", + "description": "Sampling rate.", "enum": [ 16384, 32768, @@ -11955,10 +11955,15 @@ }, "tcp_udp_checksum": { "type": "integer", - "description": "Configure TCP/UDP checksum or IP ID checksum.", + "description": "TCP/UDP checksum or IP ID value.", "minimum": 0, "maximum": 65535, "title": "TCP UDP Checksum" + }, + "mask": { + "type": "string", + "description": "16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unser bits.", + "title": "Mask" } }, "additionalProperties": false, @@ -11974,9 +11979,16 @@ }, "title": "Ingress" }, + "vxlan_marking_bit": { + "type": "integer", + "default": 0, + "minimum": 0, + "maximum": 31, + "title": "VxLAN Marking Bit" + }, "profiles": { "type": "array", - "description": "Configure the postcard telemetry profile.", + "description": "Postcard telemetry profile.", "items": { "type": "object", "properties": { @@ -11987,7 +11999,6 @@ }, "ingress_sample_policy": { "type": "string", - "description": "Configure ingress sample policy for the profile.", "title": "Ingress Sample Policy" } }, @@ -12003,28 +12014,25 @@ }, "sample_policies": { "type": "array", - "description": "Configure sample policies.", "items": { "type": "object", "properties": { "name": { "type": "string", - "description": "Configure sample policy name.", "title": "Name" }, "match_rules": { "type": "array", - "description": "Configure rules for sample policy.", "items": { "type": "object", "properties": { - "rule_name": { + "name": { "type": "string", - "title": "Rule Name" + "title": "Name" }, "type": { "type": "string", - "description": "Select the IP address version.", + "description": "IP address version.", "enum": [ "ipv4", "ipv6" @@ -12048,28 +12056,31 @@ "properties": { "protocol": { "type": "string", - "description": "Select TCP/UDP.", + "description": "TCP/UDP.", "enum": [ "tcp", "udp" ], "title": "Protocol" }, - "destination_port": { + "destination_ports": { "type": "array", - "description": "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]", - "title": "Destination Port" + "description": "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]", + "title": "Destination Ports" }, - "source_port": { + "source_ports": { "type": "array", - "description": "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]", - "title": "Source Port" + "description": "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]", + "title": "Source Ports" } }, "additionalProperties": false, "patternProperties": { "^_.+$": {} - } + }, + "required": [ + "protocol" + ] }, "title": "Ports" } @@ -12079,7 +12090,7 @@ "^_.+$": {} }, "required": [ - "rule_name" + "name" ] }, "title": "Match Rules" @@ -12100,7 +12111,7 @@ "patternProperties": { "^_.+$": {} }, - "title": "Monitor Telemetry Postcard" + "title": "Monitor Telemetry Postcard Policy" }, "mpls": { "type": "object", diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index be9903136ca..40b3a633d52 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -6962,7 +6962,7 @@ keys: description: Size in bytes. convert_types: - str - monitor_telemetry_postcard: + monitor_telemetry_postcard_policy: type: dict keys: disabled: @@ -6989,11 +6989,11 @@ keys: - 2 sample: type: dict - description: Configure sampling parameters. + description: Sampling parameters. keys: rate: type: int - description: Configure sampling rate. + description: Sampling rate. convert_types: - str valid_values: @@ -7002,14 +7002,25 @@ keys: - 65536 tcp_udp_checksum: type: int - description: Configure TCP/UDP checksum or IP ID checksum. + description: TCP/UDP checksum or IP ID value. min: 0 max: 65535 convert_types: - str + mask: + type: str + description: 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost + 2 unser bits. + vxlan_marking_bit: + type: int + default: 0 + min: 0 + max: 31 + convert_types: + - str profiles: type: list - description: Configure the postcard telemetry profile. + description: Postcard telemetry profile. primary_key: name items: type: dict @@ -7019,29 +7030,25 @@ keys: description: Profile name ingress_sample_policy: type: str - description: Configure ingress sample policy for the profile. sample_policies: type: list primary_key: name - description: Configure sample policies. items: type: dict keys: name: type: str - description: Configure sample policy name. match_rules: type: list - primary_key: rule_name - description: Configure rules for sample policy. + primary_key: name items: type: dict keys: - rule_name: + name: type: str type: type: str - description: Select the IP address version. + description: IP address version. valid_values: - ipv4 - ipv6 @@ -7053,22 +7060,23 @@ keys: description: IPv4 Network/Mask or IPv6 Network/Mask. ports: type: list + primary_key: protocol items: type: dict keys: protocol: type: str - description: Select TCP/UDP. + description: TCP/UDP. valid_values: - tcp - udp - destination_port: + destination_ports: type: list - description: "Enter the port name or range or port numbers + description: "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]" - source_port: + source_ports: type: list - description: "Enter the port name or range or port numbers + description: "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]" mpls: type: dict diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml similarity index 73% rename from ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml rename to ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml index 2dfcaf4f372..72453b78ab4 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml @@ -1,111 +1,118 @@ -# 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. -# yaml-language-server: $schema=../../../../plugins/plugin_utils/schema/avd_meta_schema.json -# Line above is used by RedHat's YAML Schema vscode extension -# Use Ctrl + Space to get suggestions for every field. Autocomplete will pop up after typing 2 letters. -type: dict -keys: - monitor_telemetry_postcard: - type: dict - keys: - disabled: - type: bool - description: Enable or disable the postcard telemetry feature. - ingress: - type: dict - keys: - collection: - type: dict - description: Collector configuration. - keys: - source: - type: str - description: Configure source IP address of GRE tunnel. - destination: - type: str - description: Configure destination IP address of GRE tunnel. - version: - type: int - description: Postcard version - valid_values: [ 1, 2 ] - sample: - type: dict - description: Configure sampling parameters. - keys: - rate: - type: int - description: Configure sampling rate. - convert_types: - - str - valid_values: [ 16384, 32768, 65536 ] - tcp_udp_checksum: - type: int - description: Configure TCP/UDP checksum or IP ID checksum. - min: 0 - max: 65535 - convert_types: - - str - profiles: - type: list - description: Configure the postcard telemetry profile. - primary_key: name - items: - type: dict - keys: - name: - type: str - description: Profile name - ingress_sample_policy: - type: str - description: Configure ingress sample policy for the profile. - sample_policies: - type: list - primary_key: name - description: Configure sample policies. - items: - type: dict - keys: - name: - type: str - description: Configure sample policy name. - match_rules: - type: list - primary_key: rule_name - description: Configure rules for sample policy. - items: - type: dict - keys: - rule_name: - type: str - type: - type: str - description: Select the IP address version. - valid_values: [ ipv4, ipv6 ] - destination_prefix: - type: str - description: IPv4 Network/Mask or IPv6 Network/Mask. - source_prefix: - type: str - description: IPv4 Network/Mask or IPv6 Network/Mask. - ports: - type: list - items: - type: dict - keys: - protocol: - type: str - description: Select TCP/UDP. - valid_values: [ tcp, udp ] - destination_port: - type: list - description: |- - Enter the port name or range or port numbers in a list. - Example: - ["12","14-20", "www"] - source_port: - type: list - description: |- - Enter the port name or range or port numbers in a list. - Example: - ["12","14-20", "www"] +# 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. +# yaml-language-server: $schema=../../../../plugins/plugin_utils/schema/avd_meta_schema.json +# Line above is used by RedHat's YAML Schema vscode extension +# Use Ctrl + Space to get suggestions for every field. Autocomplete will pop up after typing 2 letters. +type: dict +keys: + monitor_telemetry_postcard_policy: + type: dict + keys: + disabled: + type: bool + description: Enable or disable the postcard telemetry feature. + ingress: + type: dict + keys: + collection: + type: dict + description: Collector configuration. + keys: + source: + type: str + description: Configure source IP address of GRE tunnel. + destination: + type: str + description: Configure destination IP address of GRE tunnel. + version: + type: int + description: Postcard version + valid_values: [ 1, 2 ] + sample: + type: dict + description: Sampling parameters. + keys: + rate: + type: int + description: Sampling rate. + convert_types: + - str + valid_values: [ 16384, 32768, 65536 ] + tcp_udp_checksum: + type: int + description: TCP/UDP checksum or IP ID value. + min: 0 + max: 65535 + convert_types: + - str + mask: + type: str + description: 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unser bits. + vxlan_marking_bit: + type: int + default: 0 + min: 0 + max: 31 + convert_types: + - str + profiles: + type: list + description: Postcard telemetry profile. + primary_key: name + items: + type: dict + keys: + name: + type: str + description: Profile name + ingress_sample_policy: + type: str + sample_policies: + type: list + primary_key: name + items: + type: dict + keys: + name: + type: str + match_rules: + type: list + primary_key: name + items: + type: dict + keys: + name: + type: str + type: + type: str + description: IP address version. + valid_values: [ ipv4, ipv6 ] + destination_prefix: + type: str + description: IPv4 Network/Mask or IPv6 Network/Mask. + source_prefix: + type: str + description: IPv4 Network/Mask or IPv6 Network/Mask. + ports: + type: list + primary_key: protocol + items: + type: dict + keys: + protocol: + type: str + description: TCP/UDP. + valid_values: [ tcp, udp ] + destination_ports: + type: list + description: |- + Enter the port name or range or port numbers in a list. + Example: + ["12","14-20", "www"] + source_ports: + type: list + description: |- + Enter the port name or range or port numbers in a list. + Example: + ["12","14-20", "www"] diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard-policy.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard-policy.j2 new file mode 100644 index 00000000000..5c4bbe019e0 --- /dev/null +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard-policy.j2 @@ -0,0 +1,63 @@ +{# + 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. +#} +{# doc - monitor telemetry postcard policy #} +{% if monitor_telemetry_postcard_policy is arista.avd.defined %} +{% if monitor_telemetry_postcard_policy.sample_policies is arista.avd.defined %} + +### Sample Policy Summary +{% for policy in monitor_telemetry_postcard_policy.sample_policies | arista.avd.natural_sort("name") %} + +#### {{ policy.name }} +{% if policy.match_rules is arista.avd.defined %} + +##### Match rules + +| Rule Name | Rule Type | Source Prefix | Destination Prefix | Protocol | Source Ports | Destination Ports | +| --------- | --------- | ------------- | ------------------ | -------- | ------------ | ----------------- | +{% for rule in policy.match_rules | arista.avd.natural_sort("name") %} +{% set protocol = [] %} +{% set destination_ports = [] %} +{% set source_ports = [] %} +{% for port in rule.ports | arista.avd.natural_sort("protocol") %} +{% do protocol.append(port.protocol) %} +{% if port.source_ports is arista.avd.defined %} +{% do source_ports.append(port.source_ports | join(", ")) %} +{% else %} +{% do source_ports.append("-") %} +{% endif %} +{% if port.destination_ports is arista.avd.defined %} +{% do destination_ports.append(port.destination_ports | join(", ")) %} +{% else %} +{% do destination_ports.append("-") %} +{% endif %} +{% endfor %} +{% if protocol == [] %} +{% do protocol.append("-") %} +{% do source_ports.append("-") %} +{% do destination_ports.append("-") %} +{% endif %} +| {{ rule.name }} | {{ rule.type }} | {{ rule.source_prefix | arista.avd.default("-") }} | {{ rule.destination_prefix | arista.avd.default("-") }} | {{ protocol | join("
") }} | {{ source_ports | join("
") }} | {{ destination_ports | join("
") }} | +{% endfor %} +{% endif %} +{% endfor %} +{% endif %} +{% if monitor_telemetry_postcard_policy.profiles is arista.avd.defined %} + +### Telemetry Postcard Policy Profiles + +| Profile Name | Ingress Sample Policy | +| ------------ | --------------------- | +{% for profile in monitor_telemetry_postcard_policy.profiles | arista.avd.natural_sort("name") %} +| {{ profile.name }} | {{ profile.ingress_sample_policy | arista.avd.default("-") }} | +{% endfor %} +{% endif %} + +### Monitor Telemetry Postcard Configuration + +```eos +{% include 'eos/monitor-telemetry-postcard-policy.j2' %} +``` +{% endif %} diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard.j2 deleted file mode 100644 index 53aa4b4c31b..00000000000 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard.j2 +++ /dev/null @@ -1,14 +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. -#} -{# doc - monitor telemetry postcard #} -{% if monitor_telemetry_postcard is arista.avd.defined %} - -### Monitor Telemetry Postcard Configuration - -```eos -{% include 'eos/monitor-telemetry-postcard.j2' %} -``` -{% endif %} diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitoring.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitoring.j2 index f017d4f5599..a4e1bbae426 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitoring.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitoring.j2 @@ -30,7 +30,7 @@ or flow_tracking is arista.avd.defined or trackers is arista.avd.defined or sflow_interfaces | length > 0 - or monitor_telemetry_postcard is arista.avd.defined %} + or monitor_telemetry_postcard_policy is arista.avd.defined %} ## Monitoring {## TerminAttr Daemon #} @@ -60,5 +60,5 @@ {## Object Tracking #} {% include 'documentation/trackers.j2' %} {## Monitor Telemetry Postcard #} -{% include 'documentation/monitor-telemetry-postcard.j2' %} +{% include 'documentation/monitor-telemetry-postcard-policy.j2' %} {% endif %} diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos-intended-config.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos-intended-config.j2 index f1c14ebd42d..8bf83dda3ea 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos-intended-config.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos-intended-config.j2 @@ -184,7 +184,7 @@ {# Connectivity monitor configuration #} {% include 'eos/monitor-connectivity.j2' %} {# Monitor telemetry postcard #} -{% include 'eos/monitor-telemetry-postcard.j2' %} +{% include 'eos/monitor-telemetry-postcard-policy.j2' %} {# MAC address-table aging #} {% include 'eos/mac-address-table-aging-time.j2' %} {# Router virtual mac address #} diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 new file mode 100644 index 00000000000..3c9fad75845 --- /dev/null +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 @@ -0,0 +1,66 @@ +{# + 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 - monitor telemetry postcard policy #} +{% if monitor_telemetry_postcard_policy is arista.avd.defined %} +! +monitor telemetry postcard policy +{% if monitor_telemetry_postcard_policy.disabled is arista.avd.defined(false) %} + no disabled +{% endif %} +{% if monitor_telemetry_postcard_policy.ingress.sample.rate is arista.avd.defined %} + ingress sample rate {{ monitor_telemetry_postcard_policy.ingress.sample.rate }} +{% elif monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum is arista.avd.defined %} + ingress sample tcp-udp-checksum {{ monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum }} +{% endif %} +{% if monitor_telemetry_postcard_policy.vxlan_marking_bit is arista.avd.defined %} + marker vxlan header word 0 bit {{ monitor_telemetry_postcard_policy.vxlan_marking_bit | arista.avd.default(0) }} +{% endif %} +{% if monitor_telemetry_postcard_policy.ingress is arista.avd.defined %} +{% if monitor_telemetry_postcard_policy.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard_policy.ingress.collection.destination is arista.avd.defined %} +{% set ingress_cli = "ingress collection gre source " ~ monitor_telemetry_postcard_policy.ingress.collection.source ~ " destination " ~ monitor_telemetry_postcard_policy.ingress.collection.destination %} +{% if monitor_telemetry_postcard_policy.ingress.collection.version is arista.avd.defined(2) %} + {{ ingress_cli }} version 2 +{% elif monitor_telemetry_postcard_policy.ingress.collection.version | arista.avd.default(1) is arista.avd.defined %} + {{ ingress_cli }} +{% endif %} +{% endif %} +{% endif %} + ! +{% for policy in monitor_telemetry_postcard_policy.sample_policies | arista.avd.natural_sort("name") %} + sample policy {{ policy.name }} +{% for rule in policy.match_rules | arista.avd.natural_sort("name") %} +{% if rule.type is arista.avd.defined %} + match {{ rule.name }} {{ rule.type }} +{% if rule.destination_prefix is arista.avd.defined %} + destination prefix {{ rule.destination_prefix }} +{% endif %} +{% if rule.source_prefix is arista.avd.defined %} + source prefix {{ rule.source_prefix }} +{% endif %} +{% for port in rule.ports | arista.avd.natural_sort('protocol') %} +{% if port.protocol is arista.avd.defined %} +{% set rule_cli = "protocol " ~ port.protocol %} +{% for dest_port in port.destination_ports | sort(reverse = True) %} + {{ rule_cli }} destination port {{ dest_port }} +{% endfor %} +{% for src_port in port.source_ports | arista.avd.natural_sort(reverse) %} + {{ rule_cli }} source port {{ src_port }} +{% endfor %} +{% endif %} +{% endfor %} +{% endif %} + ! +{% endfor %} + ! +{% endfor %} +{% for profile in monitor_telemetry_postcard_policy.profiles | arista.avd.natural_sort("name") %} + profile {{ profile.name }} +{% if profile.ingress_sample_policy is arista.avd.defined %} + ingress sample policy {{ profile.ingress_sample_policy }} +{% endif %} + ! +{% endfor %} +{% endif %} diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 deleted file mode 100644 index 281fbd2ea7a..00000000000 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard.j2 +++ /dev/null @@ -1,76 +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 - monitor telemetry postcard #} -{% if monitor_telemetry_postcard is arista.avd.defined %} -! -monitor telemetry postcard policy -{% if monitor_telemetry_postcard.disabled is arista.avd.defined(false) %} - no disabled -{% endif %} -{% if monitor_telemetry_postcard.ingress is arista.avd.defined %} -{% if monitor_telemetry_postcard.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard.ingress.collection.destination is arista.avd.defined %} -{% set ingress_cli = "ingress collection gre source " ~ monitor_telemetry_postcard.ingress.collection.source ~ " destination " ~ monitor_telemetry_postcard.ingress.collection.destination %} -{% if monitor_telemetry_postcard.ingress.collection.version is arista.avd.defined(2) %} - {{ ingress_cli }} version 2 -{% elif monitor_telemetry_postcard.ingress.collection.version | arista.avd.default(1) is arista.avd.defined %} - {{ ingress_cli }} -{% endif %} -{% endif %} -{% endif %} -{% if monitor_telemetry_postcard.ingress.sample.rate is arista.avd.defined %} - ingress sample rate {{ monitor_telemetry_postcard.ingress.sample.rate }} -{% endif %} -{% if monitor_telemetry_postcard.ingress.sample.tcp_udp_checksum is arista.avd.defined %} - ingress sample tcp-udp-checksum {{ monitor_telemetry_postcard.ingress.sample.tcp_udp_checksum }} -{% endif %} -{% if monitor_telemetry_postcard.sample_policies is arista.avd.defined %} -{% for policy in monitor_telemetry_postcard.sample_policies | arista.avd.natural_sort("name") %} -{% if policy.name is arista.avd.defined %} - sample policy {{ policy.name }} -{% if policy.match_rules is arista.avd.defined %} -{% for rule in policy.match_rules | arista.avd.natural_sort("rule_name") %} -{% if rule.type is arista.avd.defined and rule.rule_name is arista.avd.defined %} - match {{ rule.rule_name }} {{ rule.type }} -{% if rule.destination_prefix is arista.avd.defined %} - destination prefix {{ rule.destination_prefix }} -{% endif %} -{% if rule.source_prefix is arista.avd.defined %} - source prefix {{ rule.source_prefix }} -{% endif %} -{% if rule.ports is arista.avd.defined %} -{% for port in rule.ports | arista.avd.natural_sort('protocol') %} -{% if port.protocol is arista.avd.defined %} -{% set rule_cli = "protocol " ~ port.protocol %} -{% if port.destination_port is arista.avd.defined %} -{% for dest_port in port.destination_port | sort(reverse = True) %} - {{ rule_cli }} destination port {{ dest_port }} -{% endfor %} -{% endif %} -{% if port.source_port is arista.avd.defined %} -{% for src_port in port.source_port | sort(reverse = True) %} - {{ rule_cli }} source port {{ src_port }} -{% endfor %} -{% endif %} -{% endif %} -{% endfor %} -{% endif %} -{% endif %} -{% endfor %} -{% endif %} -{% endif %} -{% endfor %} -{% endif %} -{% if monitor_telemetry_postcard.profiles is arista.avd.defined %} -{% for profile in monitor_telemetry_postcard.profiles | arista.avd.natural_sort("name") %} -{% if profile.name is arista.avd.defined %} - profile {{ profile.name }} -{% if profile.ingress_sample_policy is arista.avd.defined %} - ingress sample policy {{ profile.ingress_sample_policy }} -{% endif %} -{% endif %} -{% endfor %} -{% endif %} -{% endif %} diff --git a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json index 9979557457a..423e77cc541 100644 --- a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json @@ -27916,7 +27916,7 @@ }, "title": "Monitor Sessions" }, - "monitor_telemetry_postcard": { + "monitor_telemetry_postcard_policy": { "type": "object", "properties": { "disabled": { @@ -27959,11 +27959,11 @@ }, "sample": { "type": "object", - "description": "Configure sampling parameters.", + "description": "Sampling parameters.", "properties": { "rate": { "type": "integer", - "description": "Configure sampling rate.", + "description": "Sampling rate.", "enum": [ 16384, 32768, @@ -27973,10 +27973,15 @@ }, "tcp_udp_checksum": { "type": "integer", - "description": "Configure TCP/UDP checksum or IP ID checksum.", + "description": "TCP/UDP checksum or IP ID value.", "minimum": 0, "maximum": 65535, "title": "TCP UDP Checksum" + }, + "mask": { + "type": "string", + "description": "16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unser bits.", + "title": "Mask" } }, "additionalProperties": false, @@ -27992,9 +27997,16 @@ }, "title": "Ingress" }, + "vxlan_marking_bit": { + "type": "integer", + "default": 0, + "minimum": 0, + "maximum": 31, + "title": "VxLAN Marking Bit" + }, "profiles": { "type": "array", - "description": "Configure the postcard telemetry profile.", + "description": "Postcard telemetry profile.", "items": { "type": "object", "properties": { @@ -28005,7 +28017,6 @@ }, "ingress_sample_policy": { "type": "string", - "description": "Configure ingress sample policy for the profile.", "title": "Ingress Sample Policy" } }, @@ -28021,28 +28032,25 @@ }, "sample_policies": { "type": "array", - "description": "Configure sample policies.", "items": { "type": "object", "properties": { "name": { "type": "string", - "description": "Configure sample policy name.", "title": "Name" }, "match_rules": { "type": "array", - "description": "Configure rules for sample policy.", "items": { "type": "object", "properties": { - "rule_name": { + "name": { "type": "string", - "title": "Rule Name" + "title": "Name" }, "type": { "type": "string", - "description": "Select the IP address version.", + "description": "IP address version.", "enum": [ "ipv4", "ipv6" @@ -28066,28 +28074,31 @@ "properties": { "protocol": { "type": "string", - "description": "Select TCP/UDP.", + "description": "TCP/UDP.", "enum": [ "tcp", "udp" ], "title": "Protocol" }, - "destination_port": { + "destination_ports": { "type": "array", - "description": "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]", - "title": "Destination Port" + "description": "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]", + "title": "Destination Ports" }, - "source_port": { + "source_ports": { "type": "array", - "description": "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]", - "title": "Source Port" + "description": "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]", + "title": "Source Ports" } }, "additionalProperties": false, "patternProperties": { "^_.+$": {} - } + }, + "required": [ + "protocol" + ] }, "title": "Ports" } @@ -28097,7 +28108,7 @@ "^_.+$": {} }, "required": [ - "rule_name" + "name" ] }, "title": "Match Rules" @@ -28118,7 +28129,7 @@ "patternProperties": { "^_.+$": {} }, - "title": "Monitor Telemetry Postcard" + "title": "Monitor Telemetry Postcard Policy" }, "mpls": { "type": "object", From 13021ffdaac70131db062fab9c88c0348840aa4e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 7 May 2024 09:32:25 +0000 Subject: [PATCH 22/44] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- .../documentation/monitor-telemetry-postcard-policy.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard-policy.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard-policy.j2 index 5c4bbe019e0..b7c9c6b9fe4 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard-policy.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard-policy.j2 @@ -31,7 +31,7 @@ {% if port.destination_ports is arista.avd.defined %} {% do destination_ports.append(port.destination_ports | join(", ")) %} {% else %} -{% do destination_ports.append("-") %} +{% do destination_ports.append("-") %} {% endif %} {% endfor %} {% if protocol == [] %} From a589237571a6ae2fb91687f45f11078a5200efc7 Mon Sep 17 00:00:00 2001 From: laxmikant Date: Tue, 7 May 2024 15:49:57 +0530 Subject: [PATCH 23/44] Fixing CI issues. --- .../monitor-telemetry-postcard-policy.yml | 124 ++++----- .../monitor-telemetry-postcard-policy.md | 24 +- .../eos_cli_config_gen.jsonschema.json | 44 ++-- .../schemas/eos_cli_config_gen.schema.yml | 30 ++- ...nitor_telemetry_postcard_policy.schema.yml | 241 +++++++++--------- .../monitor-telemetry-postcard-policy.j2 | 126 ++++----- .../eos/monitor-telemetry-postcard-policy.j2 | 132 +++++----- .../schemas/eos_designs.jsonschema.json | 44 ++-- 8 files changed, 403 insertions(+), 362 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml index 4db28f3a619..5d92e23db1f 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml @@ -1,61 +1,63 @@ -monitor_telemetry_postcard_policy: - disabled: false - ingress: - collection: - source: 10.3.3.3 - destination: 10.3.3.4 - version: 2 - sample: - rate: 16384 - tcp_udp_checksum: 65000 - vxlan_marking_bit: 0 - profiles: - - name: profile1 - ingress_sample_policy: samplepo1 - - name: profile2 - ingress_sample_policy: samplepo2 - sample_policies: - - name: samplepo1 - match_rules: - - name: rule1 - type: ipv4 - destination_prefix: 10.3.3.0/24 - source_prefix: 3.4.5.0/24 - ports: - - protocol: tcp - destination_ports: - - '77' - - 78-80 - - www - - protocol: udp - destination_ports: - - "99" - source_ports: - - "98" - - name: rule2 - type: ipv6 - destination_prefix: 4::0/128 - source_prefix: 5::0/128 - ports: - - protocol: udp - destination_ports: - - '747' - - 748-800 - - ssh - - name: rule3 - type: ipv4 - - name: samplepo2 - match_rules: - - name: rule1 - type: ipv4 - destination_prefix: 10.3.3.0/24 - source_prefix: 3.4.5.0/24 - ports: - - protocol: udp - source_ports: - - '77' - - 78-80 - - www - destination_ports: - - '88' - - www +monitor_telemetry_postcard_policy: + disabled: false + ingress: + collection: + source: 10.3.3.3 + destination: 10.3.3.4 + version: 2 + sample: + rate: 16384 + tcp_udp: + checksum: 65000 + mask: "0xffff" + vxlan_marking_bit: 0 + profiles: + - name: profile1 + ingress_sample_policy: samplepo1 + - name: profile2 + ingress_sample_policy: samplepo2 + sample_policies: + - name: samplepo1 + match_rules: + - name: rule1 + type: ipv4 + destination_prefix: 10.3.3.0/24 + source_prefix: 3.4.5.0/24 + ports: + - protocol: tcp + destination_ports: + - '77' + - 78-80 + - www + - protocol: udp + destination_ports: + - "99" + source_ports: + - "98" + - name: rule2 + type: ipv6 + destination_prefix: 4::0/128 + source_prefix: 5::0/128 + ports: + - protocol: udp + destination_ports: + - '747' + - 748-800 + - ssh + - name: rule3 + type: ipv4 + - name: samplepo2 + match_rules: + - name: rule1 + type: ipv4 + destination_prefix: 10.3.3.0/24 + source_prefix: 3.4.5.0/24 + ports: + - protocol: udp + source_ports: + - '77' + - 78-80 + - www + destination_ports: + - '88' + - www diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md index 65a61b991aa..af9a8467987 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md @@ -15,9 +15,10 @@ | [      destination](## "monitor_telemetry_postcard_policy.ingress.collection.destination") | String | | | | Configure destination IP address of GRE tunnel. | | [      version](## "monitor_telemetry_postcard_policy.ingress.collection.version") | Integer | | | Valid Values:
- 1
- 2 | Postcard version | | [    sample](## "monitor_telemetry_postcard_policy.ingress.sample") | Dictionary | | | | Sampling parameters. | - | [      rate](## "monitor_telemetry_postcard_policy.ingress.sample.rate") | Integer | | | Valid Values:
- 16384
- 32768
- 65536 | Sampling rate. | - | [      tcp_udp_checksum](## "monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum") | Integer | | | Min: 0
Max: 65535 | TCP/UDP checksum or IP ID value. | - | [      mask](## "monitor_telemetry_postcard_policy.ingress.sample.mask") | String | | | | 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unser bits. | + | [      rate](## "monitor_telemetry_postcard_policy.ingress.sample.rate") | Integer | | | Valid Values:
- 16384
- 32768
- 65536 | Sampling rate. Rate is preferred when both rate and tcp_udp is defined. | + | [      tcp_udp](## "monitor_telemetry_postcard_policy.ingress.sample.tcp_udp") | Dictionary | | | | TCP/UDP parameters. | + | [        checksum](## "monitor_telemetry_postcard_policy.ingress.sample.tcp_udp.checksum") | Integer | | | Min: 0
Max: 65535 | TCP/UDP checksum or IP ID value. | + | [        mask](## "monitor_telemetry_postcard_policy.ingress.sample.tcp_udp.mask") | String | | | | 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unser bits. | | [  vxlan_marking_bit](## "monitor_telemetry_postcard_policy.vxlan_marking_bit") | Integer | | `0` | Min: 0
Max: 31 | | | [  profiles](## "monitor_telemetry_postcard_policy.profiles") | List, items: Dictionary | | | | Postcard telemetry profile. | | [    - name](## "monitor_telemetry_postcard_policy.profiles.[].name") | String | Required, Unique | | | Profile name | @@ -26,7 +27,7 @@ | [    - name](## "monitor_telemetry_postcard_policy.sample_policies.[].name") | String | Required, Unique | | | | | [      match_rules](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules") | List, items: Dictionary | | | | | | [        - name](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].name") | String | Required, Unique | | | | - | [          type](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].type") | String | | | Valid Values:
- ipv4
- ipv6 | IP address version. | + | [          type](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].type") | String | Required | | Valid Values:
- ipv4
- ipv6 | IP address version. | | [          destination_prefix](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].destination_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. | | [          source_prefix](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].source_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. | | [          ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].ports") | List, items: Dictionary | | | | | @@ -58,14 +59,17 @@ # Sampling parameters. sample: - # Sampling rate. + # Sampling rate. Rate is preferred when both rate and tcp_udp is defined. rate: - # TCP/UDP checksum or IP ID value. - tcp_udp_checksum: + # TCP/UDP parameters. + tcp_udp: - # 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unser bits. - mask: + # TCP/UDP checksum or IP ID value. + checksum: + + # 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unser bits. + mask: vxlan_marking_bit: # Postcard telemetry profile. @@ -80,7 +84,7 @@ - name: # IP address version. - type: + type: # IPv4 Network/Mask or IPv6 Network/Mask. destination_prefix: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index 08068dddd0c..8d07f15feeb 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -11945,7 +11945,7 @@ "properties": { "rate": { "type": "integer", - "description": "Sampling rate.", + "description": "Sampling rate. Rate is preferred when both rate and tcp_udp is defined.", "enum": [ 16384, 32768, @@ -11953,17 +11953,28 @@ ], "title": "Rate" }, - "tcp_udp_checksum": { - "type": "integer", - "description": "TCP/UDP checksum or IP ID value.", - "minimum": 0, - "maximum": 65535, - "title": "TCP UDP Checksum" - }, - "mask": { - "type": "string", - "description": "16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unser bits.", - "title": "Mask" + "tcp_udp": { + "type": "object", + "description": "TCP/UDP parameters.", + "properties": { + "checksum": { + "type": "integer", + "description": "TCP/UDP checksum or IP ID value.", + "minimum": 0, + "maximum": 65535, + "title": "Checksum" + }, + "mask": { + "type": "string", + "description": "16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unser bits.", + "title": "Mask" + } + }, + "additionalProperties": false, + "patternProperties": { + "^_.+$": {} + }, + "title": "TCP UDP" } }, "additionalProperties": false, @@ -12085,13 +12096,14 @@ "title": "Ports" } }, + "required": [ + "type", + "name" + ], "additionalProperties": false, "patternProperties": { "^_.+$": {} - }, - "required": [ - "name" - ] + } }, "title": "Match Rules" } diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index 40b3a633d52..7fd7c9571db 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -6993,24 +6993,29 @@ keys: keys: rate: type: int - description: Sampling rate. + description: Sampling rate. Rate is preferred when both rate and tcp_udp + is defined. convert_types: - str valid_values: - 16384 - 32768 - 65536 - tcp_udp_checksum: - type: int - description: TCP/UDP checksum or IP ID value. - min: 0 - max: 65535 - convert_types: - - str - mask: - type: str - description: 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost - 2 unser bits. + tcp_udp: + type: dict + description: TCP/UDP parameters. + keys: + checksum: + type: int + description: TCP/UDP checksum or IP ID value. + min: 0 + max: 65535 + convert_types: + - str + mask: + type: str + description: 16 bit hexadecimal mask for TCP/UDP or IP ID with + atmost 2 unser bits. vxlan_marking_bit: type: int default: 0 @@ -7049,6 +7054,7 @@ keys: type: type: str description: IP address version. + required: true valid_values: - ipv4 - ipv6 diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml index 72453b78ab4..5322897046a 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml @@ -1,118 +1,123 @@ -# 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. -# yaml-language-server: $schema=../../../../plugins/plugin_utils/schema/avd_meta_schema.json -# Line above is used by RedHat's YAML Schema vscode extension -# Use Ctrl + Space to get suggestions for every field. Autocomplete will pop up after typing 2 letters. -type: dict -keys: - monitor_telemetry_postcard_policy: - type: dict - keys: - disabled: - type: bool - description: Enable or disable the postcard telemetry feature. - ingress: - type: dict - keys: - collection: - type: dict - description: Collector configuration. - keys: - source: - type: str - description: Configure source IP address of GRE tunnel. - destination: - type: str - description: Configure destination IP address of GRE tunnel. - version: - type: int - description: Postcard version - valid_values: [ 1, 2 ] - sample: - type: dict - description: Sampling parameters. - keys: - rate: - type: int - description: Sampling rate. - convert_types: - - str - valid_values: [ 16384, 32768, 65536 ] - tcp_udp_checksum: - type: int - description: TCP/UDP checksum or IP ID value. - min: 0 - max: 65535 - convert_types: - - str - mask: - type: str - description: 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unser bits. - vxlan_marking_bit: - type: int - default: 0 - min: 0 - max: 31 - convert_types: - - str - profiles: - type: list - description: Postcard telemetry profile. - primary_key: name - items: - type: dict - keys: - name: - type: str - description: Profile name - ingress_sample_policy: - type: str - sample_policies: - type: list - primary_key: name - items: - type: dict - keys: - name: - type: str - match_rules: - type: list - primary_key: name - items: - type: dict - keys: - name: - type: str - type: - type: str - description: IP address version. - valid_values: [ ipv4, ipv6 ] - destination_prefix: - type: str - description: IPv4 Network/Mask or IPv6 Network/Mask. - source_prefix: - type: str - description: IPv4 Network/Mask or IPv6 Network/Mask. - ports: - type: list - primary_key: protocol - items: - type: dict - keys: - protocol: - type: str - description: TCP/UDP. - valid_values: [ tcp, udp ] - destination_ports: - type: list - description: |- - Enter the port name or range or port numbers in a list. - Example: - ["12","14-20", "www"] - source_ports: - type: list - description: |- - Enter the port name or range or port numbers in a list. - Example: - ["12","14-20", "www"] +# 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. +# yaml-language-server: $schema=../../../../plugins/plugin_utils/schema/avd_meta_schema.json +# Line above is used by RedHat's YAML Schema vscode extension +# Use Ctrl + Space to get suggestions for every field. Autocomplete will pop up after typing 2 letters. +type: dict +keys: + monitor_telemetry_postcard_policy: + type: dict + keys: + disabled: + type: bool + description: Enable or disable the postcard telemetry feature. + ingress: + type: dict + keys: + collection: + type: dict + description: Collector configuration. + keys: + source: + type: str + description: Configure source IP address of GRE tunnel. + destination: + type: str + description: Configure destination IP address of GRE tunnel. + version: + type: int + description: Postcard version + valid_values: [ 1, 2 ] + sample: + type: dict + description: Sampling parameters. + keys: + rate: + type: int + description: Sampling rate. Rate is preferred when both rate and tcp_udp is defined. + convert_types: + - str + valid_values: [ 16384, 32768, 65536 ] + tcp_udp: + type: dict + description: TCP/UDP parameters. + keys: + checksum: + type: int + description: TCP/UDP checksum or IP ID value. + min: 0 + max: 65535 + convert_types: + - str + mask: + type: str + description: 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unser bits. + vxlan_marking_bit: + type: int + default: 0 + min: 0 + max: 31 + convert_types: + - str + profiles: + type: list + description: Postcard telemetry profile. + primary_key: name + items: + type: dict + keys: + name: + type: str + description: Profile name + ingress_sample_policy: + type: str + sample_policies: + type: list + primary_key: name + items: + type: dict + keys: + name: + type: str + match_rules: + type: list + primary_key: name + items: + type: dict + keys: + name: + type: str + type: + type: str + description: IP address version. + required: true + valid_values: [ ipv4, ipv6 ] + destination_prefix: + type: str + description: IPv4 Network/Mask or IPv6 Network/Mask. + source_prefix: + type: str + description: IPv4 Network/Mask or IPv6 Network/Mask. + ports: + type: list + primary_key: protocol + items: + type: dict + keys: + protocol: + type: str + description: TCP/UDP. + valid_values: [ tcp, udp ] + destination_ports: + type: list + description: |- + Enter the port name or range or port numbers in a list. + Example: + ["12","14-20", "www"] + source_ports: + type: list + description: |- + Enter the port name or range or port numbers in a list. + Example: + ["12","14-20", "www"] diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard-policy.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard-policy.j2 index b7c9c6b9fe4..ab539f79d5d 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard-policy.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard-policy.j2 @@ -1,63 +1,63 @@ -{# - 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. -#} -{# doc - monitor telemetry postcard policy #} -{% if monitor_telemetry_postcard_policy is arista.avd.defined %} -{% if monitor_telemetry_postcard_policy.sample_policies is arista.avd.defined %} - -### Sample Policy Summary -{% for policy in monitor_telemetry_postcard_policy.sample_policies | arista.avd.natural_sort("name") %} - -#### {{ policy.name }} -{% if policy.match_rules is arista.avd.defined %} - -##### Match rules - -| Rule Name | Rule Type | Source Prefix | Destination Prefix | Protocol | Source Ports | Destination Ports | -| --------- | --------- | ------------- | ------------------ | -------- | ------------ | ----------------- | -{% for rule in policy.match_rules | arista.avd.natural_sort("name") %} -{% set protocol = [] %} -{% set destination_ports = [] %} -{% set source_ports = [] %} -{% for port in rule.ports | arista.avd.natural_sort("protocol") %} -{% do protocol.append(port.protocol) %} -{% if port.source_ports is arista.avd.defined %} -{% do source_ports.append(port.source_ports | join(", ")) %} -{% else %} -{% do source_ports.append("-") %} -{% endif %} -{% if port.destination_ports is arista.avd.defined %} -{% do destination_ports.append(port.destination_ports | join(", ")) %} -{% else %} -{% do destination_ports.append("-") %} -{% endif %} -{% endfor %} -{% if protocol == [] %} -{% do protocol.append("-") %} -{% do source_ports.append("-") %} -{% do destination_ports.append("-") %} -{% endif %} -| {{ rule.name }} | {{ rule.type }} | {{ rule.source_prefix | arista.avd.default("-") }} | {{ rule.destination_prefix | arista.avd.default("-") }} | {{ protocol | join("
") }} | {{ source_ports | join("
") }} | {{ destination_ports | join("
") }} | -{% endfor %} -{% endif %} -{% endfor %} -{% endif %} -{% if monitor_telemetry_postcard_policy.profiles is arista.avd.defined %} - -### Telemetry Postcard Policy Profiles - -| Profile Name | Ingress Sample Policy | -| ------------ | --------------------- | -{% for profile in monitor_telemetry_postcard_policy.profiles | arista.avd.natural_sort("name") %} -| {{ profile.name }} | {{ profile.ingress_sample_policy | arista.avd.default("-") }} | -{% endfor %} -{% endif %} - -### Monitor Telemetry Postcard Configuration - -```eos -{% include 'eos/monitor-telemetry-postcard-policy.j2' %} -``` -{% endif %} +{# + 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. +#} +{# doc - monitor telemetry postcard policy #} +{% if monitor_telemetry_postcard_policy is arista.avd.defined %} +{% if monitor_telemetry_postcard_policy.sample_policies is arista.avd.defined %} + +### Sample Policy Summary +{% for policy in monitor_telemetry_postcard_policy.sample_policies | arista.avd.natural_sort("name") %} + +#### {{ policy.name }} +{% if policy.match_rules is arista.avd.defined %} + +##### Match rules + +| Rule Name | Rule Type | Source Prefix | Destination Prefix | Protocol | Source Ports | Destination Ports | +| --------- | --------- | ------------- | ------------------ | -------- | ------------ | ----------------- | +{% for rule in policy.match_rules | arista.avd.natural_sort("name") %} +{% set protocol = [] %} +{% set destination_ports = [] %} +{% set source_ports = [] %} +{% for port in rule.ports | arista.avd.natural_sort("protocol") %} +{% do protocol.append(port.protocol) %} +{% if port.source_ports is arista.avd.defined %} +{% do source_ports.append(port.source_ports | join(", ")) %} +{% else %} +{% do source_ports.append("-") %} +{% endif %} +{% if port.destination_ports is arista.avd.defined %} +{% do destination_ports.append(port.destination_ports | join(", ")) %} +{% else %} +{% do destination_ports.append("-") %} +{% endif %} +{% endfor %} +{% if protocol == [] %} +{% do protocol.append("-") %} +{% do source_ports.append("-") %} +{% do destination_ports.append("-") %} +{% endif %} +| {{ rule.name }} | {{ rule.type }} | {{ rule.source_prefix | arista.avd.default("-") }} | {{ rule.destination_prefix | arista.avd.default("-") }} | {{ protocol | join("
") }} | {{ source_ports | join("
") }} | {{ destination_ports | join("
") }} | +{% endfor %} +{% endif %} +{% endfor %} +{% endif %} +{% if monitor_telemetry_postcard_policy.profiles is arista.avd.defined %} + +### Telemetry Postcard Policy Profiles + +| Profile Name | Ingress Sample Policy | +| ------------ | --------------------- | +{% for profile in monitor_telemetry_postcard_policy.profiles | arista.avd.natural_sort("name") %} +| {{ profile.name }} | {{ profile.ingress_sample_policy | arista.avd.default("-") }} | +{% endfor %} +{% endif %} + +### Monitor Telemetry Postcard Configuration + +```eos +{% include 'eos/monitor-telemetry-postcard-policy.j2' %} +``` +{% endif %} diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 index 3c9fad75845..b9da1a7b8ba 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 @@ -1,66 +1,66 @@ -{# - 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 - monitor telemetry postcard policy #} -{% if monitor_telemetry_postcard_policy is arista.avd.defined %} -! -monitor telemetry postcard policy -{% if monitor_telemetry_postcard_policy.disabled is arista.avd.defined(false) %} - no disabled -{% endif %} -{% if monitor_telemetry_postcard_policy.ingress.sample.rate is arista.avd.defined %} - ingress sample rate {{ monitor_telemetry_postcard_policy.ingress.sample.rate }} -{% elif monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum is arista.avd.defined %} - ingress sample tcp-udp-checksum {{ monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum }} -{% endif %} -{% if monitor_telemetry_postcard_policy.vxlan_marking_bit is arista.avd.defined %} - marker vxlan header word 0 bit {{ monitor_telemetry_postcard_policy.vxlan_marking_bit | arista.avd.default(0) }} -{% endif %} -{% if monitor_telemetry_postcard_policy.ingress is arista.avd.defined %} -{% if monitor_telemetry_postcard_policy.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard_policy.ingress.collection.destination is arista.avd.defined %} -{% set ingress_cli = "ingress collection gre source " ~ monitor_telemetry_postcard_policy.ingress.collection.source ~ " destination " ~ monitor_telemetry_postcard_policy.ingress.collection.destination %} -{% if monitor_telemetry_postcard_policy.ingress.collection.version is arista.avd.defined(2) %} - {{ ingress_cli }} version 2 -{% elif monitor_telemetry_postcard_policy.ingress.collection.version | arista.avd.default(1) is arista.avd.defined %} - {{ ingress_cli }} -{% endif %} -{% endif %} -{% endif %} - ! -{% for policy in monitor_telemetry_postcard_policy.sample_policies | arista.avd.natural_sort("name") %} - sample policy {{ policy.name }} -{% for rule in policy.match_rules | arista.avd.natural_sort("name") %} -{% if rule.type is arista.avd.defined %} - match {{ rule.name }} {{ rule.type }} -{% if rule.destination_prefix is arista.avd.defined %} - destination prefix {{ rule.destination_prefix }} -{% endif %} -{% if rule.source_prefix is arista.avd.defined %} - source prefix {{ rule.source_prefix }} -{% endif %} -{% for port in rule.ports | arista.avd.natural_sort('protocol') %} -{% if port.protocol is arista.avd.defined %} -{% set rule_cli = "protocol " ~ port.protocol %} -{% for dest_port in port.destination_ports | sort(reverse = True) %} - {{ rule_cli }} destination port {{ dest_port }} -{% endfor %} -{% for src_port in port.source_ports | arista.avd.natural_sort(reverse) %} - {{ rule_cli }} source port {{ src_port }} -{% endfor %} -{% endif %} -{% endfor %} -{% endif %} - ! -{% endfor %} - ! -{% endfor %} -{% for profile in monitor_telemetry_postcard_policy.profiles | arista.avd.natural_sort("name") %} - profile {{ profile.name }} -{% if profile.ingress_sample_policy is arista.avd.defined %} - ingress sample policy {{ profile.ingress_sample_policy }} -{% endif %} - ! -{% endfor %} -{% endif %} +{# + 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 - monitor telemetry postcard policy #} +{% if monitor_telemetry_postcard_policy is arista.avd.defined %} +! +monitor telemetry postcard policy +{% if monitor_telemetry_postcard_policy.disabled is arista.avd.defined(false) %} + no disabled +{% endif %} +{% if monitor_telemetry_postcard_policy.ingress.sample.rate is arista.avd.defined %} + ingress sample rate {{ monitor_telemetry_postcard_policy.ingress.sample.rate }} +{% elif monitor_telemetry_postcard_policy.ingress.sample.tcp_udp.checksum is arista.avd.defined and monitor_telemetry_postcard_policy.ingress.sample.tcp_udp.mask is arista.avd.defined %} + ingress sample tcp-udp-checksum value {{ monitor_telemetry_postcard_policy.ingress.sample.tcp_udp.checksum }} mask {{ monitor_telemetry_postcard_policy.ingress.sample.tcp_udp.mask }} +{% endif %} +{% if monitor_telemetry_postcard_policy.vxlan_marking_bit is arista.avd.defined %} + marker vxlan header word 0 bit {{ monitor_telemetry_postcard_policy.vxlan_marking_bit | arista.avd.default(0) }} +{% endif %} +{% if monitor_telemetry_postcard_policy.ingress is arista.avd.defined %} +{% if monitor_telemetry_postcard_policy.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard_policy.ingress.collection.destination is arista.avd.defined %} +{% set ingress_cli = "ingress collection gre source " ~ monitor_telemetry_postcard_policy.ingress.collection.source ~ " destination " ~ monitor_telemetry_postcard_policy.ingress.collection.destination %} +{% if monitor_telemetry_postcard_policy.ingress.collection.version is arista.avd.defined(2) %} + {{ ingress_cli }} version 2 +{% elif monitor_telemetry_postcard_policy.ingress.collection.version | arista.avd.default(1) is arista.avd.defined %} + {{ ingress_cli }} +{% endif %} +{% endif %} +{% endif %} + ! +{% for policy in monitor_telemetry_postcard_policy.sample_policies | arista.avd.natural_sort("name") %} + sample policy {{ policy.name }} +{% for rule in policy.match_rules | arista.avd.natural_sort("name") %} +{% if rule.type is arista.avd.defined %} + match {{ rule.name }} {{ rule.type }} +{% if rule.destination_prefix is arista.avd.defined %} + destination prefix {{ rule.destination_prefix }} +{% endif %} +{% if rule.source_prefix is arista.avd.defined %} + source prefix {{ rule.source_prefix }} +{% endif %} +{% for port in rule.ports | arista.avd.natural_sort('protocol') %} +{% if port.protocol is arista.avd.defined %} +{% set rule_cli = "protocol " ~ port.protocol %} +{% for dest_port in port.destination_ports | sort(reverse = True) %} + {{ rule_cli }} destination port {{ dest_port }} +{% endfor %} +{% for src_port in port.source_ports | arista.avd.natural_sort(reverse) %} + {{ rule_cli }} source port {{ src_port }} +{% endfor %} +{% endif %} +{% endfor %} +{% endif %} + ! +{% endfor %} + ! +{% endfor %} +{% for profile in monitor_telemetry_postcard_policy.profiles | arista.avd.natural_sort("name") %} + profile {{ profile.name }} +{% if profile.ingress_sample_policy is arista.avd.defined %} + ingress sample policy {{ profile.ingress_sample_policy }} +{% endif %} + ! +{% endfor %} +{% endif %} diff --git a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json index 423e77cc541..06f026fa924 100644 --- a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json @@ -27963,7 +27963,7 @@ "properties": { "rate": { "type": "integer", - "description": "Sampling rate.", + "description": "Sampling rate. Rate is preferred when both rate and tcp_udp is defined.", "enum": [ 16384, 32768, @@ -27971,17 +27971,28 @@ ], "title": "Rate" }, - "tcp_udp_checksum": { - "type": "integer", - "description": "TCP/UDP checksum or IP ID value.", - "minimum": 0, - "maximum": 65535, - "title": "TCP UDP Checksum" - }, - "mask": { - "type": "string", - "description": "16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unser bits.", - "title": "Mask" + "tcp_udp": { + "type": "object", + "description": "TCP/UDP parameters.", + "properties": { + "checksum": { + "type": "integer", + "description": "TCP/UDP checksum or IP ID value.", + "minimum": 0, + "maximum": 65535, + "title": "Checksum" + }, + "mask": { + "type": "string", + "description": "16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unser bits.", + "title": "Mask" + } + }, + "additionalProperties": false, + "patternProperties": { + "^_.+$": {} + }, + "title": "TCP UDP" } }, "additionalProperties": false, @@ -28103,13 +28114,14 @@ "title": "Ports" } }, + "required": [ + "type", + "name" + ], "additionalProperties": false, "patternProperties": { "^_.+$": {} - }, - "required": [ - "name" - ] + } }, "title": "Match Rules" } From 6b3468c9e435520a56f0ea53fd253e73a9b68c04 Mon Sep 17 00:00:00 2001 From: laxmikant Date: Tue, 7 May 2024 17:08:18 +0530 Subject: [PATCH 24/44] Address comments. --- .../devices/monitor-telemetry-postcard-policy.md | 10 +++++----- .../configs/monitor-telemetry-postcard-policy.cfg | 10 +++++----- .../templates/eos/monitor-telemetry-postcard-policy.j2 | 9 +++++---- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md index 4abb4233082..b3632601d13 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md @@ -80,18 +80,18 @@ monitor telemetry postcard policy match rule1 ipv4 destination prefix 10.3.3.0/24 source prefix 3.4.5.0/24 - protocol tcp destination port www - protocol tcp destination port 78-80 protocol tcp destination port 77 + protocol tcp destination port 78-80 + protocol tcp destination port www protocol udp destination port 99 protocol udp source port 98 ! match rule2 ipv6 destination prefix 4::0/128 source prefix 5::0/128 - protocol udp destination port ssh - protocol udp destination port 748-800 protocol udp destination port 747 + protocol udp destination port 748-800 + protocol udp destination port ssh ! match rule3 ipv4 ! @@ -100,8 +100,8 @@ monitor telemetry postcard policy match rule1 ipv4 destination prefix 10.3.3.0/24 source prefix 3.4.5.0/24 - protocol udp destination port www protocol udp destination port 88 + protocol udp destination port www protocol udp source port 77 protocol udp source port 78-80 protocol udp source port www diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg index 6eaab6eee3c..6d68882d494 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg @@ -22,18 +22,18 @@ monitor telemetry postcard policy match rule1 ipv4 destination prefix 10.3.3.0/24 source prefix 3.4.5.0/24 - protocol tcp destination port www - protocol tcp destination port 78-80 protocol tcp destination port 77 + protocol tcp destination port 78-80 + protocol tcp destination port www protocol udp destination port 99 protocol udp source port 98 ! match rule2 ipv6 destination prefix 4::0/128 source prefix 5::0/128 - protocol udp destination port ssh - protocol udp destination port 748-800 protocol udp destination port 747 + protocol udp destination port 748-800 + protocol udp destination port ssh ! match rule3 ipv4 ! @@ -42,8 +42,8 @@ monitor telemetry postcard policy match rule1 ipv4 destination prefix 10.3.3.0/24 source prefix 3.4.5.0/24 - protocol udp destination port www protocol udp destination port 88 + protocol udp destination port www protocol udp source port 77 protocol udp source port 78-80 protocol udp source port www diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 index b9da1a7b8ba..812c8d9e4b5 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 @@ -22,10 +22,11 @@ monitor telemetry postcard policy {% if monitor_telemetry_postcard_policy.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard_policy.ingress.collection.destination is arista.avd.defined %} {% set ingress_cli = "ingress collection gre source " ~ monitor_telemetry_postcard_policy.ingress.collection.source ~ " destination " ~ monitor_telemetry_postcard_policy.ingress.collection.destination %} {% if monitor_telemetry_postcard_policy.ingress.collection.version is arista.avd.defined(2) %} - {{ ingress_cli }} version 2 +{% set ingress_cli = ingress_cli ~ " version 2" %} {% elif monitor_telemetry_postcard_policy.ingress.collection.version | arista.avd.default(1) is arista.avd.defined %} - {{ ingress_cli }} +{% set ingress_cli = ingress_cli %} {% endif %} + {{ ingress_cli }} {% endif %} {% endif %} ! @@ -43,10 +44,10 @@ monitor telemetry postcard policy {% for port in rule.ports | arista.avd.natural_sort('protocol') %} {% if port.protocol is arista.avd.defined %} {% set rule_cli = "protocol " ~ port.protocol %} -{% for dest_port in port.destination_ports | sort(reverse = True) %} +{% for dest_port in port.destination_ports | arista.avd.natural_sort %} {{ rule_cli }} destination port {{ dest_port }} {% endfor %} -{% for src_port in port.source_ports | arista.avd.natural_sort(reverse) %} +{% for src_port in port.source_ports | arista.avd.natural_sort %} {{ rule_cli }} source port {{ src_port }} {% endfor %} {% endif %} From caaae2c407898f89d91d67ff9270068f06be9b10 Mon Sep 17 00:00:00 2001 From: laxmikant Date: Tue, 7 May 2024 17:23:47 +0530 Subject: [PATCH 25/44] Fixing template. --- .../templates/eos/monitor-telemetry-postcard-policy.j2 | 2 -- 1 file changed, 2 deletions(-) diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 index 812c8d9e4b5..e92e8665b39 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 @@ -23,8 +23,6 @@ monitor telemetry postcard policy {% set ingress_cli = "ingress collection gre source " ~ monitor_telemetry_postcard_policy.ingress.collection.source ~ " destination " ~ monitor_telemetry_postcard_policy.ingress.collection.destination %} {% if monitor_telemetry_postcard_policy.ingress.collection.version is arista.avd.defined(2) %} {% set ingress_cli = ingress_cli ~ " version 2" %} -{% elif monitor_telemetry_postcard_policy.ingress.collection.version | arista.avd.default(1) is arista.avd.defined %} -{% set ingress_cli = ingress_cli %} {% endif %} {{ ingress_cli }} {% endif %} From b294146498816d21a231a8649f4f3daa272d515f Mon Sep 17 00:00:00 2001 From: laxmikant Date: Wed, 8 May 2024 20:42:08 +0530 Subject: [PATCH 26/44] Address multiple comments. --- .../monitor-telemetry-postcard-policy.md | 20 ++++----- .../monitor-telemetry-postcard-policy.yml | 10 ++--- .../monitor-telemetry-postcard-policy.md | 44 ++++++++++--------- .../eos_cli_config_gen.jsonschema.json | 24 +++++----- .../schemas/eos_cli_config_gen.schema.yml | 26 ++++++----- ...nitor_telemetry_postcard_policy.schema.yml | 22 ++++++---- .../monitor-telemetry-postcard-policy.j2 | 32 +++++++------- .../eos/monitor-telemetry-postcard-policy.j2 | 22 +++++----- .../schemas/eos_designs.jsonschema.json | 24 +++++----- 9 files changed, 118 insertions(+), 106 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md index b3632601d13..0ba909600ab 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md @@ -5,9 +5,7 @@ - [Management](#management) - [Management Interfaces](#management-interfaces) - [Monitoring](#monitoring) - - [Sample Policy Summary](#sample-policy-summary) - - [Telemetry Postcard Policy Profiles](#telemetry-postcard-policy-profiles) - - [Monitor Telemetry Postcard Configuration](#monitor-telemetry-postcard-configuration) + - [Monitor Telemetry Postcard Policy](#monitor-telemetry-postcard-policy) ## Management @@ -39,11 +37,13 @@ interface Management1 ## Monitoring -### Sample Policy Summary +### Monitor Telemetry Postcard Policy -#### samplepo1 +#### Sample Policy Summary -##### Match rules +##### samplepo1 + +###### Match rules | Rule Name | Rule Type | Source Prefix | Destination Prefix | Protocol | Source Ports | Destination Ports | | --------- | --------- | ------------- | ------------------ | -------- | ------------ | ----------------- | @@ -51,22 +51,22 @@ interface Management1 | rule2 | ipv6 | 5::0/128 | 4::0/128 | udp | - | 747, 748-800, ssh | | rule3 | ipv4 | - | - | - | - | - | -#### samplepo2 +##### samplepo2 -##### Match rules +###### Match rules | Rule Name | Rule Type | Source Prefix | Destination Prefix | Protocol | Source Ports | Destination Ports | | --------- | --------- | ------------- | ------------------ | -------- | ------------ | ----------------- | | rule1 | ipv4 | 3.4.5.0/24 | 10.3.3.0/24 | udp | 77, 78-80, www | 88, www | -### Telemetry Postcard Policy Profiles +#### Telemetry Postcard Policy Profiles | Profile Name | Ingress Sample Policy | | ------------ | --------------------- | | profile1 | samplepo1 | | profile2 | samplepo2 | -### Monitor Telemetry Postcard Configuration +#### Monitor Telemetry Postcard Configuration ```eos ! diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml index 5d92e23db1f..836db9b1e11 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml @@ -7,8 +7,8 @@ monitor_telemetry_postcard_policy: version: 2 sample: rate: 16384 - tcp_udp: - checksum: 65000 + tcp_udp_checksum: + value: 65000 mask: "0xffff" vxlan_marking_bit: 0 profiles: @@ -23,7 +23,7 @@ monitor_telemetry_postcard_policy: type: ipv4 destination_prefix: 10.3.3.0/24 source_prefix: 3.4.5.0/24 - ports: + protocols: - protocol: tcp destination_ports: - '77' @@ -38,7 +38,7 @@ monitor_telemetry_postcard_policy: type: ipv6 destination_prefix: 4::0/128 source_prefix: 5::0/128 - ports: + protocols: - protocol: udp destination_ports: - '747' @@ -52,7 +52,7 @@ monitor_telemetry_postcard_policy: type: ipv4 destination_prefix: 10.3.3.0/24 source_prefix: 3.4.5.0/24 - ports: + protocols: - protocol: udp source_ports: - '77' diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md index af9a8467987..e5498e4565e 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md @@ -15,25 +15,25 @@ | [      destination](## "monitor_telemetry_postcard_policy.ingress.collection.destination") | String | | | | Configure destination IP address of GRE tunnel. | | [      version](## "monitor_telemetry_postcard_policy.ingress.collection.version") | Integer | | | Valid Values:
- 1
- 2 | Postcard version | | [    sample](## "monitor_telemetry_postcard_policy.ingress.sample") | Dictionary | | | | Sampling parameters. | - | [      rate](## "monitor_telemetry_postcard_policy.ingress.sample.rate") | Integer | | | Valid Values:
- 16384
- 32768
- 65536 | Sampling rate. Rate is preferred when both rate and tcp_udp is defined. | - | [      tcp_udp](## "monitor_telemetry_postcard_policy.ingress.sample.tcp_udp") | Dictionary | | | | TCP/UDP parameters. | - | [        checksum](## "monitor_telemetry_postcard_policy.ingress.sample.tcp_udp.checksum") | Integer | | | Min: 0
Max: 65535 | TCP/UDP checksum or IP ID value. | - | [        mask](## "monitor_telemetry_postcard_policy.ingress.sample.tcp_udp.mask") | String | | | | 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unser bits. | + | [      rate](## "monitor_telemetry_postcard_policy.ingress.sample.rate") | Integer | | | Valid Values:
- 16384
- 32768
- 65536 | Sampling rate. `rate` is preferred when both `rate` and `tcp_udp_checksum` are defined. | + | [      tcp_udp_checksum](## "monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum") | Dictionary | | | | TCP/UDP parameters. | + | [        value](## "monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.value") | Integer | | | Min: 0
Max: 65535 | TCP/UDP checksum or IP ID value. | + | [        mask](## "monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.mask") | String | | | | 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unset bits. | | [  vxlan_marking_bit](## "monitor_telemetry_postcard_policy.vxlan_marking_bit") | Integer | | `0` | Min: 0
Max: 31 | | - | [  profiles](## "monitor_telemetry_postcard_policy.profiles") | List, items: Dictionary | | | | Postcard telemetry profile. | - | [    - name](## "monitor_telemetry_postcard_policy.profiles.[].name") | String | Required, Unique | | | Profile name | + | [  profiles](## "monitor_telemetry_postcard_policy.profiles") | List, items: Dictionary | | | | Postcard telemetry profiles. | + | [    - name](## "monitor_telemetry_postcard_policy.profiles.[].name") | String | Required, Unique | | | Profile name. | | [      ingress_sample_policy](## "monitor_telemetry_postcard_policy.profiles.[].ingress_sample_policy") | String | | | | | | [  sample_policies](## "monitor_telemetry_postcard_policy.sample_policies") | List, items: Dictionary | | | | | | [    - name](## "monitor_telemetry_postcard_policy.sample_policies.[].name") | String | Required, Unique | | | | | [      match_rules](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules") | List, items: Dictionary | | | | | | [        - name](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].name") | String | Required, Unique | | | | | [          type](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].type") | String | Required | | Valid Values:
- ipv4
- ipv6 | IP address version. | - | [          destination_prefix](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].destination_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. | - | [          source_prefix](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].source_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. | - | [          ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].ports") | List, items: Dictionary | | | | | - | [            - protocol](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].ports.[].protocol") | String | Required, Unique | | Valid Values:
- tcp
- udp | TCP/UDP. | - | [              destination_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].ports.[].destination_ports") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"] | - | [              source_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].ports.[].source_ports") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"] | + | [          destination_prefix](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].destination_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. Host part of prefix must be zero.
eg. 10.3.3.0/24 | + | [          source_prefix](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].source_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. Host part of prefix must be zero.
eg. 10.3.3.0/24 | + | [          protocols](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols") | List, items: Dictionary | | | | | + | [            - protocol](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].protocol") | String | Required, Unique | | Valid Values:
- tcp
- udp | TCP/UDP. | + | [              destination_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].destination_ports") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"] | + | [              source_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].source_ports") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"] | === "YAML" @@ -59,23 +59,23 @@ # Sampling parameters. sample: - # Sampling rate. Rate is preferred when both rate and tcp_udp is defined. + # Sampling rate. `rate` is preferred when both `rate` and `tcp_udp_checksum` are defined. rate: # TCP/UDP parameters. - tcp_udp: + tcp_udp_checksum: # TCP/UDP checksum or IP ID value. - checksum: + value: - # 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unser bits. + # 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unset bits. mask: vxlan_marking_bit: - # Postcard telemetry profile. + # Postcard telemetry profiles. profiles: - # Profile name + # Profile name. - name: ingress_sample_policy: sample_policies: @@ -86,12 +86,14 @@ # IP address version. type: - # IPv4 Network/Mask or IPv6 Network/Mask. + # IPv4 Network/Mask or IPv6 Network/Mask. Host part of prefix must be zero. + # eg. 10.3.3.0/24 destination_prefix: - # IPv4 Network/Mask or IPv6 Network/Mask. + # IPv4 Network/Mask or IPv6 Network/Mask. Host part of prefix must be zero. + # eg. 10.3.3.0/24 source_prefix: - ports: + protocols: # TCP/UDP. - protocol: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index 5fe871d57c7..2876cadb401 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -12157,7 +12157,7 @@ "properties": { "rate": { "type": "integer", - "description": "Sampling rate. Rate is preferred when both rate and tcp_udp is defined.", + "description": "Sampling rate. `rate` is preferred when both `rate` and `tcp_udp_checksum` are defined.", "enum": [ 16384, 32768, @@ -12165,20 +12165,20 @@ ], "title": "Rate" }, - "tcp_udp": { + "tcp_udp_checksum": { "type": "object", "description": "TCP/UDP parameters.", "properties": { - "checksum": { + "value": { "type": "integer", "description": "TCP/UDP checksum or IP ID value.", "minimum": 0, "maximum": 65535, - "title": "Checksum" + "title": "Value" }, "mask": { "type": "string", - "description": "16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unser bits.", + "description": "16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unset bits.", "title": "Mask" } }, @@ -12186,7 +12186,7 @@ "patternProperties": { "^_.+$": {} }, - "title": "TCP UDP" + "title": "TCP UDP Checksum" } }, "additionalProperties": false, @@ -12211,13 +12211,13 @@ }, "profiles": { "type": "array", - "description": "Postcard telemetry profile.", + "description": "Postcard telemetry profiles.", "items": { "type": "object", "properties": { "name": { "type": "string", - "description": "Profile name", + "description": "Profile name.", "title": "Name" }, "ingress_sample_policy": { @@ -12264,15 +12264,15 @@ }, "destination_prefix": { "type": "string", - "description": "IPv4 Network/Mask or IPv6 Network/Mask.", + "description": "IPv4 Network/Mask or IPv6 Network/Mask. Host part of prefix must be zero.\neg. 10.3.3.0/24", "title": "Destination Prefix" }, "source_prefix": { "type": "string", - "description": "IPv4 Network/Mask or IPv6 Network/Mask.", + "description": "IPv4 Network/Mask or IPv6 Network/Mask. Host part of prefix must be zero.\neg. 10.3.3.0/24", "title": "Source Prefix" }, - "ports": { + "protocols": { "type": "array", "items": { "type": "object", @@ -12305,7 +12305,7 @@ "protocol" ] }, - "title": "Ports" + "title": "Protocols" } }, "required": [ diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index ab8b68a5840..1f1e1bcf333 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -7121,19 +7121,19 @@ keys: keys: rate: type: int - description: Sampling rate. Rate is preferred when both rate and tcp_udp - is defined. + description: Sampling rate. `rate` is preferred when both `rate` and + `tcp_udp_checksum` are defined. convert_types: - str valid_values: - 16384 - 32768 - 65536 - tcp_udp: + tcp_udp_checksum: type: dict description: TCP/UDP parameters. keys: - checksum: + value: type: int description: TCP/UDP checksum or IP ID value. min: 0 @@ -7143,7 +7143,7 @@ keys: mask: type: str description: 16 bit hexadecimal mask for TCP/UDP or IP ID with - atmost 2 unser bits. + atmost 2 unset bits. vxlan_marking_bit: type: int default: 0 @@ -7153,14 +7153,14 @@ keys: - str profiles: type: list - description: Postcard telemetry profile. + description: Postcard telemetry profiles. primary_key: name items: type: dict keys: name: type: str - description: Profile name + description: Profile name. ingress_sample_policy: type: str sample_policies: @@ -7188,11 +7188,17 @@ keys: - ipv6 destination_prefix: type: str - description: IPv4 Network/Mask or IPv6 Network/Mask. + description: 'IPv4 Network/Mask or IPv6 Network/Mask. Host part + of prefix must be zero. + + eg. 10.3.3.0/24' source_prefix: type: str - description: IPv4 Network/Mask or IPv6 Network/Mask. - ports: + description: 'IPv4 Network/Mask or IPv6 Network/Mask. Host part + of prefix must be zero. + + eg. 10.3.3.0/24' + protocols: type: list primary_key: protocol items: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml index 5322897046a..c2743c60af7 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml @@ -35,15 +35,15 @@ keys: keys: rate: type: int - description: Sampling rate. Rate is preferred when both rate and tcp_udp is defined. + description: Sampling rate. `rate` is preferred when both `rate` and `tcp_udp_checksum` are defined. convert_types: - str valid_values: [ 16384, 32768, 65536 ] - tcp_udp: + tcp_udp_checksum: type: dict description: TCP/UDP parameters. keys: - checksum: + value: type: int description: TCP/UDP checksum or IP ID value. min: 0 @@ -52,7 +52,7 @@ keys: - str mask: type: str - description: 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unser bits. + description: 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unset bits. vxlan_marking_bit: type: int default: 0 @@ -62,14 +62,14 @@ keys: - str profiles: type: list - description: Postcard telemetry profile. + description: Postcard telemetry profiles. primary_key: name items: type: dict keys: name: type: str - description: Profile name + description: Profile name. ingress_sample_policy: type: str sample_policies: @@ -95,11 +95,15 @@ keys: valid_values: [ ipv4, ipv6 ] destination_prefix: type: str - description: IPv4 Network/Mask or IPv6 Network/Mask. + description: |- + IPv4 Network/Mask or IPv6 Network/Mask. Host part of prefix must be zero. + eg. 10.3.3.0/24 source_prefix: type: str - description: IPv4 Network/Mask or IPv6 Network/Mask. - ports: + description: |- + IPv4 Network/Mask or IPv6 Network/Mask. Host part of prefix must be zero. + eg. 10.3.3.0/24 + protocols: type: list primary_key: protocol items: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard-policy.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard-policy.j2 index ab539f79d5d..5bb6d39bd48 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard-policy.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard-policy.j2 @@ -5,48 +5,50 @@ #} {# doc - monitor telemetry postcard policy #} {% if monitor_telemetry_postcard_policy is arista.avd.defined %} + +### Monitor Telemetry Postcard Policy {% if monitor_telemetry_postcard_policy.sample_policies is arista.avd.defined %} -### Sample Policy Summary +#### Sample Policy Summary {% for policy in monitor_telemetry_postcard_policy.sample_policies | arista.avd.natural_sort("name") %} -#### {{ policy.name }} +##### {{ policy.name }} {% if policy.match_rules is arista.avd.defined %} -##### Match rules +###### Match rules | Rule Name | Rule Type | Source Prefix | Destination Prefix | Protocol | Source Ports | Destination Ports | | --------- | --------- | ------------- | ------------------ | -------- | ------------ | ----------------- | {% for rule in policy.match_rules | arista.avd.natural_sort("name") %} -{% set protocol = [] %} +{% set protocols_list = [] %} {% set destination_ports = [] %} {% set source_ports = [] %} -{% for port in rule.ports | arista.avd.natural_sort("protocol") %} -{% do protocol.append(port.protocol) %} -{% if port.source_ports is arista.avd.defined %} -{% do source_ports.append(port.source_ports | join(", ")) %} +{% for protocol in rule.protocols | arista.avd.natural_sort("protocol") %} +{% do protocols_list.append(protocol.protocol) %} +{% if protocol.source_ports is arista.avd.defined %} +{% do source_ports.append(protocol.source_ports | join(", ")) %} {% else %} {% do source_ports.append("-") %} {% endif %} -{% if port.destination_ports is arista.avd.defined %} -{% do destination_ports.append(port.destination_ports | join(", ")) %} +{% if protocol.destination_ports is arista.avd.defined %} +{% do destination_ports.append(protocol.destination_ports | join(", ")) %} {% else %} {% do destination_ports.append("-") %} {% endif %} {% endfor %} -{% if protocol == [] %} -{% do protocol.append("-") %} +{% if protocols_list == [] %} +{% do protocols_list.append("-") %} {% do source_ports.append("-") %} {% do destination_ports.append("-") %} {% endif %} -| {{ rule.name }} | {{ rule.type }} | {{ rule.source_prefix | arista.avd.default("-") }} | {{ rule.destination_prefix | arista.avd.default("-") }} | {{ protocol | join("
") }} | {{ source_ports | join("
") }} | {{ destination_ports | join("
") }} | +| {{ rule.name }} | {{ rule.type }} | {{ rule.source_prefix | arista.avd.default("-") }} | {{ rule.destination_prefix | arista.avd.default("-") }} | {{ protocols_list | join("
") }} | {{ source_ports | join("
") }} | {{ destination_ports | join("
") }} | {% endfor %} {% endif %} {% endfor %} {% endif %} {% if monitor_telemetry_postcard_policy.profiles is arista.avd.defined %} -### Telemetry Postcard Policy Profiles +#### Telemetry Postcard Policy Profiles | Profile Name | Ingress Sample Policy | | ------------ | --------------------- | @@ -55,7 +57,7 @@ {% endfor %} {% endif %} -### Monitor Telemetry Postcard Configuration +#### Monitor Telemetry Postcard Configuration ```eos {% include 'eos/monitor-telemetry-postcard-policy.j2' %} diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 index e92e8665b39..b4ed7604423 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 @@ -18,14 +18,12 @@ monitor telemetry postcard policy {% if monitor_telemetry_postcard_policy.vxlan_marking_bit is arista.avd.defined %} marker vxlan header word 0 bit {{ monitor_telemetry_postcard_policy.vxlan_marking_bit | arista.avd.default(0) }} {% endif %} -{% if monitor_telemetry_postcard_policy.ingress is arista.avd.defined %} -{% if monitor_telemetry_postcard_policy.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard_policy.ingress.collection.destination is arista.avd.defined %} -{% set ingress_cli = "ingress collection gre source " ~ monitor_telemetry_postcard_policy.ingress.collection.source ~ " destination " ~ monitor_telemetry_postcard_policy.ingress.collection.destination %} -{% if monitor_telemetry_postcard_policy.ingress.collection.version is arista.avd.defined(2) %} -{% set ingress_cli = ingress_cli ~ " version 2" %} -{% endif %} - {{ ingress_cli }} +{% if monitor_telemetry_postcard_policy.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard_policy.ingress.collection.destination is arista.avd.defined %} +{% set ingress_cli = "ingress collection gre source " ~ monitor_telemetry_postcard_policy.ingress.collection.source ~ " destination " ~ monitor_telemetry_postcard_policy.ingress.collection.destination %} +{% if monitor_telemetry_postcard_policy.ingress.collection.version is arista.avd.defined(2) %} +{% set ingress_cli = ingress_cli ~ " version 2" %} {% endif %} + {{ ingress_cli }} {% endif %} ! {% for policy in monitor_telemetry_postcard_policy.sample_policies | arista.avd.natural_sort("name") %} @@ -39,13 +37,13 @@ monitor telemetry postcard policy {% if rule.source_prefix is arista.avd.defined %} source prefix {{ rule.source_prefix }} {% endif %} -{% for port in rule.ports | arista.avd.natural_sort('protocol') %} -{% if port.protocol is arista.avd.defined %} -{% set rule_cli = "protocol " ~ port.protocol %} -{% for dest_port in port.destination_ports | arista.avd.natural_sort %} +{% for protocol in rule.protocols | arista.avd.natural_sort('protocol') %} +{% if protocol.protocol is arista.avd.defined %} +{% set rule_cli = "protocol " ~ protocol.protocol %} +{% for dest_port in protocol.destination_ports | arista.avd.natural_sort %} {{ rule_cli }} destination port {{ dest_port }} {% endfor %} -{% for src_port in port.source_ports | arista.avd.natural_sort %} +{% for src_port in protocol.source_ports | arista.avd.natural_sort %} {{ rule_cli }} source port {{ src_port }} {% endfor %} {% endif %} diff --git a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json index 41d125ed21b..81c11b5c796 100644 --- a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json @@ -28836,7 +28836,7 @@ "properties": { "rate": { "type": "integer", - "description": "Sampling rate. Rate is preferred when both rate and tcp_udp is defined.", + "description": "Sampling rate. `rate` is preferred when both `rate` and `tcp_udp_checksum` are defined.", "enum": [ 16384, 32768, @@ -28844,20 +28844,20 @@ ], "title": "Rate" }, - "tcp_udp": { + "tcp_udp_checksum": { "type": "object", "description": "TCP/UDP parameters.", "properties": { - "checksum": { + "value": { "type": "integer", "description": "TCP/UDP checksum or IP ID value.", "minimum": 0, "maximum": 65535, - "title": "Checksum" + "title": "Value" }, "mask": { "type": "string", - "description": "16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unser bits.", + "description": "16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unset bits.", "title": "Mask" } }, @@ -28865,7 +28865,7 @@ "patternProperties": { "^_.+$": {} }, - "title": "TCP UDP" + "title": "TCP UDP Checksum" } }, "additionalProperties": false, @@ -28890,13 +28890,13 @@ }, "profiles": { "type": "array", - "description": "Postcard telemetry profile.", + "description": "Postcard telemetry profiles.", "items": { "type": "object", "properties": { "name": { "type": "string", - "description": "Profile name", + "description": "Profile name.", "title": "Name" }, "ingress_sample_policy": { @@ -28943,15 +28943,15 @@ }, "destination_prefix": { "type": "string", - "description": "IPv4 Network/Mask or IPv6 Network/Mask.", + "description": "IPv4 Network/Mask or IPv6 Network/Mask. Host part of prefix must be zero.\neg. 10.3.3.0/24", "title": "Destination Prefix" }, "source_prefix": { "type": "string", - "description": "IPv4 Network/Mask or IPv6 Network/Mask.", + "description": "IPv4 Network/Mask or IPv6 Network/Mask. Host part of prefix must be zero.\neg. 10.3.3.0/24", "title": "Source Prefix" }, - "ports": { + "protocols": { "type": "array", "items": { "type": "object", @@ -28984,7 +28984,7 @@ "protocol" ] }, - "title": "Ports" + "title": "Protocols" } }, "required": [ From 3e51d70bdeb580618928367f6c20e41861915208 Mon Sep 17 00:00:00 2001 From: laxmikant Date: Thu, 9 May 2024 11:56:55 +0530 Subject: [PATCH 27/44] Adding new changes in eos template. --- .../docs/tables/monitor-telemetry-postcard-policy.md | 4 +--- .../schemas/eos_cli_config_gen.jsonschema.json | 1 - .../schemas/eos_cli_config_gen.schema.yml | 1 - .../monitor_telemetry_postcard_policy.schema.yml | 1 - .../templates/eos/monitor-telemetry-postcard-policy.j2 | 6 +++--- .../roles/eos_designs/schemas/eos_designs.jsonschema.json | 1 - 6 files changed, 4 insertions(+), 10 deletions(-) diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md index e5498e4565e..fe5b722ebb8 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md @@ -31,7 +31,7 @@ | [          destination_prefix](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].destination_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. Host part of prefix must be zero.
eg. 10.3.3.0/24 | | [          source_prefix](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].source_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. Host part of prefix must be zero.
eg. 10.3.3.0/24 | | [          protocols](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols") | List, items: Dictionary | | | | | - | [            - protocol](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].protocol") | String | Required, Unique | | Valid Values:
- tcp
- udp | TCP/UDP. | + | [            - protocol](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].protocol") | String | Required, Unique | | Valid Values:
- tcp
- udp | | | [              destination_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].destination_ports") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"] | | [              source_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].source_ports") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"] | @@ -94,8 +94,6 @@ # eg. 10.3.3.0/24 source_prefix: protocols: - - # TCP/UDP. - protocol: # Enter the port name or range or port numbers in a list. diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index 3c03a464df5..fd426056a96 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -12333,7 +12333,6 @@ "properties": { "protocol": { "type": "string", - "description": "TCP/UDP.", "enum": [ "tcp", "udp" diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index da081952ea1..6b0473a671e 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -7263,7 +7263,6 @@ keys: keys: protocol: type: str - description: TCP/UDP. valid_values: - tcp - udp diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml index c2743c60af7..13bd2952813 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml @@ -111,7 +111,6 @@ keys: keys: protocol: type: str - description: TCP/UDP. valid_values: [ tcp, udp ] destination_ports: type: list diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 index b4ed7604423..cd7e6c629f1 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 @@ -39,12 +39,12 @@ monitor telemetry postcard policy {% endif %} {% for protocol in rule.protocols | arista.avd.natural_sort('protocol') %} {% if protocol.protocol is arista.avd.defined %} -{% set rule_cli = "protocol " ~ protocol.protocol %} +{% set protocol_cli = "protocol " ~ protocol.protocol %} {% for dest_port in protocol.destination_ports | arista.avd.natural_sort %} - {{ rule_cli }} destination port {{ dest_port }} + {{ protocol_cli }} destination port {{ dest_port }} {% endfor %} {% for src_port in protocol.source_ports | arista.avd.natural_sort %} - {{ rule_cli }} source port {{ src_port }} + {{ protocol_cli }} source port {{ src_port }} {% endfor %} {% endif %} {% endfor %} diff --git a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json index eee5c59c6ba..af06ac980f1 100644 --- a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json @@ -29027,7 +29027,6 @@ "properties": { "protocol": { "type": "string", - "description": "TCP/UDP.", "enum": [ "tcp", "udp" From 490e0f4ff6c8fe4b702b33f6acc52a9db670a69e Mon Sep 17 00:00:00 2001 From: laxmikantchintakindi <159624484+laxmikantchintakindi@users.noreply.github.com> Date: Thu, 9 May 2024 11:58:48 +0530 Subject: [PATCH 28/44] Update ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml Co-authored-by: Shivani-gslab <145646625+Shivani-gslab@users.noreply.github.com> --- .../monitor_telemetry_postcard_policy.schema.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml index 13bd2952813..56d45905b0e 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml @@ -27,7 +27,7 @@ keys: description: Configure destination IP address of GRE tunnel. version: type: int - description: Postcard version + description: Postcard version. valid_values: [ 1, 2 ] sample: type: dict From 7df10a519f081799921719a59144d04f29235c09 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 9 May 2024 06:31:49 +0000 Subject: [PATCH 29/44] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- .../docs/tables/monitor-telemetry-postcard-policy.md | 4 ++-- .../schemas/eos_cli_config_gen.jsonschema.json | 2 +- .../eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml | 2 +- .../avd/roles/eos_designs/schemas/eos_designs.jsonschema.json | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md index fe5b722ebb8..2090b3307db 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md @@ -13,7 +13,7 @@ | [    collection](## "monitor_telemetry_postcard_policy.ingress.collection") | Dictionary | | | | Collector configuration. | | [      source](## "monitor_telemetry_postcard_policy.ingress.collection.source") | String | | | | Configure source IP address of GRE tunnel. | | [      destination](## "monitor_telemetry_postcard_policy.ingress.collection.destination") | String | | | | Configure destination IP address of GRE tunnel. | - | [      version](## "monitor_telemetry_postcard_policy.ingress.collection.version") | Integer | | | Valid Values:
- 1
- 2 | Postcard version | + | [      version](## "monitor_telemetry_postcard_policy.ingress.collection.version") | Integer | | | Valid Values:
- 1
- 2 | Postcard version. | | [    sample](## "monitor_telemetry_postcard_policy.ingress.sample") | Dictionary | | | | Sampling parameters. | | [      rate](## "monitor_telemetry_postcard_policy.ingress.sample.rate") | Integer | | | Valid Values:
- 16384
- 32768
- 65536 | Sampling rate. `rate` is preferred when both `rate` and `tcp_udp_checksum` are defined. | | [      tcp_udp_checksum](## "monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum") | Dictionary | | | | TCP/UDP parameters. | @@ -53,7 +53,7 @@ # Configure destination IP address of GRE tunnel. destination: - # Postcard version + # Postcard version. version: # Sampling parameters. diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index fd426056a96..f69ab849d39 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -12191,7 +12191,7 @@ }, "version": { "type": "integer", - "description": "Postcard version", + "description": "Postcard version.", "enum": [ 1, 2 diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index 6b0473a671e..0767f7b160c 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -7168,7 +7168,7 @@ keys: description: Configure destination IP address of GRE tunnel. version: type: int - description: Postcard version + description: Postcard version. valid_values: - 1 - 2 diff --git a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json index af06ac980f1..83760ca83ac 100644 --- a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json @@ -28885,7 +28885,7 @@ }, "version": { "type": "integer", - "description": "Postcard version", + "description": "Postcard version.", "enum": [ 1, 2 From 3831b36ae132c8d25ed69299108e1a34193c6415 Mon Sep 17 00:00:00 2001 From: laxmikant Date: Thu, 9 May 2024 13:48:53 +0530 Subject: [PATCH 30/44] Fixing order of prefix commands. --- .../devices/monitor-telemetry-postcard-policy.md | 6 +++--- .../configs/monitor-telemetry-postcard-policy.cfg | 6 +++--- .../docs/tables/monitor-telemetry-postcard-policy.md | 8 ++++---- .../schemas/eos_cli_config_gen.jsonschema.json | 4 ++-- .../schemas/eos_cli_config_gen.schema.yml | 6 ++++-- .../monitor_telemetry_postcard_policy.schema.yml | 4 ++-- .../eos_cli_config_gen/templates/eos-intended-config.j2 | 4 ++-- .../templates/eos/monitor-telemetry-postcard-policy.j2 | 6 +++--- .../roles/eos_designs/schemas/eos_designs.jsonschema.json | 4 ++-- 9 files changed, 25 insertions(+), 23 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md index 0ba909600ab..5fbdc92c8c5 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md @@ -78,8 +78,8 @@ monitor telemetry postcard policy ! sample policy samplepo1 match rule1 ipv4 - destination prefix 10.3.3.0/24 source prefix 3.4.5.0/24 + destination prefix 10.3.3.0/24 protocol tcp destination port 77 protocol tcp destination port 78-80 protocol tcp destination port www @@ -87,8 +87,8 @@ monitor telemetry postcard policy protocol udp source port 98 ! match rule2 ipv6 - destination prefix 4::0/128 source prefix 5::0/128 + destination prefix 4::0/128 protocol udp destination port 747 protocol udp destination port 748-800 protocol udp destination port ssh @@ -98,8 +98,8 @@ monitor telemetry postcard policy ! sample policy samplepo2 match rule1 ipv4 - destination prefix 10.3.3.0/24 source prefix 3.4.5.0/24 + destination prefix 10.3.3.0/24 protocol udp destination port 88 protocol udp destination port www protocol udp source port 77 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg index 6d68882d494..d99d11758d6 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg @@ -20,8 +20,8 @@ monitor telemetry postcard policy ! sample policy samplepo1 match rule1 ipv4 - destination prefix 10.3.3.0/24 source prefix 3.4.5.0/24 + destination prefix 10.3.3.0/24 protocol tcp destination port 77 protocol tcp destination port 78-80 protocol tcp destination port www @@ -29,8 +29,8 @@ monitor telemetry postcard policy protocol udp source port 98 ! match rule2 ipv6 - destination prefix 4::0/128 source prefix 5::0/128 + destination prefix 4::0/128 protocol udp destination port 747 protocol udp destination port 748-800 protocol udp destination port ssh @@ -40,8 +40,8 @@ monitor telemetry postcard policy ! sample policy samplepo2 match rule1 ipv4 - destination prefix 10.3.3.0/24 source prefix 3.4.5.0/24 + destination prefix 10.3.3.0/24 protocol udp destination port 88 protocol udp destination port www protocol udp source port 77 diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md index 2090b3307db..d2f9a03c71d 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md @@ -32,8 +32,8 @@ | [          source_prefix](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].source_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. Host part of prefix must be zero.
eg. 10.3.3.0/24 | | [          protocols](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols") | List, items: Dictionary | | | | | | [            - protocol](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].protocol") | String | Required, Unique | | Valid Values:
- tcp
- udp | | - | [              destination_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].destination_ports") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"] | - | [              source_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].source_ports") | List | | | | Enter the port name or range or port numbers in a list.
Example:
["12","14-20", "www"] | + | [              destination_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].destination_ports") | List | | | | Enter the port name or range or port numbers in a list. The port numbers should be in range of 0-65535.
Example:
["12","14-20", "www"] | + | [              source_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].source_ports") | List | | | | Enter the port name or range or port numbers in a list. The port numbers should be in range of 0-65535.
Example:
["12","14-20", "www"] | === "YAML" @@ -96,12 +96,12 @@ protocols: - protocol: - # Enter the port name or range or port numbers in a list. + # Enter the port name or range or port numbers in a list. The port numbers should be in range of 0-65535. # Example: # ["12","14-20", "www"] destination_ports: - # Enter the port name or range or port numbers in a list. + # Enter the port name or range or port numbers in a list. The port numbers should be in range of 0-65535. # Example: # ["12","14-20", "www"] source_ports: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index f69ab849d39..a82b9e349f0 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -12341,12 +12341,12 @@ }, "destination_ports": { "type": "array", - "description": "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]", + "description": "Enter the port name or range or port numbers in a list. The port numbers should be in range of 0-65535.\nExample:\n [\"12\",\"14-20\", \"www\"]", "title": "Destination Ports" }, "source_ports": { "type": "array", - "description": "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]", + "description": "Enter the port name or range or port numbers in a list. The port numbers should be in range of 0-65535.\nExample:\n [\"12\",\"14-20\", \"www\"]", "title": "Source Ports" } }, diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index 0767f7b160c..58031886873 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -7269,11 +7269,13 @@ keys: destination_ports: type: list description: "Enter the port name or range or port numbers - in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]" + in a list. The port numbers should be in range of 0-65535.\nExample:\n + \ [\"12\",\"14-20\", \"www\"]" source_ports: type: list description: "Enter the port name or range or port numbers - in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]" + in a list. The port numbers should be in range of 0-65535.\nExample:\n + \ [\"12\",\"14-20\", \"www\"]" mpls: type: dict keys: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml index 56d45905b0e..9851692b80f 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml @@ -115,12 +115,12 @@ keys: destination_ports: type: list description: |- - Enter the port name or range or port numbers in a list. + Enter the port name or range or port numbers in a list. The port numbers should be in range of 0-65535. Example: ["12","14-20", "www"] source_ports: type: list description: |- - Enter the port name or range or port numbers in a list. + Enter the port name or range or port numbers in a list. The port numbers should be in range of 0-65535. Example: ["12","14-20", "www"] diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos-intended-config.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos-intended-config.j2 index 8bf83dda3ea..c2f5a78286b 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos-intended-config.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos-intended-config.j2 @@ -183,8 +183,6 @@ {% include 'eos/application-traffic-recognition.j2' %} {# Connectivity monitor configuration #} {% include 'eos/monitor-connectivity.j2' %} -{# Monitor telemetry postcard #} -{% include 'eos/monitor-telemetry-postcard-policy.j2' %} {# MAC address-table aging #} {% include 'eos/mac-address-table-aging-time.j2' %} {# Router virtual mac address #} @@ -263,6 +261,8 @@ {% include 'eos/class-maps.j2' %} {# PBR policy-map #} {% include 'eos/policy-maps-pbr.j2' %} +{# Monitor telemetry postcard #} +{% include 'eos/monitor-telemetry-postcard-policy.j2' %} {# QOS policy-map #} {% include 'eos/policy-maps-qos.j2' %} {# ARP #} diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 index cd7e6c629f1..a7a694ff16d 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 @@ -31,12 +31,12 @@ monitor telemetry postcard policy {% for rule in policy.match_rules | arista.avd.natural_sort("name") %} {% if rule.type is arista.avd.defined %} match {{ rule.name }} {{ rule.type }} -{% if rule.destination_prefix is arista.avd.defined %} - destination prefix {{ rule.destination_prefix }} -{% endif %} {% if rule.source_prefix is arista.avd.defined %} source prefix {{ rule.source_prefix }} {% endif %} +{% if rule.destination_prefix is arista.avd.defined %} + destination prefix {{ rule.destination_prefix }} +{% endif %} {% for protocol in rule.protocols | arista.avd.natural_sort('protocol') %} {% if protocol.protocol is arista.avd.defined %} {% set protocol_cli = "protocol " ~ protocol.protocol %} diff --git a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json index 83760ca83ac..1146890377c 100644 --- a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json @@ -29035,12 +29035,12 @@ }, "destination_ports": { "type": "array", - "description": "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]", + "description": "Enter the port name or range or port numbers in a list. The port numbers should be in range of 0-65535.\nExample:\n [\"12\",\"14-20\", \"www\"]", "title": "Destination Ports" }, "source_ports": { "type": "array", - "description": "Enter the port name or range or port numbers in a list.\nExample:\n [\"12\",\"14-20\", \"www\"]", + "description": "Enter the port name or range or port numbers in a list. The port numbers should be in range of 0-65535.\nExample:\n [\"12\",\"14-20\", \"www\"]", "title": "Source Ports" } }, From 86ef12ae94630e421c8a5f9d62a7d71f377dcc32 Mon Sep 17 00:00:00 2001 From: laxmikant Date: Fri, 10 May 2024 13:14:24 +0530 Subject: [PATCH 31/44] Removing extra empty line characters. --- .../devices/monitor-telemetry-postcard-policy.md | 1 - .../intended/configs/monitor-telemetry-postcard-policy.cfg | 1 - .../templates/eos/monitor-telemetry-postcard-policy.j2 | 4 ++++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md index 5fbdc92c8c5..e3ec9700af2 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md @@ -112,5 +112,4 @@ monitor telemetry postcard policy ! profile profile2 ingress sample policy samplepo2 - ! ``` diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg index d99d11758d6..608d90b5a3b 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg @@ -54,6 +54,5 @@ monitor telemetry postcard policy ! profile profile2 ingress sample policy samplepo2 - ! ! end diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 index a7a694ff16d..85989fd0877 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 @@ -51,13 +51,17 @@ monitor telemetry postcard policy {% endif %} ! {% endfor %} +{% if policy != monitor_telemetry_postcard_policy.sample_policies[-1] or monitor_telemetry_postcard_policy.profiles is arista.avd.defined %} ! +{% endif %} {% endfor %} {% for profile in monitor_telemetry_postcard_policy.profiles | arista.avd.natural_sort("name") %} profile {{ profile.name }} {% if profile.ingress_sample_policy is arista.avd.defined %} ingress sample policy {{ profile.ingress_sample_policy }} {% endif %} +{% if profile != monitor_telemetry_postcard_policy.profiles[-1] %} ! +{% endif %} {% endfor %} {% endif %} From be1ab2eeae5cce6345c48871e5e70d7ea1d0d0a7 Mon Sep 17 00:00:00 2001 From: laxmikant Date: Fri, 10 May 2024 16:25:41 +0530 Subject: [PATCH 32/44] Fix logic for empty line character. --- .../devices/monitor-telemetry-postcard-policy.md | 2 -- .../configs/monitor-telemetry-postcard-policy.cfg | 2 -- .../templates/eos/monitor-telemetry-postcard-policy.j2 | 8 ++++---- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md index e3ec9700af2..7a00614cf93 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md @@ -94,7 +94,6 @@ monitor telemetry postcard policy protocol udp destination port ssh ! match rule3 ipv4 - ! ! sample policy samplepo2 match rule1 ipv4 @@ -105,7 +104,6 @@ monitor telemetry postcard policy protocol udp source port 77 protocol udp source port 78-80 protocol udp source port www - ! ! profile profile1 ingress sample policy samplepo1 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg index 608d90b5a3b..ff729d8fa97 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg @@ -36,7 +36,6 @@ monitor telemetry postcard policy protocol udp destination port ssh ! match rule3 ipv4 - ! ! sample policy samplepo2 match rule1 ipv4 @@ -47,7 +46,6 @@ monitor telemetry postcard policy protocol udp source port 77 protocol udp source port 78-80 protocol udp source port www - ! ! profile profile1 ingress sample policy samplepo1 diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 index 85989fd0877..4e60d664dc3 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 @@ -49,19 +49,19 @@ monitor telemetry postcard policy {% endif %} {% endfor %} {% endif %} +{% if not loop.last %} ! +{% endif %} {% endfor %} -{% if policy != monitor_telemetry_postcard_policy.sample_policies[-1] or monitor_telemetry_postcard_policy.profiles is arista.avd.defined %} +{% if not loop.last %} ! {% endif %} {% endfor %} {% for profile in monitor_telemetry_postcard_policy.profiles | arista.avd.natural_sort("name") %} + ! profile {{ profile.name }} {% if profile.ingress_sample_policy is arista.avd.defined %} ingress sample policy {{ profile.ingress_sample_policy }} {% endif %} -{% if profile != monitor_telemetry_postcard_policy.profiles[-1] %} - ! -{% endif %} {% endfor %} {% endif %} From cfb8e22b4c82043e255dc725c353ff6b9ce88936 Mon Sep 17 00:00:00 2001 From: Shivani-gslab Date: Fri, 10 May 2024 17:10:54 +0530 Subject: [PATCH 33/44] Fixing the template --- .../templates/eos/monitor-telemetry-postcard-policy.j2 | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 index 4e60d664dc3..1b57376dfdd 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 @@ -25,8 +25,8 @@ monitor telemetry postcard policy {% endif %} {{ ingress_cli }} {% endif %} - ! {% for policy in monitor_telemetry_postcard_policy.sample_policies | arista.avd.natural_sort("name") %} + ! sample policy {{ policy.name }} {% for rule in policy.match_rules | arista.avd.natural_sort("name") %} {% if rule.type is arista.avd.defined %} @@ -53,9 +53,6 @@ monitor telemetry postcard policy ! {% endif %} {% endfor %} -{% if not loop.last %} - ! -{% endif %} {% endfor %} {% for profile in monitor_telemetry_postcard_policy.profiles | arista.avd.natural_sort("name") %} ! From a176ff64960237bb122a4808e4fc3bcae7bc825a Mon Sep 17 00:00:00 2001 From: laxmikant Date: Fri, 10 May 2024 17:50:59 +0530 Subject: [PATCH 34/44] Making disabled key defaulttrue. --- .../docs/tables/monitor-telemetry-postcard-policy.md | 4 ++-- .../schemas/eos_cli_config_gen.jsonschema.json | 1 + .../eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml | 1 + .../monitor_telemetry_postcard_policy.schema.yml | 1 + .../avd/roles/eos_designs/schemas/eos_designs.jsonschema.json | 1 + 5 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md index d2f9a03c71d..d528dbbced0 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md @@ -8,7 +8,7 @@ | Variable | Type | Required | Default | Value Restrictions | Description | | -------- | ---- | -------- | ------- | ------------------ | ----------- | | [monitor_telemetry_postcard_policy](## "monitor_telemetry_postcard_policy") | Dictionary | | | | | - | [  disabled](## "monitor_telemetry_postcard_policy.disabled") | Boolean | | | | Enable or disable the postcard telemetry feature. | + | [  disabled](## "monitor_telemetry_postcard_policy.disabled") | Boolean | | `True` | | Enable or disable the postcard telemetry feature. | | [  ingress](## "monitor_telemetry_postcard_policy.ingress") | Dictionary | | | | | | [    collection](## "monitor_telemetry_postcard_policy.ingress.collection") | Dictionary | | | | Collector configuration. | | [      source](## "monitor_telemetry_postcard_policy.ingress.collection.source") | String | | | | Configure source IP address of GRE tunnel. | @@ -41,7 +41,7 @@ monitor_telemetry_postcard_policy: # Enable or disable the postcard telemetry feature. - disabled: + disabled: ingress: # Collector configuration. diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index a82b9e349f0..d0950fd0ea1 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -12169,6 +12169,7 @@ "properties": { "disabled": { "type": "boolean", + "default": true, "description": "Enable or disable the postcard telemetry feature.", "title": "Disabled" }, diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index 58031886873..454990d0531 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -7152,6 +7152,7 @@ keys: keys: disabled: type: bool + default: true description: Enable or disable the postcard telemetry feature. ingress: type: dict diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml index 9851692b80f..4f2bbddcdef 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml @@ -11,6 +11,7 @@ keys: keys: disabled: type: bool + default: true description: Enable or disable the postcard telemetry feature. ingress: type: dict diff --git a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json index 1146890377c..b99b2cc0c55 100644 --- a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json @@ -28863,6 +28863,7 @@ "properties": { "disabled": { "type": "boolean", + "default": true, "description": "Enable or disable the postcard telemetry feature.", "title": "Disabled" }, From 2b02bc245377609abef7c76583a8cf5338b7d48d Mon Sep 17 00:00:00 2001 From: laxmikant Date: Tue, 14 May 2024 14:00:26 +0530 Subject: [PATCH 35/44] Fixing EOS template. --- .../templates/eos/monitor-telemetry-postcard-policy.j2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 index 1b57376dfdd..3c343548af3 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 @@ -12,8 +12,8 @@ monitor telemetry postcard policy {% endif %} {% if monitor_telemetry_postcard_policy.ingress.sample.rate is arista.avd.defined %} ingress sample rate {{ monitor_telemetry_postcard_policy.ingress.sample.rate }} -{% elif monitor_telemetry_postcard_policy.ingress.sample.tcp_udp.checksum is arista.avd.defined and monitor_telemetry_postcard_policy.ingress.sample.tcp_udp.mask is arista.avd.defined %} - ingress sample tcp-udp-checksum value {{ monitor_telemetry_postcard_policy.ingress.sample.tcp_udp.checksum }} mask {{ monitor_telemetry_postcard_policy.ingress.sample.tcp_udp.mask }} +{% elif monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum is arista.avd.defined and monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.mask is arista.avd.defined %} + ingress sample tcp-udp-checksum value {{ monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.value }} mask {{ monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.mask }} {% endif %} {% if monitor_telemetry_postcard_policy.vxlan_marking_bit is arista.avd.defined %} marker vxlan header word 0 bit {{ monitor_telemetry_postcard_policy.vxlan_marking_bit | arista.avd.default(0) }} From 0741f6fcc7e5244ec9ad841008c3a2c78274558c Mon Sep 17 00:00:00 2001 From: Vibhu-gslab <109593615+Vibhu-gslab@users.noreply.github.com> Date: Tue, 14 May 2024 15:23:12 +0530 Subject: [PATCH 36/44] Update ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 --- .../templates/eos/monitor-telemetry-postcard-policy.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 index 3c343548af3..13806af4503 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 @@ -12,7 +12,7 @@ monitor telemetry postcard policy {% endif %} {% if monitor_telemetry_postcard_policy.ingress.sample.rate is arista.avd.defined %} ingress sample rate {{ monitor_telemetry_postcard_policy.ingress.sample.rate }} -{% elif monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum is arista.avd.defined and monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.mask is arista.avd.defined %} +{% elif monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.value is arista.avd.defined and monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.mask is arista.avd.defined %} ingress sample tcp-udp-checksum value {{ monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.value }} mask {{ monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.mask }} {% endif %} {% if monitor_telemetry_postcard_policy.vxlan_marking_bit is arista.avd.defined %} From 440b15ce97b60cca9e45c7b3b0d904e98e11eaf9 Mon Sep 17 00:00:00 2001 From: Laxmikant Chintakindi Date: Fri, 17 May 2024 14:10:37 +0530 Subject: [PATCH 37/44] Fixed marker configuration. --- .../devices/monitor-telemetry-postcard-policy.md | 2 +- .../configs/monitor-telemetry-postcard-policy.cfg | 2 +- .../host_vars/monitor-telemetry-postcard-policy.yml | 3 ++- .../docs/tables/monitor-telemetry-postcard-policy.md | 8 ++++++-- .../schemas/eos_cli_config_gen.jsonschema.json | 8 ++++++-- .../schemas/eos_cli_config_gen.schema.yml | 6 ++++-- .../monitor_telemetry_postcard_policy.schema.yml | 6 ++++-- .../templates/eos/monitor-telemetry-postcard-policy.j2 | 6 ++++-- .../roles/eos_designs/schemas/eos_designs.jsonschema.json | 8 ++++++-- 9 files changed, 34 insertions(+), 15 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md index 7a00614cf93..8ec0fb45609 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md @@ -73,7 +73,7 @@ interface Management1 monitor telemetry postcard policy no disabled ingress sample rate 16384 - marker vxlan header word 0 bit 0 + marker vxlan ingress collection gre source 10.3.3.3 destination 10.3.3.4 version 2 ! sample policy samplepo1 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg index ff729d8fa97..76815cfa7b5 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg @@ -15,7 +15,7 @@ interface Management1 monitor telemetry postcard policy no disabled ingress sample rate 16384 - marker vxlan header word 0 bit 0 + marker vxlan ingress collection gre source 10.3.3.3 destination 10.3.3.4 version 2 ! sample policy samplepo1 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml index 836db9b1e11..d294f099232 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml @@ -10,7 +10,8 @@ monitor_telemetry_postcard_policy: tcp_udp_checksum: value: 65000 mask: "0xffff" - vxlan_marking_bit: 0 + marker_vxlan: true + vxlan_marking_bit: 2 profiles: - name: profile1 ingress_sample_policy: samplepo1 diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md index d528dbbced0..a6a88188a1c 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md @@ -19,7 +19,8 @@ | [      tcp_udp_checksum](## "monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum") | Dictionary | | | | TCP/UDP parameters. | | [        value](## "monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.value") | Integer | | | Min: 0
Max: 65535 | TCP/UDP checksum or IP ID value. | | [        mask](## "monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.mask") | String | | | | 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unset bits. | - | [  vxlan_marking_bit](## "monitor_telemetry_postcard_policy.vxlan_marking_bit") | Integer | | `0` | Min: 0
Max: 31 | | + | [  marker_vxlan](## "monitor_telemetry_postcard_policy.marker_vxlan") | Boolean | | | | Enable vxlan marking using default bit 0. | + | [  vxlan_marking_bit](## "monitor_telemetry_postcard_policy.vxlan_marking_bit") | Integer | | | Min: 1
Max: 31 | | | [  profiles](## "monitor_telemetry_postcard_policy.profiles") | List, items: Dictionary | | | | Postcard telemetry profiles. | | [    - name](## "monitor_telemetry_postcard_policy.profiles.[].name") | String | Required, Unique | | | Profile name. | | [      ingress_sample_policy](## "monitor_telemetry_postcard_policy.profiles.[].ingress_sample_policy") | String | | | | | @@ -70,7 +71,10 @@ # 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unset bits. mask: - vxlan_marking_bit: + + # Enable vxlan marking using default bit 0. + marker_vxlan: + vxlan_marking_bit: # Postcard telemetry profiles. profiles: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index 3dd2ae0c626..8051913747a 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -12447,10 +12447,14 @@ }, "title": "Ingress" }, + "marker_vxlan": { + "type": "boolean", + "description": "Enable vxlan marking using default bit 0.", + "title": "Marker VxLAN" + }, "vxlan_marking_bit": { "type": "integer", - "default": 0, - "minimum": 0, + "minimum": 1, "maximum": 31, "title": "VxLAN Marking Bit" }, diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index fd016848612..c8302254726 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -7307,10 +7307,12 @@ keys: type: str description: 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unset bits. + marker_vxlan: + type: bool + description: Enable vxlan marking using default bit 0. vxlan_marking_bit: type: int - default: 0 - min: 0 + min: 1 max: 31 convert_types: - str diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml index 4f2bbddcdef..7e8542ebf5f 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml @@ -54,10 +54,12 @@ keys: mask: type: str description: 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unset bits. + marker_vxlan: + type: bool + description: Enable vxlan marking using default bit 0. vxlan_marking_bit: type: int - default: 0 - min: 0 + min: 1 max: 31 convert_types: - str diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 index 13806af4503..7ea135873d0 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 @@ -15,8 +15,10 @@ monitor telemetry postcard policy {% elif monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.value is arista.avd.defined and monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.mask is arista.avd.defined %} ingress sample tcp-udp-checksum value {{ monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.value }} mask {{ monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.mask }} {% endif %} -{% if monitor_telemetry_postcard_policy.vxlan_marking_bit is arista.avd.defined %} - marker vxlan header word 0 bit {{ monitor_telemetry_postcard_policy.vxlan_marking_bit | arista.avd.default(0) }} +{% if monitor_telemetry_postcard_policy.marker_vxlan is arista.avd.defined(true) %} + marker vxlan +{% elif monitor_telemetry_postcard_policy.vxlan_marking_bit is arista.avd.defined %} + marker vxlan header word 0 bit {{ monitor_telemetry_postcard_policy.vxlan_marking_bit }} {% endif %} {% if monitor_telemetry_postcard_policy.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard_policy.ingress.collection.destination is arista.avd.defined %} {% set ingress_cli = "ingress collection gre source " ~ monitor_telemetry_postcard_policy.ingress.collection.source ~ " destination " ~ monitor_telemetry_postcard_policy.ingress.collection.destination %} diff --git a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json index 3fd9e5766f6..c67eb0c764d 100644 --- a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json @@ -29112,10 +29112,14 @@ }, "title": "Ingress" }, + "marker_vxlan": { + "type": "boolean", + "description": "Enable vxlan marking using default bit 0.", + "title": "Marker VxLAN" + }, "vxlan_marking_bit": { "type": "integer", - "default": 0, - "minimum": 0, + "minimum": 1, "maximum": 31, "title": "VxLAN Marking Bit" }, From ee33f26eda86aff6103e5cdd7cd852823a7bd6c3 Mon Sep 17 00:00:00 2001 From: Laxmikant Chintakindi Date: Wed, 22 May 2024 18:26:37 +0530 Subject: [PATCH 38/44] Fixing schemas and eos template for source and destination ports. --- .../monitor-telemetry-postcard-policy.md | 25 ++++------ .../monitor-telemetry-postcard-policy.cfg | 19 ++------ .../monitor-telemetry-postcard-policy.yml | 14 ++---- .../monitor-telemetry-postcard-policy.md | 40 +++++++++------- .../eos_cli_config_gen.jsonschema.json | 44 +++++++++++------ .../schemas/eos_cli_config_gen.schema.yml | 47 ++++++++++++------- ...nitor_telemetry_postcard_policy.schema.yml | 45 +++++++++++------- .../eos/monitor-telemetry-postcard-policy.j2 | 23 +++++---- .../schemas/eos_designs.jsonschema.json | 44 +++++++++++------ 9 files changed, 176 insertions(+), 125 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md index 8ec0fb45609..1adf4cab962 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md @@ -47,8 +47,8 @@ interface Management1 | Rule Name | Rule Type | Source Prefix | Destination Prefix | Protocol | Source Ports | Destination Ports | | --------- | --------- | ------------- | ------------------ | -------- | ------------ | ----------------- | -| rule1 | ipv4 | 3.4.5.0/24 | 10.3.3.0/24 | tcp
udp | -
98 | 77, 78-80, www
99 | -| rule2 | ipv6 | 5::0/128 | 4::0/128 | udp | - | 747, 748-800, ssh | +| rule1 | ipv4 | 3.4.5.0/24 | 10.3.3.0/24 | tcp
udp | -
98 | 77, 78-80, 82
99 | +| rule2 | ipv6 | 5::0/128 | 4::0/128 | udp | - | 747, 748-800 | | rule3 | ipv4 | - | - | - | - | - | ##### samplepo2 @@ -57,7 +57,7 @@ interface Management1 | Rule Name | Rule Type | Source Prefix | Destination Prefix | Protocol | Source Ports | Destination Ports | | --------- | --------- | ------------- | ------------------ | -------- | ------------ | ----------------- | -| rule1 | ipv4 | 3.4.5.0/24 | 10.3.3.0/24 | udp | 77, 78-80, www | 88, www | +| rule1 | ipv4 | 3.4.5.0/24 | 10.3.3.0/24 | udp | bgp | https | #### Telemetry Postcard Policy Profiles @@ -73,25 +73,20 @@ interface Management1 monitor telemetry postcard policy no disabled ingress sample rate 16384 - marker vxlan + marker vxlan header word 0 bit 30 ingress collection gre source 10.3.3.3 destination 10.3.3.4 version 2 ! sample policy samplepo1 match rule1 ipv4 source prefix 3.4.5.0/24 destination prefix 10.3.3.0/24 - protocol tcp destination port 77 - protocol tcp destination port 78-80 - protocol tcp destination port www - protocol udp destination port 99 - protocol udp source port 98 + protocol tcp destination port 77, 78-80, 82 + protocol udp source port 98 destination port 99 ! match rule2 ipv6 source prefix 5::0/128 destination prefix 4::0/128 - protocol udp destination port 747 - protocol udp destination port 748-800 - protocol udp destination port ssh + protocol udp destination port 747, 748-800 ! match rule3 ipv4 ! @@ -99,11 +94,7 @@ monitor telemetry postcard policy match rule1 ipv4 source prefix 3.4.5.0/24 destination prefix 10.3.3.0/24 - protocol udp destination port 88 - protocol udp destination port www - protocol udp source port 77 - protocol udp source port 78-80 - protocol udp source port www + protocol udp source port bgp destination port https ! profile profile1 ingress sample policy samplepo1 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg index 76815cfa7b5..966eb3ead0d 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/intended/configs/monitor-telemetry-postcard-policy.cfg @@ -15,25 +15,20 @@ interface Management1 monitor telemetry postcard policy no disabled ingress sample rate 16384 - marker vxlan + marker vxlan header word 0 bit 30 ingress collection gre source 10.3.3.3 destination 10.3.3.4 version 2 ! sample policy samplepo1 match rule1 ipv4 source prefix 3.4.5.0/24 destination prefix 10.3.3.0/24 - protocol tcp destination port 77 - protocol tcp destination port 78-80 - protocol tcp destination port www - protocol udp destination port 99 - protocol udp source port 98 + protocol tcp destination port 77, 78-80, 82 + protocol udp source port 98 destination port 99 ! match rule2 ipv6 source prefix 5::0/128 destination prefix 4::0/128 - protocol udp destination port 747 - protocol udp destination port 748-800 - protocol udp destination port ssh + protocol udp destination port 747, 748-800 ! match rule3 ipv4 ! @@ -41,11 +36,7 @@ monitor telemetry postcard policy match rule1 ipv4 source prefix 3.4.5.0/24 destination prefix 10.3.3.0/24 - protocol udp destination port 88 - protocol udp destination port www - protocol udp source port 77 - protocol udp source port 78-80 - protocol udp source port www + protocol udp source port bgp destination port https ! profile profile1 ingress sample policy samplepo1 diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml index d294f099232..6d6fc67437a 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml @@ -10,8 +10,8 @@ monitor_telemetry_postcard_policy: tcp_udp_checksum: value: 65000 mask: "0xffff" - marker_vxlan: true - vxlan_marking_bit: 2 + marker_vxlan: + header_word_zero_bit: 30 profiles: - name: profile1 ingress_sample_policy: samplepo1 @@ -29,7 +29,7 @@ monitor_telemetry_postcard_policy: destination_ports: - '77' - 78-80 - - www + - 82 - protocol: udp destination_ports: - "99" @@ -44,7 +44,6 @@ monitor_telemetry_postcard_policy: destination_ports: - '747' - 748-800 - - ssh - name: rule3 type: ipv4 - name: samplepo2 @@ -56,9 +55,6 @@ monitor_telemetry_postcard_policy: protocols: - protocol: udp source_ports: - - '77' - - 78-80 - - www + - bgp destination_ports: - - '88' - - www + - https diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md index a6a88188a1c..1a867fb0954 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md @@ -19,8 +19,9 @@ | [      tcp_udp_checksum](## "monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum") | Dictionary | | | | TCP/UDP parameters. | | [        value](## "monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.value") | Integer | | | Min: 0
Max: 65535 | TCP/UDP checksum or IP ID value. | | [        mask](## "monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.mask") | String | | | | 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unset bits. | - | [  marker_vxlan](## "monitor_telemetry_postcard_policy.marker_vxlan") | Boolean | | | | Enable vxlan marking using default bit 0. | - | [  vxlan_marking_bit](## "monitor_telemetry_postcard_policy.vxlan_marking_bit") | Integer | | | Min: 1
Max: 31 | | + | [  marker_vxlan](## "monitor_telemetry_postcard_policy.marker_vxlan") | Dictionary | | | | | + | [    enabled](## "monitor_telemetry_postcard_policy.marker_vxlan.enabled") | Boolean | | | | Enable vxlan marking using default bit 0. | + | [    header_word_zero_bit](## "monitor_telemetry_postcard_policy.marker_vxlan.header_word_zero_bit") | Integer | | | Min: 1
Max: 31 | | | [  profiles](## "monitor_telemetry_postcard_policy.profiles") | List, items: Dictionary | | | | Postcard telemetry profiles. | | [    - name](## "monitor_telemetry_postcard_policy.profiles.[].name") | String | Required, Unique | | | Profile name. | | [      ingress_sample_policy](## "monitor_telemetry_postcard_policy.profiles.[].ingress_sample_policy") | String | | | | | @@ -33,8 +34,10 @@ | [          source_prefix](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].source_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. Host part of prefix must be zero.
eg. 10.3.3.0/24 | | [          protocols](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols") | List, items: Dictionary | | | | | | [            - protocol](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].protocol") | String | Required, Unique | | Valid Values:
- tcp
- udp | | - | [              destination_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].destination_ports") | List | | | | Enter the port name or range or port numbers in a list. The port numbers should be in range of 0-65535.
Example:
["12","14-20", "www"] | - | [              source_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].source_ports") | List | | | | Enter the port name or range or port numbers in a list. The port numbers should be in range of 0-65535.
Example:
["12","14-20", "www"] | + | [              source_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].source_ports") | List, items: String | | | | A list of ports or port numbers or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.
e.g.
[ "12", "14-20" ]
[ "www" ] | + | [                - <str>](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].source_ports.[]") | String | | | | | + | [              destination_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].destination_ports") | List, items: String | | | | A list of range of ports or port numbers or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.
e.g.
[ "12", "14-20", "80" ]
[ "https" ] | + | [                - <str>](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].destination_ports.[]") | String | | | | | === "YAML" @@ -71,10 +74,11 @@ # 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unset bits. mask: + marker_vxlan: - # Enable vxlan marking using default bit 0. - marker_vxlan: - vxlan_marking_bit: + # Enable vxlan marking using default bit 0. + enabled: + header_word_zero_bit: # Postcard telemetry profiles. profiles: @@ -100,13 +104,17 @@ protocols: - protocol: - # Enter the port name or range or port numbers in a list. The port numbers should be in range of 0-65535. - # Example: - # ["12","14-20", "www"] - destination_ports: - - # Enter the port name or range or port numbers in a list. The port numbers should be in range of 0-65535. - # Example: - # ["12","14-20", "www"] - source_ports: + # A list of ports or port numbers or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. + # e.g. + # [ "12", "14-20" ] + # [ "www" ] + source_ports: + - + + # A list of range of ports or port numbers or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. + # e.g. + # [ "12", "14-20", "80" ] + # [ "https" ] + destination_ports: + - ``` diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index 8051913747a..b0576d60fff 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -12448,16 +12448,26 @@ "title": "Ingress" }, "marker_vxlan": { - "type": "boolean", - "description": "Enable vxlan marking using default bit 0.", + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Enable vxlan marking using default bit 0.", + "title": "Enabled" + }, + "header_word_zero_bit": { + "type": "integer", + "minimum": 1, + "maximum": 31, + "title": "Header Word Zero Bit" + } + }, + "additionalProperties": false, + "patternProperties": { + "^_.+$": {} + }, "title": "Marker VxLAN" }, - "vxlan_marking_bit": { - "type": "integer", - "minimum": 1, - "maximum": 31, - "title": "VxLAN Marking Bit" - }, "profiles": { "type": "array", "description": "Postcard telemetry profiles.", @@ -12534,15 +12544,21 @@ ], "title": "Protocol" }, - "destination_ports": { - "type": "array", - "description": "Enter the port name or range or port numbers in a list. The port numbers should be in range of 0-65535.\nExample:\n [\"12\",\"14-20\", \"www\"]", - "title": "Destination Ports" - }, "source_ports": { "type": "array", - "description": "Enter the port name or range or port numbers in a list. The port numbers should be in range of 0-65535.\nExample:\n [\"12\",\"14-20\", \"www\"]", + "description": "A list of ports or port numbers or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\" ]\n [ \"www\" ]", + "items": { + "type": "string" + }, "title": "Source Ports" + }, + "destination_ports": { + "type": "array", + "description": "A list of range of ports or port numbers or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\", \"80\" ]\n [ \"https\" ]", + "items": { + "type": "string" + }, + "title": "Destination Ports" } }, "additionalProperties": false, diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index c8302254726..d5922a99a4a 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -7308,14 +7308,17 @@ keys: description: 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unset bits. marker_vxlan: - type: bool - description: Enable vxlan marking using default bit 0. - vxlan_marking_bit: - type: int - min: 1 - max: 31 - convert_types: - - str + type: dict + keys: + enabled: + type: bool + description: Enable vxlan marking using default bit 0. + header_word_zero_bit: + type: int + min: 1 + max: 31 + convert_types: + - str profiles: type: list description: Postcard telemetry profiles. @@ -7374,16 +7377,28 @@ keys: valid_values: - tcp - udp - destination_ports: - type: list - description: "Enter the port name or range or port numbers - in a list. The port numbers should be in range of 0-65535.\nExample:\n - \ [\"12\",\"14-20\", \"www\"]" source_ports: type: list - description: "Enter the port name or range or port numbers - in a list. The port numbers should be in range of 0-65535.\nExample:\n - \ [\"12\",\"14-20\", \"www\"]" + description: "A list of ports or port numbers or port name + in the list. Combination of port numbers or range and + port name is not supported on EOS. The port numbers should + be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\" ]\n + \ [ \"www\" ]" + items: + type: str + convert_types: + - int + destination_ports: + type: list + description: "A list of range of ports or port numbers or + port name in the list. Combination of port numbers or + range and port name is not supported on EOS. The port + numbers should be in range of 0-65535.\ne.g.\n [ \"12\", + \"14-20\", \"80\" ]\n [ \"https\" ]" + items: + type: str + convert_types: + - int mpls: type: dict keys: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml index 7e8542ebf5f..1f48c2b0c4f 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml @@ -55,14 +55,17 @@ keys: type: str description: 16 bit hexadecimal mask for TCP/UDP or IP ID with atmost 2 unset bits. marker_vxlan: - type: bool - description: Enable vxlan marking using default bit 0. - vxlan_marking_bit: - type: int - min: 1 - max: 31 - convert_types: - - str + type: dict + keys: + enabled: + type: bool + description: Enable vxlan marking using default bit 0. + header_word_zero_bit: + type: int + min: 1 + max: 31 + convert_types: + - str profiles: type: list description: Postcard telemetry profiles. @@ -115,15 +118,25 @@ keys: protocol: type: str valid_values: [ tcp, udp ] - destination_ports: + source_ports: type: list description: |- - Enter the port name or range or port numbers in a list. The port numbers should be in range of 0-65535. - Example: - ["12","14-20", "www"] - source_ports: + A list of ports or port numbers or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. + e.g. + [ "12", "14-20" ] + [ "www" ] + items: + type: str + convert_types: + - int + destination_ports: type: list description: |- - Enter the port name or range or port numbers in a list. The port numbers should be in range of 0-65535. - Example: - ["12","14-20", "www"] + A list of range of ports or port numbers or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. + e.g. + [ "12", "14-20", "80" ] + [ "https" ] + items: + type: str + convert_types: + - int diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 index 7ea135873d0..361b20cf0d8 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 @@ -9,21 +9,25 @@ monitor telemetry postcard policy {% if monitor_telemetry_postcard_policy.disabled is arista.avd.defined(false) %} no disabled +{% elif monitor_telemetry_postcard_policy.disabled is arista.avd.defined(true) %} + disabled {% endif %} {% if monitor_telemetry_postcard_policy.ingress.sample.rate is arista.avd.defined %} ingress sample rate {{ monitor_telemetry_postcard_policy.ingress.sample.rate }} {% elif monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.value is arista.avd.defined and monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.mask is arista.avd.defined %} ingress sample tcp-udp-checksum value {{ monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.value }} mask {{ monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.mask }} {% endif %} -{% if monitor_telemetry_postcard_policy.marker_vxlan is arista.avd.defined(true) %} +{% if monitor_telemetry_postcard_policy.marker_vxlan.enabled is arista.avd.defined(true) %} marker vxlan -{% elif monitor_telemetry_postcard_policy.vxlan_marking_bit is arista.avd.defined %} - marker vxlan header word 0 bit {{ monitor_telemetry_postcard_policy.vxlan_marking_bit }} +{% elif monitor_telemetry_postcard_policy.marker_vxlan.header_word_zero_bit is arista.avd.defined %} + marker vxlan header word 0 bit {{ monitor_telemetry_postcard_policy.marker_vxlan.header_word_zero_bit }} {% endif %} {% if monitor_telemetry_postcard_policy.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard_policy.ingress.collection.destination is arista.avd.defined %} {% set ingress_cli = "ingress collection gre source " ~ monitor_telemetry_postcard_policy.ingress.collection.source ~ " destination " ~ monitor_telemetry_postcard_policy.ingress.collection.destination %} {% if monitor_telemetry_postcard_policy.ingress.collection.version is arista.avd.defined(2) %} {% set ingress_cli = ingress_cli ~ " version 2" %} +{% elif monitor_telemetry_postcard_policy.ingress.collection.version is arista.avd.defined(1) %} +{% set ingress_cli = ingress_cli ~ " version 1" %} {% endif %} {{ ingress_cli }} {% endif %} @@ -42,12 +46,13 @@ monitor telemetry postcard policy {% for protocol in rule.protocols | arista.avd.natural_sort('protocol') %} {% if protocol.protocol is arista.avd.defined %} {% set protocol_cli = "protocol " ~ protocol.protocol %} -{% for dest_port in protocol.destination_ports | arista.avd.natural_sort %} - {{ protocol_cli }} destination port {{ dest_port }} -{% endfor %} -{% for src_port in protocol.source_ports | arista.avd.natural_sort %} - {{ protocol_cli }} source port {{ src_port }} -{% endfor %} +{% if protocol.source_ports is arista.avd.defined %} +{% set protocol_cli = protocol_cli ~ " source port " ~ protocol.source_ports | join(", ") %} +{% endif %} +{% if protocol.destination_ports is arista.avd.defined %} +{% set protocol_cli = protocol_cli ~ " destination port " ~ protocol.destination_ports | join(", ") %} +{% endif %} + {{ protocol_cli }} {% endif %} {% endfor %} {% endif %} diff --git a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json index c67eb0c764d..b6c49e29b71 100644 --- a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json @@ -29113,16 +29113,26 @@ "title": "Ingress" }, "marker_vxlan": { - "type": "boolean", - "description": "Enable vxlan marking using default bit 0.", + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Enable vxlan marking using default bit 0.", + "title": "Enabled" + }, + "header_word_zero_bit": { + "type": "integer", + "minimum": 1, + "maximum": 31, + "title": "Header Word Zero Bit" + } + }, + "additionalProperties": false, + "patternProperties": { + "^_.+$": {} + }, "title": "Marker VxLAN" }, - "vxlan_marking_bit": { - "type": "integer", - "minimum": 1, - "maximum": 31, - "title": "VxLAN Marking Bit" - }, "profiles": { "type": "array", "description": "Postcard telemetry profiles.", @@ -29199,15 +29209,21 @@ ], "title": "Protocol" }, - "destination_ports": { - "type": "array", - "description": "Enter the port name or range or port numbers in a list. The port numbers should be in range of 0-65535.\nExample:\n [\"12\",\"14-20\", \"www\"]", - "title": "Destination Ports" - }, "source_ports": { "type": "array", - "description": "Enter the port name or range or port numbers in a list. The port numbers should be in range of 0-65535.\nExample:\n [\"12\",\"14-20\", \"www\"]", + "description": "A list of ports or port numbers or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\" ]\n [ \"www\" ]", + "items": { + "type": "string" + }, "title": "Source Ports" + }, + "destination_ports": { + "type": "array", + "description": "A list of range of ports or port numbers or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\", \"80\" ]\n [ \"https\" ]", + "items": { + "type": "string" + }, + "title": "Destination Ports" } }, "additionalProperties": false, From cf399943bd34f4875f8c72560b91d1e574128df8 Mon Sep 17 00:00:00 2001 From: Laxmikant Chintakindi Date: Wed, 22 May 2024 18:31:33 +0530 Subject: [PATCH 39/44] Minor change in schema. --- .../docs/tables/monitor-telemetry-postcard-policy.md | 8 ++++---- .../schemas/eos_cli_config_gen.jsonschema.json | 4 ++-- .../schemas/eos_cli_config_gen.schema.yml | 4 ++-- .../monitor_telemetry_postcard_policy.schema.yml | 4 ++-- .../roles/eos_designs/schemas/eos_designs.jsonschema.json | 4 ++-- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md index 1a867fb0954..5bb922b9b47 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md @@ -34,9 +34,9 @@ | [          source_prefix](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].source_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. Host part of prefix must be zero.
eg. 10.3.3.0/24 | | [          protocols](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols") | List, items: Dictionary | | | | | | [            - protocol](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].protocol") | String | Required, Unique | | Valid Values:
- tcp
- udp | | - | [              source_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].source_ports") | List, items: String | | | | A list of ports or port numbers or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.
e.g.
[ "12", "14-20" ]
[ "www" ] | + | [              source_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].source_ports") | List, items: String | | | | A list of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.
e.g.
[ "12", "14-20" ]
[ "www" ] | | [                - <str>](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].source_ports.[]") | String | | | | | - | [              destination_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].destination_ports") | List, items: String | | | | A list of range of ports or port numbers or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.
e.g.
[ "12", "14-20", "80" ]
[ "https" ] | + | [              destination_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].destination_ports") | List, items: String | | | | A list of range of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.
e.g.
[ "12", "14-20", "80" ]
[ "https" ] | | [                - <str>](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].destination_ports.[]") | String | | | | | === "YAML" @@ -104,14 +104,14 @@ protocols: - protocol: - # A list of ports or port numbers or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. + # A list of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. # e.g. # [ "12", "14-20" ] # [ "www" ] source_ports: - - # A list of range of ports or port numbers or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. + # A list of range of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. # e.g. # [ "12", "14-20", "80" ] # [ "https" ] diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index b0576d60fff..03ee96946e0 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -12546,7 +12546,7 @@ }, "source_ports": { "type": "array", - "description": "A list of ports or port numbers or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\" ]\n [ \"www\" ]", + "description": "A list of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\" ]\n [ \"www\" ]", "items": { "type": "string" }, @@ -12554,7 +12554,7 @@ }, "destination_ports": { "type": "array", - "description": "A list of range of ports or port numbers or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\", \"80\" ]\n [ \"https\" ]", + "description": "A list of range of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\", \"80\" ]\n [ \"https\" ]", "items": { "type": "string" }, diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index d5922a99a4a..69508ee6200 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -7379,7 +7379,7 @@ keys: - udp source_ports: type: list - description: "A list of ports or port numbers or port name + description: "A list of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\" ]\n @@ -7390,7 +7390,7 @@ keys: - int destination_ports: type: list - description: "A list of range of ports or port numbers or + description: "A list of range of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml index 1f48c2b0c4f..51d525de24e 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml @@ -121,7 +121,7 @@ keys: source_ports: type: list description: |- - A list of ports or port numbers or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. + A list of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. e.g. [ "12", "14-20" ] [ "www" ] @@ -132,7 +132,7 @@ keys: destination_ports: type: list description: |- - A list of range of ports or port numbers or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. + A list of range of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. e.g. [ "12", "14-20", "80" ] [ "https" ] diff --git a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json index b6c49e29b71..dd081b95a97 100644 --- a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json @@ -29211,7 +29211,7 @@ }, "source_ports": { "type": "array", - "description": "A list of ports or port numbers or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\" ]\n [ \"www\" ]", + "description": "A list of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\" ]\n [ \"www\" ]", "items": { "type": "string" }, @@ -29219,7 +29219,7 @@ }, "destination_ports": { "type": "array", - "description": "A list of range of ports or port numbers or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\", \"80\" ]\n [ \"https\" ]", + "description": "A list of range of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\", \"80\" ]\n [ \"https\" ]", "items": { "type": "string" }, From 6812a4aff7029b176892d6bb451894dfcbbe1fe9 Mon Sep 17 00:00:00 2001 From: Laxmikant Chintakindi Date: Wed, 22 May 2024 18:37:25 +0530 Subject: [PATCH 40/44] Minor correctiong in schema. --- .../monitor-telemetry-postcard-policy.md | 8 ++++---- .../eos_cli_config_gen.jsonschema.json | 4 ++-- .../schemas/eos_cli_config_gen.schema.yml | 20 +++++++++---------- ...nitor_telemetry_postcard_policy.schema.yml | 4 ++-- .../schemas/eos_designs.jsonschema.json | 4 ++-- 5 files changed, 20 insertions(+), 20 deletions(-) diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md index 5bb922b9b47..ae05291528b 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md @@ -34,9 +34,9 @@ | [          source_prefix](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].source_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. Host part of prefix must be zero.
eg. 10.3.3.0/24 | | [          protocols](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols") | List, items: Dictionary | | | | | | [            - protocol](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].protocol") | String | Required, Unique | | Valid Values:
- tcp
- udp | | - | [              source_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].source_ports") | List, items: String | | | | A list of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.
e.g.
[ "12", "14-20" ]
[ "www" ] | + | [              source_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].source_ports") | List, items: String | | | | A list of port numbers or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.
e.g.
[ "12", "14-20" ]
[ "www" ] | | [                - <str>](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].source_ports.[]") | String | | | | | - | [              destination_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].destination_ports") | List, items: String | | | | A list of range of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.
e.g.
[ "12", "14-20", "80" ]
[ "https" ] | + | [              destination_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].destination_ports") | List, items: String | | | | A list of port numbers or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.
e.g.
[ "12", "14-20", "80" ]
[ "https" ] | | [                - <str>](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].destination_ports.[]") | String | | | | | === "YAML" @@ -104,14 +104,14 @@ protocols: - protocol: - # A list of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. + # A list of port numbers or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. # e.g. # [ "12", "14-20" ] # [ "www" ] source_ports: - - # A list of range of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. + # A list of port numbers or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. # e.g. # [ "12", "14-20", "80" ] # [ "https" ] diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index 03ee96946e0..049a407dc95 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -12546,7 +12546,7 @@ }, "source_ports": { "type": "array", - "description": "A list of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\" ]\n [ \"www\" ]", + "description": "A list of port numbers or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\" ]\n [ \"www\" ]", "items": { "type": "string" }, @@ -12554,7 +12554,7 @@ }, "destination_ports": { "type": "array", - "description": "A list of range of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\", \"80\" ]\n [ \"https\" ]", + "description": "A list of port numbers or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\", \"80\" ]\n [ \"https\" ]", "items": { "type": "string" }, diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index 69508ee6200..21bc0d384f7 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -7379,22 +7379,22 @@ keys: - udp source_ports: type: list - description: "A list of ports or port range or port name - in the list. Combination of port numbers or range and - port name is not supported on EOS. The port numbers should - be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\" ]\n - \ [ \"www\" ]" + description: "A list of port numbers or port range or port + name in the list. Combination of port numbers or range + and port name is not supported on EOS. The port numbers + should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\" + ]\n [ \"www\" ]" items: type: str convert_types: - int destination_ports: type: list - description: "A list of range of ports or port range or - port name in the list. Combination of port numbers or - range and port name is not supported on EOS. The port - numbers should be in range of 0-65535.\ne.g.\n [ \"12\", - \"14-20\", \"80\" ]\n [ \"https\" ]" + description: "A list of port numbers or port range or port + name in the list. Combination of port numbers or range + and port name is not supported on EOS. The port numbers + should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\", + \"80\" ]\n [ \"https\" ]" items: type: str convert_types: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml index 51d525de24e..59c268c07f7 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml @@ -121,7 +121,7 @@ keys: source_ports: type: list description: |- - A list of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. + A list of port numbers or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. e.g. [ "12", "14-20" ] [ "www" ] @@ -132,7 +132,7 @@ keys: destination_ports: type: list description: |- - A list of range of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. + A list of port numbers or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. e.g. [ "12", "14-20", "80" ] [ "https" ] diff --git a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json index dd081b95a97..96fd1bee123 100644 --- a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json @@ -29211,7 +29211,7 @@ }, "source_ports": { "type": "array", - "description": "A list of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\" ]\n [ \"www\" ]", + "description": "A list of port numbers or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\" ]\n [ \"www\" ]", "items": { "type": "string" }, @@ -29219,7 +29219,7 @@ }, "destination_ports": { "type": "array", - "description": "A list of range of ports or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\", \"80\" ]\n [ \"https\" ]", + "description": "A list of port numbers or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\", \"80\" ]\n [ \"https\" ]", "items": { "type": "string" }, From 47be37a6b5a8a7db588e13a79b482e5d4ccfd336 Mon Sep 17 00:00:00 2001 From: Laxmikant Chintakindi Date: Wed, 22 May 2024 18:38:56 +0530 Subject: [PATCH 41/44] Correction in schema. --- .../tables/monitor-telemetry-postcard-policy.md | 8 ++++---- .../schemas/eos_cli_config_gen.jsonschema.json | 4 ++-- .../schemas/eos_cli_config_gen.schema.yml | 16 ++++++++-------- .../monitor_telemetry_postcard_policy.schema.yml | 4 ++-- .../schemas/eos_designs.jsonschema.json | 4 ++-- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md index ae05291528b..f7f40cf592b 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md @@ -34,9 +34,9 @@ | [          source_prefix](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].source_prefix") | String | | | | IPv4 Network/Mask or IPv6 Network/Mask. Host part of prefix must be zero.
eg. 10.3.3.0/24 | | [          protocols](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols") | List, items: Dictionary | | | | | | [            - protocol](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].protocol") | String | Required, Unique | | Valid Values:
- tcp
- udp | | - | [              source_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].source_ports") | List, items: String | | | | A list of port numbers or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.
e.g.
[ "12", "14-20" ]
[ "www" ] | + | [              source_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].source_ports") | List, items: String | | | | A list of port numbers or port range or port name. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.
e.g.
[ "12", "14-20" ]
[ "www" ] | | [                - <str>](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].source_ports.[]") | String | | | | | - | [              destination_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].destination_ports") | List, items: String | | | | A list of port numbers or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.
e.g.
[ "12", "14-20", "80" ]
[ "https" ] | + | [              destination_ports](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].destination_ports") | List, items: String | | | | A list of port numbers or port range or port name. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.
e.g.
[ "12", "14-20", "80" ]
[ "https" ] | | [                - <str>](## "monitor_telemetry_postcard_policy.sample_policies.[].match_rules.[].protocols.[].destination_ports.[]") | String | | | | | === "YAML" @@ -104,14 +104,14 @@ protocols: - protocol: - # A list of port numbers or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. + # A list of port numbers or port range or port name. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. # e.g. # [ "12", "14-20" ] # [ "www" ] source_ports: - - # A list of port numbers or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. + # A list of port numbers or port range or port name. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. # e.g. # [ "12", "14-20", "80" ] # [ "https" ] diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index 049a407dc95..841f2f332db 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -12546,7 +12546,7 @@ }, "source_ports": { "type": "array", - "description": "A list of port numbers or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\" ]\n [ \"www\" ]", + "description": "A list of port numbers or port range or port name. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\" ]\n [ \"www\" ]", "items": { "type": "string" }, @@ -12554,7 +12554,7 @@ }, "destination_ports": { "type": "array", - "description": "A list of port numbers or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\", \"80\" ]\n [ \"https\" ]", + "description": "A list of port numbers or port range or port name. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\", \"80\" ]\n [ \"https\" ]", "items": { "type": "string" }, diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index 21bc0d384f7..52028d47ac2 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -7380,10 +7380,10 @@ keys: source_ports: type: list description: "A list of port numbers or port range or port - name in the list. Combination of port numbers or range - and port name is not supported on EOS. The port numbers - should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\" - ]\n [ \"www\" ]" + name. Combination of port numbers or range and port name + is not supported on EOS. The port numbers should be in + range of 0-65535.\ne.g.\n [ \"12\", \"14-20\" ]\n [ + \"www\" ]" items: type: str convert_types: @@ -7391,10 +7391,10 @@ keys: destination_ports: type: list description: "A list of port numbers or port range or port - name in the list. Combination of port numbers or range - and port name is not supported on EOS. The port numbers - should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\", - \"80\" ]\n [ \"https\" ]" + name. Combination of port numbers or range and port name + is not supported on EOS. The port numbers should be in + range of 0-65535.\ne.g.\n [ \"12\", \"14-20\", \"80\" + ]\n [ \"https\" ]" items: type: str convert_types: diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml index 59c268c07f7..dc4e94eb5a7 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml @@ -121,7 +121,7 @@ keys: source_ports: type: list description: |- - A list of port numbers or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. + A list of port numbers or port range or port name. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. e.g. [ "12", "14-20" ] [ "www" ] @@ -132,7 +132,7 @@ keys: destination_ports: type: list description: |- - A list of port numbers or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. + A list of port numbers or port range or port name. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535. e.g. [ "12", "14-20", "80" ] [ "https" ] diff --git a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json index 96fd1bee123..987c109143e 100644 --- a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json @@ -29211,7 +29211,7 @@ }, "source_ports": { "type": "array", - "description": "A list of port numbers or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\" ]\n [ \"www\" ]", + "description": "A list of port numbers or port range or port name. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\" ]\n [ \"www\" ]", "items": { "type": "string" }, @@ -29219,7 +29219,7 @@ }, "destination_ports": { "type": "array", - "description": "A list of port numbers or port range or port name in the list. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\", \"80\" ]\n [ \"https\" ]", + "description": "A list of port numbers or port range or port name. Combination of port numbers or range and port name is not supported on EOS. The port numbers should be in range of 0-65535.\ne.g.\n [ \"12\", \"14-20\", \"80\" ]\n [ \"https\" ]", "items": { "type": "string" }, From 736fe0f735f618ba3dfc84123f8a91bdcacc84b9 Mon Sep 17 00:00:00 2001 From: Laxmikant Chintakindi Date: Wed, 22 May 2024 21:43:53 +0530 Subject: [PATCH 42/44] Enhacing eos template. --- .../devices/monitor-telemetry-postcard-policy.md | 2 +- .../docs/tables/monitor-telemetry-postcard-policy.md | 8 ++++---- .../schemas/eos_cli_config_gen.jsonschema.json | 4 ++-- .../schemas/eos_cli_config_gen.schema.yml | 6 ++++-- .../monitor_telemetry_postcard_policy.schema.yml | 6 ++++-- .../documentation/monitor-telemetry-postcard-policy.j2 | 2 +- .../templates/eos/monitor-telemetry-postcard-policy.j2 | 6 ++---- .../roles/eos_designs/schemas/eos_designs.jsonschema.json | 4 ++-- 8 files changed, 20 insertions(+), 18 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md index 1adf4cab962..5426ef15553 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md @@ -66,7 +66,7 @@ interface Management1 | profile1 | samplepo1 | | profile2 | samplepo2 | -#### Monitor Telemetry Postcard Configuration +#### Monitor Telemetry Postcard Policy Configuration ```eos ! diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md index f7f40cf592b..6bb11e58c98 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/docs/tables/monitor-telemetry-postcard-policy.md @@ -11,8 +11,8 @@ | [  disabled](## "monitor_telemetry_postcard_policy.disabled") | Boolean | | `True` | | Enable or disable the postcard telemetry feature. | | [  ingress](## "monitor_telemetry_postcard_policy.ingress") | Dictionary | | | | | | [    collection](## "monitor_telemetry_postcard_policy.ingress.collection") | Dictionary | | | | Collector configuration. | - | [      source](## "monitor_telemetry_postcard_policy.ingress.collection.source") | String | | | | Configure source IP address of GRE tunnel. | - | [      destination](## "monitor_telemetry_postcard_policy.ingress.collection.destination") | String | | | | Configure destination IP address of GRE tunnel. | + | [      source](## "monitor_telemetry_postcard_policy.ingress.collection.source") | String | | | | Source IP address of GRE tunnel. | + | [      destination](## "monitor_telemetry_postcard_policy.ingress.collection.destination") | String | | | | Destination IP address of GRE tunnel. | | [      version](## "monitor_telemetry_postcard_policy.ingress.collection.version") | Integer | | | Valid Values:
- 1
- 2 | Postcard version. | | [    sample](## "monitor_telemetry_postcard_policy.ingress.sample") | Dictionary | | | | Sampling parameters. | | [      rate](## "monitor_telemetry_postcard_policy.ingress.sample.rate") | Integer | | | Valid Values:
- 16384
- 32768
- 65536 | Sampling rate. `rate` is preferred when both `rate` and `tcp_udp_checksum` are defined. | @@ -51,10 +51,10 @@ # Collector configuration. collection: - # Configure source IP address of GRE tunnel. + # Source IP address of GRE tunnel. source: - # Configure destination IP address of GRE tunnel. + # Destination IP address of GRE tunnel. destination: # Postcard version. diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json index 841f2f332db..c063bbdc936 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.jsonschema.json @@ -12372,12 +12372,12 @@ "properties": { "source": { "type": "string", - "description": "Configure source IP address of GRE tunnel.", + "description": "Source IP address of GRE tunnel.", "title": "Source" }, "destination": { "type": "string", - "description": "Configure destination IP address of GRE tunnel.", + "description": "Destination IP address of GRE tunnel.", "title": "Destination" }, "version": { diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml index 52028d47ac2..6bcb4462f53 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/eos_cli_config_gen.schema.yml @@ -7268,16 +7268,18 @@ keys: keys: source: type: str - description: Configure source IP address of GRE tunnel. + description: Source IP address of GRE tunnel. destination: type: str - description: Configure destination IP address of GRE tunnel. + description: Destination IP address of GRE tunnel. version: type: int description: Postcard version. valid_values: - 1 - 2 + convert_types: + - str sample: type: dict description: Sampling parameters. diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml index dc4e94eb5a7..4f9f34781d2 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/schemas/schema_fragments/monitor_telemetry_postcard_policy.schema.yml @@ -22,14 +22,16 @@ keys: keys: source: type: str - description: Configure source IP address of GRE tunnel. + description: Source IP address of GRE tunnel. destination: type: str - description: Configure destination IP address of GRE tunnel. + description: Destination IP address of GRE tunnel. version: type: int description: Postcard version. valid_values: [ 1, 2 ] + convert_types: + - str sample: type: dict description: Sampling parameters. diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard-policy.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard-policy.j2 index 5bb6d39bd48..2416f56d546 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard-policy.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/documentation/monitor-telemetry-postcard-policy.j2 @@ -57,7 +57,7 @@ {% endfor %} {% endif %} -#### Monitor Telemetry Postcard Configuration +#### Monitor Telemetry Postcard Policy Configuration ```eos {% include 'eos/monitor-telemetry-postcard-policy.j2' %} diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 index 361b20cf0d8..8dbef2df26b 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 @@ -24,10 +24,8 @@ monitor telemetry postcard policy {% endif %} {% if monitor_telemetry_postcard_policy.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard_policy.ingress.collection.destination is arista.avd.defined %} {% set ingress_cli = "ingress collection gre source " ~ monitor_telemetry_postcard_policy.ingress.collection.source ~ " destination " ~ monitor_telemetry_postcard_policy.ingress.collection.destination %} -{% if monitor_telemetry_postcard_policy.ingress.collection.version is arista.avd.defined(2) %} -{% set ingress_cli = ingress_cli ~ " version 2" %} -{% elif monitor_telemetry_postcard_policy.ingress.collection.version is arista.avd.defined(1) %} -{% set ingress_cli = ingress_cli ~ " version 1" %} +{% if monitor_telemetry_postcard_policy.ingress.collection.version is arista.avd.defined %} +{% set ingress_cli = ingress_cli ~ " version " ~ monitor_telemetry_postcard_policy.ingress.collection.version %} {% endif %} {{ ingress_cli }} {% endif %} diff --git a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json index 987c109143e..5fe0c0f9898 100644 --- a/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json +++ b/ansible_collections/arista/avd/roles/eos_designs/schemas/eos_designs.jsonschema.json @@ -29037,12 +29037,12 @@ "properties": { "source": { "type": "string", - "description": "Configure source IP address of GRE tunnel.", + "description": "Source IP address of GRE tunnel.", "title": "Source" }, "destination": { "type": "string", - "description": "Configure destination IP address of GRE tunnel.", + "description": "Destination IP address of GRE tunnel.", "title": "Destination" }, "version": { From 606b46f726c7f622d35e77bc16eb8bcc3b1ffd44 Mon Sep 17 00:00:00 2001 From: Laxmikant Chintakindi Date: Fri, 24 May 2024 15:10:50 +0530 Subject: [PATCH 43/44] Fixing eos template for marker config. --- .../host_vars/monitor-telemetry-postcard-policy.yml | 1 + .../templates/eos/monitor-telemetry-postcard-policy.j2 | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml index 6d6fc67437a..f090634d6d5 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/inventory/host_vars/monitor-telemetry-postcard-policy.yml @@ -11,6 +11,7 @@ monitor_telemetry_postcard_policy: value: 65000 mask: "0xffff" marker_vxlan: + enabled: true header_word_zero_bit: 30 profiles: - name: profile1 diff --git a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 index 8dbef2df26b..3bde516bfe4 100644 --- a/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 +++ b/ansible_collections/arista/avd/roles/eos_cli_config_gen/templates/eos/monitor-telemetry-postcard-policy.j2 @@ -18,9 +18,11 @@ monitor telemetry postcard policy ingress sample tcp-udp-checksum value {{ monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.value }} mask {{ monitor_telemetry_postcard_policy.ingress.sample.tcp_udp_checksum.mask }} {% endif %} {% if monitor_telemetry_postcard_policy.marker_vxlan.enabled is arista.avd.defined(true) %} - marker vxlan -{% elif monitor_telemetry_postcard_policy.marker_vxlan.header_word_zero_bit is arista.avd.defined %} - marker vxlan header word 0 bit {{ monitor_telemetry_postcard_policy.marker_vxlan.header_word_zero_bit }} +{% set marker_cli = "marker vxlan" %} +{% if monitor_telemetry_postcard_policy.marker_vxlan.header_word_zero_bit is arista.avd.defined %} +{% set marker_cli = marker_cli ~ " header word 0 bit " ~ monitor_telemetry_postcard_policy.marker_vxlan.header_word_zero_bit %} +{% endif %} + {{ marker_cli }} {% endif %} {% if monitor_telemetry_postcard_policy.ingress.collection.source is arista.avd.defined and monitor_telemetry_postcard_policy.ingress.collection.destination is arista.avd.defined %} {% set ingress_cli = "ingress collection gre source " ~ monitor_telemetry_postcard_policy.ingress.collection.source ~ " destination " ~ monitor_telemetry_postcard_policy.ingress.collection.destination %} From d5e402746a5fd8a323e9fc0bbe03d397c3366bd2 Mon Sep 17 00:00:00 2001 From: Laxmikant Chintakindi Date: Wed, 29 May 2024 14:51:37 +0530 Subject: [PATCH 44/44] Fixing CI issue. --- .../documentation/devices/monitor-telemetry-postcard-policy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md index 5426ef15553..fe17f700690 100644 --- a/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md +++ b/ansible_collections/arista/avd/molecule/eos_cli_config_gen/documentation/devices/monitor-telemetry-postcard-policy.md @@ -5,7 +5,7 @@ - [Management](#management) - [Management Interfaces](#management-interfaces) - [Monitoring](#monitoring) - - [Monitor Telemetry Postcard Policy](#monitor-telemetry-postcard-policy) + - [Monitor Telemetry Postcard Policy](#monitor-telemetry-postcard-policy-1) ## Management