From 8a92ec6fee36b4743ba4dff4b156342fa389fe74 Mon Sep 17 00:00:00 2001 From: Sugetha Chandhrasekar Date: Fri, 6 Sep 2024 15:23:09 -0700 Subject: [PATCH 1/8] CI: cv_deploy molecule test to use new infra --- .../arista/avd/molecule/cv_deploy/cleanup.yml | 2 +- .../avd/molecule/cv_deploy/converge.yml | 120 +++++------ .../configs/base_configs/avd-ci-leaf1.cfg | 188 +++++++++++++++++ .../configs/base_configs/avd-ci-leaf2.cfg | 188 +++++++++++++++++ .../configs/base_configs/avd-ci-leaf3.cfg | 188 +++++++++++++++++ .../configs/base_configs/avd-ci-leaf4.cfg | 188 +++++++++++++++++ .../configs/base_configs/avd-ci-spine1.cfg | 140 +++++++++++++ .../configs/base_configs/avd-ci-spine2.cfg | 140 +++++++++++++ .../configs/base_configs/ci-s1-leaf1.cfg | 56 ----- .../configs/base_configs/ci-s1-leaf2.cfg | 56 ----- .../configs/base_configs/ci-s1-leaf3.cfg | 59 ------ .../configs/base_configs/ci-s1-leaf4.cfg | 56 ----- .../configs/base_configs/ci-s1-spine1.cfg | 62 ------ .../configs/base_configs/ci-s1-spine2.cfg | 62 ------ .../configs/test_configs/avd-ci-core1.cfg | 69 +++++++ .../test_configs/avd-ci-leaf1-missing.cfg | 188 +++++++++++++++++ .../configs/test_configs/avd-ci-leaf1.cfg | 191 ++++++++++++++++++ .../configs/test_configs/avd-ci-leaf2.cfg | 188 +++++++++++++++++ .../configs/test_configs/avd-ci-leaf3.cfg | 188 +++++++++++++++++ .../configs/test_configs/avd-ci-leaf4.cfg | 188 +++++++++++++++++ .../configs/test_configs/avd-ci-spine1.cfg | 140 +++++++++++++ .../configs/test_configs/avd-ci-spine2.cfg | 140 +++++++++++++ .../configs/test_configs/ci-s1-core1.cfg | 56 ----- .../configs/test_configs/ci-s1-leaf1.cfg | 57 ------ .../configs/test_configs/ci-s1-leaf2.cfg | 56 ----- .../configs/test_configs/ci-s1-leaf3.cfg | 59 ------ .../configs/test_configs/ci-s1-leaf4.cfg | 56 ----- .../configs/test_configs/ci-s1-missing.cfg | 57 ------ .../configs/test_configs/ci-s1-spine1.cfg | 62 ------ .../configs/test_configs/ci-s1-spine2.cfg | 62 ------ .../{ci-s1-leaf1.yml => avd-ci-leaf1.yml} | 2 +- .../base_configs/avd-ci-leaf2.yml | 2 + .../base_configs/avd-ci-leaf3.yml | 2 + .../base_configs/avd-ci-leaf4.yml | 2 + .../base_configs/avd-ci-spine1.yml | 2 + .../base_configs/avd-ci-spine2.yml | 2 + .../base_configs/ci-s1-leaf2.yml | 2 - .../base_configs/ci-s1-leaf3.yml | 2 - .../base_configs/ci-s1-leaf4.yml | 2 - .../base_configs/ci-s1-spine1.yml | 2 - .../base_configs/ci-s1-spine2.yml | 2 - .../test_configs/avd-ci-core1.yml | 2 + .../{ci-s1-leaf1.yml => avd-ci-leaf1.yml} | 2 +- .../test_configs/avd-ci-leaf2.yml | 2 + .../test_configs/avd-ci-leaf3.yml | 2 + .../test_configs/avd-ci-leaf4.yml | 2 + .../{ci-s1-missing.yml => avd-ci-missing.yml} | 2 +- .../test_configs/avd-ci-spine1.yml | 2 + .../test_configs/avd-ci-spine2.yml | 2 + .../test_configs/ci-s1-core1.yml | 2 - .../test_configs/ci-s1-leaf2.yml | 2 - .../test_configs/ci-s1-leaf3.yml | 2 - .../test_configs/ci-s1-leaf4.yml | 2 - .../test_configs/ci-s1-spine1.yml | 2 - .../test_configs/ci-s1-spine2.yml | 2 - 55 files changed, 2411 insertions(+), 901 deletions(-) create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf1.cfg create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf2.cfg create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf3.cfg create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf4.cfg create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-spine1.cfg create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-spine2.cfg delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-leaf1.cfg delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-leaf2.cfg delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-leaf3.cfg delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-leaf4.cfg delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-spine1.cfg delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-spine2.cfg create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-core1.cfg create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf1-missing.cfg create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf1.cfg create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf2.cfg create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf3.cfg create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf4.cfg create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-spine1.cfg create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-spine2.cfg delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-core1.cfg delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-leaf1.cfg delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-leaf2.cfg delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-leaf3.cfg delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-leaf4.cfg delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-missing.cfg delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-spine1.cfg delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-spine2.cfg rename ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/{ci-s1-leaf1.yml => avd-ci-leaf1.yml} (90%) create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-leaf2.yml create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-leaf3.yml create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-leaf4.yml create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-spine1.yml create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-spine2.yml delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-leaf2.yml delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-leaf3.yml delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-leaf4.yml delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-spine1.yml delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-spine2.yml create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-core1.yml rename ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/{ci-s1-leaf1.yml => avd-ci-leaf1.yml} (95%) create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-leaf2.yml create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-leaf3.yml create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-leaf4.yml rename ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/{ci-s1-missing.yml => avd-ci-missing.yml} (93%) create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-spine1.yml create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-spine2.yml delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-core1.yml delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-leaf2.yml delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-leaf3.yml delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-leaf4.yml delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-spine1.yml delete mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-spine2.yml diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/cleanup.yml b/ansible_collections/arista/avd/molecule/cv_deploy/cleanup.yml index 3134e326018..16593885ec5 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/cleanup.yml +++ b/ansible_collections/arista/avd/molecule/cv_deploy/cleanup.yml @@ -7,7 +7,7 @@ cv_server: www.cv-staging.corp.arista.io cv_token: "{{ lookup('env', 'CVAAS_AAWG_CI') }}" cv_verify_certs: false - cv_devices: [ci-s1-leaf1, ci-s1-leaf2, ci-s1-leaf3, ci-s1-leaf4, ci-s1-spine1, ci-s1-spine2 ] + cv_devices: [avd-ci-leaf1, avd-ci-leaf2, avd-ci-leaf3, avd-ci-leaf4, avd-ci-spine1, avd-ci-spine2 ] cv_skip_missing_devices: true eos_config_dir: "{{ playbook_dir }}/intended/configs/base_configs" structured_dir: "{{ playbook_dir }}/intended/structured_configs/base_configs" diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml b/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml index 494f6423e74..52b922de4aa 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml +++ b/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml @@ -7,11 +7,11 @@ cv_server: www.cv-staging.corp.arista.io cv_token: "{{ lookup('env', 'CVAAS_AAWG_CI') }}" cv_verify_certs: false - cv_devices: [ci-s1-leaf1, ci-s1-leaf2, ci-s1-leaf3, ci-s1-leaf4, ci-s1-spine1, ci-s1-spine2 ] + cv_devices: [avd-ci-leaf1, avd-ci-leaf2, avd-ci-leaf3, avd-ci-leaf4, avd-ci-spine1, avd-ci-spine2 ] cv_skip_missing_devices: true eos_config_dir: "{{ playbook_dir }}/intended/configs/test_configs" structured_dir: "{{ playbook_dir }}/intended/structured_configs/test_configs" - intended_tag_device: ci-s1-leaf1 + intended_tag_device: avd-ci-leaf1 intended_tags: "{{ lookup('file', structured_dir ~ '/' ~ intended_tag_device ~ '.yml')| from_yaml }}" tasks: @@ -32,7 +32,7 @@ ########################### ######## cv_deploy ######## ########################### - - name: Test = Provision CVP with AVD configuration + - name: Provision CVP with AVD configuration run_once: true delegate_to: localhost ansible.builtin.import_role: @@ -132,7 +132,7 @@ cv_submit_workspace_force: true cv_run_change_control: true - - name: Test = Provision with workspace "Pending" + - name: Provision with workspace "Pending" run_once: true delegate_to: localhost ansible.builtin.import_role: @@ -158,61 +158,63 @@ cv_submit_workspace_force: true cv_run_change_control: true - - name: Test = Provision with cv_submit_workspace_force = false - run_once: true - delegate_to: localhost - ansible.builtin.import_role: - name: arista.avd.cv_deploy - vars: - cv_devices: [ci-s1-leaf1, ci-s1-leaf2, ci-s1-leaf3, ci-s1-leaf4, ci-s1-spine1, ci-s1-spine2, ci-s1-core1 ] - cv_submit_workspace_force: false - ignore_errors: yes - register: cvp_errors - - - name: 'Display CVP result' - run_once: true - ansible.builtin.debug: - msg: '{{ cv_deploy_results }}' - - - name: Check CVP returns - ansible.builtin.assert: - that: - # errors and warnings - - "'Failed to submit workspace' in cv_deploy_results.errors[0]" - - - name: Cleanup - run_once: true - delegate_to: localhost - ansible.builtin.import_role: - name: arista.avd.cv_deploy - vars: - eos_config_dir: "{{ playbook_dir }}/intended/configs/base_configs" - structured_dir: "{{ playbook_dir }}/intended/structured_configs/base_configs" - cv_submit_workspace: true - cv_submit_workspace_force: true - cv_run_change_control: true - - - name: Test = Provision with cv_submit_workspace_force = true - run_once: true - delegate_to: localhost - ansible.builtin.import_role: - name: arista.avd.cv_deploy - vars: - cv_devices: [ci-s1-leaf1, ci-s1-leaf2, ci-s1-leaf3, ci-s1-leaf4, ci-s1-spine1, ci-s1-spine2, ci-s1-core1 ] - cv_submit_workspace_force: true - - - name: 'Display CVP result' - run_once: true - ansible.builtin.debug: - msg: '{{ cv_deploy_results }}' - - - name: Check CVP returns - ansible.builtin.assert: - that: - # errors and warnings - - cv_deploy_results.errors == [] - - - name: Test = Provision with cv_run_change_control = false + # - name: Provision with cv_submit_workspace_force = false + # run_once: true + # delegate_to: localhost + # ansible.builtin.import_role: + # name: arista.avd.cv_deploy + # vars: + # # cv_devices: [ avd-ci-leaf1, avd-ci-leaf2, avd-ci-leaf3, avd-ci-leaf4, avd-ci-spine1, avd-ci-spine2, avd-ci-core1 ] + # cv_devices: [ avd-ci-leaf2, avd-ci-core1 ] + # cv_submit_workspace_force: false + # ignore_errors: yes + # register: cvp_errors + + # - name: 'Display CVP result' + # run_once: true + # ansible.builtin.debug: + # msg: '{{ cv_deploy_results }}' + + # - name: Check CVP returns + # ansible.builtin.assert: + # that: + # # errors and warnings + # - "'Failed to submit workspace' in cv_deploy_results.errors[0]" + + # - name: Cleanup + # run_once: true + # delegate_to: localhost + # ansible.builtin.import_role: + # name: arista.avd.cv_deploy + # vars: + # eos_config_dir: "{{ playbook_dir }}/intended/configs/base_configs" + # structured_dir: "{{ playbook_dir }}/intended/structured_configs/base_configs" + # cv_submit_workspace: true + # cv_submit_workspace_force: true + # cv_run_change_control: true + + # - name: Provision with cv_submit_workspace_force = true + # run_once: true + # delegate_to: localhost + # ansible.builtin.import_role: + # name: arista.avd.cv_deploy + # vars: + # cv_devices: [ avd-ci-leaf1, avd-ci-leaf2, avd-ci-leaf3, avd-ci-leaf4, avd-ci-spine1, avd-ci-spine2, avd-ci-core1 ] + # # cv_devices: [ avd-ci-core1 ] + # cv_submit_workspace_force: true + + # - name: 'Display CVP result' + # run_once: true + # ansible.builtin.debug: + # msg: '{{ cv_deploy_results }}' + + # - name: Check CVP returns + # ansible.builtin.assert: + # that: + # # errors and warnings + # - cv_deploy_results.errors == [] + + - name: Provision with cv_run_change_control = false run_once: true delegate_to: localhost ansible.builtin.import_role: diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf1.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf1.cfg new file mode 100644 index 00000000000..c605be122d1 --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf1.cfg @@ -0,0 +1,188 @@ +!RANCID-CONTENT-TYPE: arista +! +daemon TerminAttr + exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs + no shutdown +! +vlan internal order ascending range 1006 1199 +! +transceiver qsfp default-mode 4x10G +! +service routing protocols model multi-agent +! +hostname avd-ci-leaf1 +ip name-server vrf MGMT 10.90.231.26 +! +ntp server 1.pool.ntp.org iburst local-interface Management1 +! +spanning-tree mode mstp +no spanning-tree vlan-id 4093-4094 +spanning-tree mst 0 priority 16384 +! +aaa authentication login console local +aaa authorization exec default local +! +no enable password +no aaa root +! +username arista privilege 15 role network-admin shell /bin/bash secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username ci-avd privilege 15 role network-admin secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username cvpadmin privilege 15 role network-admin secret sha512 $6$3gTtM9zyRVpL6w7v$5nbd38Y7ZU0ZWty/ycn82iiC4ikX79hdopKWLusZaaFgr0spRqewcRBLKuY5qUaPdgg9h8CZjC4pFqLeQ5GRI1 +! +vlan 4093 + name LEAF_PEER_L3 + trunk group LEAF_PEER_L3 +! +vlan 4094 + name MLAG_PEER + trunk group MLAG +! +vrf instance MGMT +! +interface Port-Channel10 + description MLAG_PEER_avd-ci-leaf2_Po10 + no shutdown + switchport + switchport mode trunk + switchport trunk group LEAF_PEER_L3 + switchport trunk group MLAG +! +interface Ethernet1 + description P2P_LINK_TO_AVD-CI-SPINE1_Ethernet1 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.1/31 +! +interface Ethernet2 + description P2P_LINK_TO_AVD-CI-SPINE2_Ethernet1 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.3/31 +! +interface Ethernet10 + description MLAG_PEER_avd-ci-leaf2_Ethernet10 + no shutdown + channel-group 10 mode active +! +interface Ethernet11 + description MLAG_PEER_avd-ci-leaf2_Ethernet11 + no shutdown + channel-group 10 mode active +! +interface Loopback0 + description EVPN_Overlay_Peering + no shutdown + ip address 10.21.0.1/32 +! +interface Loopback1 + description VTEP_VXLAN_Tunnel_Source + no shutdown + ip address 10.22.0.1/32 +! +interface Management1 + description oob_management + no shutdown + vrf MGMT + ip address 10.90.231.64/24 +! +interface Vlan4093 + description MLAG_PEER_L3_PEERING + no shutdown + mtu 1500 + ip address 192.168.21.0/31 +! +interface Vlan4094 + description MLAG_PEER + no shutdown + mtu 1500 + no autostate + ip address 192.168.20.0/31 +! +interface Vxlan1 + description avd-ci-leaf1_VTEP + vxlan source-interface Loopback1 + vxlan virtual-router encapsulation mac-address mlag-system-id + vxlan udp-port 4789 +! +ip routing +no ip routing vrf MGMT +! +ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY + seq 10 permit 10.21.0.0/24 eq 32 + seq 20 permit 10.22.0.0/24 eq 32 +! +mlag configuration + domain-id RACK1 + local-interface Vlan4094 + peer-address 192.168.20.1 + peer-link Port-Channel10 + reload-delay mlag 300 + reload-delay non-mlag 330 +! +ip route vrf MGMT 0.0.0.0/0 10.90.231.1 +! +route-map RM-CONN-2-BGP permit 10 + match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY +! +route-map RM-MLAG-PEER-IN permit 10 + description Make routes learned over MLAG Peer-link less preferred on spines to ensure optimal routing + set origin incomplete +! +router bfd + multihop interval 300 min-rx 300 multiplier 3 +! +router bgp 65001 + router-id 10.21.0.1 + maximum-paths 4 ecmp 4 + update wait-install + no bgp default ipv4-unicast + neighbor EVPN-OVERLAY-PEERS peer group + neighbor EVPN-OVERLAY-PEERS update-source Loopback0 + neighbor EVPN-OVERLAY-PEERS bfd + neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 + neighbor EVPN-OVERLAY-PEERS send-community + neighbor EVPN-OVERLAY-PEERS maximum-routes 0 + neighbor IPv4-UNDERLAY-PEERS peer group + neighbor IPv4-UNDERLAY-PEERS send-community + neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 + neighbor MLAG-IPv4-UNDERLAY-PEER peer group + neighbor MLAG-IPv4-UNDERLAY-PEER remote-as 65001 + neighbor MLAG-IPv4-UNDERLAY-PEER next-hop-self + neighbor MLAG-IPv4-UNDERLAY-PEER description avd-ci-leaf2 + neighbor MLAG-IPv4-UNDERLAY-PEER send-community + neighbor MLAG-IPv4-UNDERLAY-PEER maximum-routes 12000 + neighbor MLAG-IPv4-UNDERLAY-PEER route-map RM-MLAG-PEER-IN in + neighbor 10.20.0.1 peer group EVPN-OVERLAY-PEERS + neighbor 10.20.0.1 remote-as 65000 + neighbor 10.20.0.1 description avd-ci-spine1 + neighbor 10.20.0.2 peer group EVPN-OVERLAY-PEERS + neighbor 10.20.0.2 remote-as 65000 + neighbor 10.20.0.2 description avd-ci-spine2 + neighbor 10.23.0.0 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.0 remote-as 65000 + neighbor 10.23.0.0 description avd-ci-spine1_Ethernet1 + neighbor 10.23.0.2 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.2 remote-as 65000 + neighbor 10.23.0.2 description avd-ci-spine2_Ethernet1 + neighbor 192.168.21.1 peer group MLAG-IPv4-UNDERLAY-PEER + neighbor 192.168.21.1 description avd-ci-leaf2 + redistribute connected route-map RM-CONN-2-BGP + ! + address-family evpn + neighbor EVPN-OVERLAY-PEERS activate + ! + address-family ipv4 + no neighbor EVPN-OVERLAY-PEERS activate + neighbor IPv4-UNDERLAY-PEERS activate + neighbor MLAG-IPv4-UNDERLAY-PEER activate +! +management api http-commands + protocol https + no shutdown + ! + vrf MGMT + no shutdown +! +end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf2.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf2.cfg new file mode 100644 index 00000000000..cecc8925a74 --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf2.cfg @@ -0,0 +1,188 @@ +!RANCID-CONTENT-TYPE: arista +! +daemon TerminAttr + exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs + no shutdown +! +vlan internal order ascending range 1006 1199 +! +transceiver qsfp default-mode 4x10G +! +service routing protocols model multi-agent +! +hostname avd-ci-leaf2 +ip name-server vrf MGMT 10.90.231.26 +! +ntp server 1.pool.ntp.org iburst local-interface Management1 +! +spanning-tree mode mstp +no spanning-tree vlan-id 4093-4094 +spanning-tree mst 0 priority 16384 +! +aaa authentication login console local +aaa authorization exec default local +! +no enable password +no aaa root +! +username arista privilege 15 role network-admin shell /bin/bash secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username ci-avd privilege 15 role network-admin secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username cvpadmin privilege 15 role network-admin secret sha512 $6$3gTtM9zyRVpL6w7v$5nbd38Y7ZU0ZWty/ycn82iiC4ikX79hdopKWLusZaaFgr0spRqewcRBLKuY5qUaPdgg9h8CZjC4pFqLeQ5GRI1 +! +vlan 4093 + name LEAF_PEER_L3 + trunk group LEAF_PEER_L3 +! +vlan 4094 + name MLAG_PEER + trunk group MLAG +! +vrf instance MGMT +! +interface Port-Channel10 + description MLAG_PEER_avd-ci-leaf1_Po10 + no shutdown + switchport + switchport mode trunk + switchport trunk group LEAF_PEER_L3 + switchport trunk group MLAG +! +interface Ethernet1 + description P2P_LINK_TO_AVD-CI-SPINE1_Ethernet2 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.5/31 +! +interface Ethernet2 + description P2P_LINK_TO_AVD-CI-SPINE2_Ethernet2 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.7/31 +! +interface Ethernet10 + description MLAG_PEER_avd-ci-leaf1_Ethernet10 + no shutdown + channel-group 10 mode active +! +interface Ethernet11 + description MLAG_PEER_avd-ci-leaf1_Ethernet11 + no shutdown + channel-group 10 mode active +! +interface Loopback0 + description EVPN_Overlay_Peering + no shutdown + ip address 10.21.0.2/32 +! +interface Loopback1 + description VTEP_VXLAN_Tunnel_Source + no shutdown + ip address 10.22.0.1/32 +! +interface Management1 + description oob_management + no shutdown + vrf MGMT + ip address 10.90.231.65/24 +! +interface Vlan4093 + description MLAG_PEER_L3_PEERING + no shutdown + mtu 1500 + ip address 192.168.21.1/31 +! +interface Vlan4094 + description MLAG_PEER + no shutdown + mtu 1500 + no autostate + ip address 192.168.20.1/31 +! +interface Vxlan1 + description avd-ci-leaf2_VTEP + vxlan source-interface Loopback1 + vxlan virtual-router encapsulation mac-address mlag-system-id + vxlan udp-port 4789 +! +ip routing +no ip routing vrf MGMT +! +ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY + seq 10 permit 10.21.0.0/24 eq 32 + seq 20 permit 10.22.0.0/24 eq 32 +! +mlag configuration + domain-id RACK1 + local-interface Vlan4094 + peer-address 192.168.20.0 + peer-link Port-Channel10 + reload-delay mlag 300 + reload-delay non-mlag 330 +! +ip route vrf MGMT 0.0.0.0/0 10.90.231.1 +! +route-map RM-CONN-2-BGP permit 10 + match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY +! +route-map RM-MLAG-PEER-IN permit 10 + description Make routes learned over MLAG Peer-link less preferred on spines to ensure optimal routing + set origin incomplete +! +router bfd + multihop interval 300 min-rx 300 multiplier 3 +! +router bgp 65001 + router-id 10.21.0.2 + maximum-paths 4 ecmp 4 + update wait-install + no bgp default ipv4-unicast + neighbor EVPN-OVERLAY-PEERS peer group + neighbor EVPN-OVERLAY-PEERS update-source Loopback0 + neighbor EVPN-OVERLAY-PEERS bfd + neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 + neighbor EVPN-OVERLAY-PEERS send-community + neighbor EVPN-OVERLAY-PEERS maximum-routes 0 + neighbor IPv4-UNDERLAY-PEERS peer group + neighbor IPv4-UNDERLAY-PEERS send-community + neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 + neighbor MLAG-IPv4-UNDERLAY-PEER peer group + neighbor MLAG-IPv4-UNDERLAY-PEER remote-as 65001 + neighbor MLAG-IPv4-UNDERLAY-PEER next-hop-self + neighbor MLAG-IPv4-UNDERLAY-PEER description avd-ci-leaf1 + neighbor MLAG-IPv4-UNDERLAY-PEER send-community + neighbor MLAG-IPv4-UNDERLAY-PEER maximum-routes 12000 + neighbor MLAG-IPv4-UNDERLAY-PEER route-map RM-MLAG-PEER-IN in + neighbor 10.20.0.1 peer group EVPN-OVERLAY-PEERS + neighbor 10.20.0.1 remote-as 65000 + neighbor 10.20.0.1 description avd-ci-spine1 + neighbor 10.20.0.2 peer group EVPN-OVERLAY-PEERS + neighbor 10.20.0.2 remote-as 65000 + neighbor 10.20.0.2 description avd-ci-spine2 + neighbor 10.23.0.4 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.4 remote-as 65000 + neighbor 10.23.0.4 description avd-ci-spine1_Ethernet2 + neighbor 10.23.0.6 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.6 remote-as 65000 + neighbor 10.23.0.6 description avd-ci-spine2_Ethernet2 + neighbor 192.168.21.0 peer group MLAG-IPv4-UNDERLAY-PEER + neighbor 192.168.21.0 description avd-ci-leaf1 + redistribute connected route-map RM-CONN-2-BGP + ! + address-family evpn + neighbor EVPN-OVERLAY-PEERS activate + ! + address-family ipv4 + no neighbor EVPN-OVERLAY-PEERS activate + neighbor IPv4-UNDERLAY-PEERS activate + neighbor MLAG-IPv4-UNDERLAY-PEER activate +! +management api http-commands + protocol https + no shutdown + ! + vrf MGMT + no shutdown +! +end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf3.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf3.cfg new file mode 100644 index 00000000000..7e725e34e9d --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf3.cfg @@ -0,0 +1,188 @@ +!RANCID-CONTENT-TYPE: arista +! +daemon TerminAttr + exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs + no shutdown +! +vlan internal order ascending range 1006 1199 +! +transceiver qsfp default-mode 4x10G +! +service routing protocols model multi-agent +! +hostname avd-ci-leaf3 +ip name-server vrf MGMT 10.90.231.26 +! +ntp server 1.pool.ntp.org iburst local-interface Management1 +! +spanning-tree mode mstp +no spanning-tree vlan-id 4093-4094 +spanning-tree mst 0 priority 16384 +! +aaa authentication login console local +aaa authorization exec default local +! +no enable password +no aaa root +! +username arista privilege 15 role network-admin shell /bin/bash secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username ci-avd privilege 15 role network-admin secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username cvpadmin privilege 15 role network-admin secret sha512 $6$3gTtM9zyRVpL6w7v$5nbd38Y7ZU0ZWty/ycn82iiC4ikX79hdopKWLusZaaFgr0spRqewcRBLKuY5qUaPdgg9h8CZjC4pFqLeQ5GRI1 +! +vlan 4093 + name LEAF_PEER_L3 + trunk group LEAF_PEER_L3 +! +vlan 4094 + name MLAG_PEER + trunk group MLAG +! +vrf instance MGMT +! +interface Port-Channel10 + description MLAG_PEER_avd-ci-leaf4_Po10 + no shutdown + switchport + switchport mode trunk + switchport trunk group LEAF_PEER_L3 + switchport trunk group MLAG +! +interface Ethernet1 + description P2P_LINK_TO_AVD-CI-SPINE1_Ethernet3 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.9/31 +! +interface Ethernet2 + description P2P_LINK_TO_AVD-CI-SPINE2_Ethernet3 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.11/31 +! +interface Ethernet10 + description MLAG_PEER_avd-ci-leaf4_Ethernet10 + no shutdown + channel-group 10 mode active +! +interface Ethernet11 + description MLAG_PEER_avd-ci-leaf4_Ethernet11 + no shutdown + channel-group 10 mode active +! +interface Loopback0 + description EVPN_Overlay_Peering + no shutdown + ip address 10.21.0.3/32 +! +interface Loopback1 + description VTEP_VXLAN_Tunnel_Source + no shutdown + ip address 10.22.0.3/32 +! +interface Management1 + description oob_management + no shutdown + vrf MGMT + ip address 10.90.231.66/24 +! +interface Vlan4093 + description MLAG_PEER_L3_PEERING + no shutdown + mtu 1500 + ip address 192.168.21.4/31 +! +interface Vlan4094 + description MLAG_PEER + no shutdown + mtu 1500 + no autostate + ip address 192.168.20.4/31 +! +interface Vxlan1 + description avd-ci-leaf3_VTEP + vxlan source-interface Loopback1 + vxlan virtual-router encapsulation mac-address mlag-system-id + vxlan udp-port 4789 +! +ip routing +no ip routing vrf MGMT +! +ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY + seq 10 permit 10.21.0.0/24 eq 32 + seq 20 permit 10.22.0.0/24 eq 32 +! +mlag configuration + domain-id RACK2 + local-interface Vlan4094 + peer-address 192.168.20.5 + peer-link Port-Channel10 + reload-delay mlag 300 + reload-delay non-mlag 330 +! +ip route vrf MGMT 0.0.0.0/0 10.90.231.1 +! +route-map RM-CONN-2-BGP permit 10 + match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY +! +route-map RM-MLAG-PEER-IN permit 10 + description Make routes learned over MLAG Peer-link less preferred on spines to ensure optimal routing + set origin incomplete +! +router bfd + multihop interval 300 min-rx 300 multiplier 3 +! +router bgp 65002 + router-id 10.21.0.3 + maximum-paths 4 ecmp 4 + update wait-install + no bgp default ipv4-unicast + neighbor EVPN-OVERLAY-PEERS peer group + neighbor EVPN-OVERLAY-PEERS update-source Loopback0 + neighbor EVPN-OVERLAY-PEERS bfd + neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 + neighbor EVPN-OVERLAY-PEERS send-community + neighbor EVPN-OVERLAY-PEERS maximum-routes 0 + neighbor IPv4-UNDERLAY-PEERS peer group + neighbor IPv4-UNDERLAY-PEERS send-community + neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 + neighbor MLAG-IPv4-UNDERLAY-PEER peer group + neighbor MLAG-IPv4-UNDERLAY-PEER remote-as 65002 + neighbor MLAG-IPv4-UNDERLAY-PEER next-hop-self + neighbor MLAG-IPv4-UNDERLAY-PEER description avd-ci-leaf4 + neighbor MLAG-IPv4-UNDERLAY-PEER send-community + neighbor MLAG-IPv4-UNDERLAY-PEER maximum-routes 12000 + neighbor MLAG-IPv4-UNDERLAY-PEER route-map RM-MLAG-PEER-IN in + neighbor 10.20.0.1 peer group EVPN-OVERLAY-PEERS + neighbor 10.20.0.1 remote-as 65000 + neighbor 10.20.0.1 description avd-ci-spine1 + neighbor 10.20.0.2 peer group EVPN-OVERLAY-PEERS + neighbor 10.20.0.2 remote-as 65000 + neighbor 10.20.0.2 description avd-ci-spine2 + neighbor 10.23.0.8 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.8 remote-as 65000 + neighbor 10.23.0.8 description avd-ci-spine1_Ethernet3 + neighbor 10.23.0.10 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.10 remote-as 65000 + neighbor 10.23.0.10 description avd-ci-spine2_Ethernet3 + neighbor 192.168.21.5 peer group MLAG-IPv4-UNDERLAY-PEER + neighbor 192.168.21.5 description avd-ci-leaf4 + redistribute connected route-map RM-CONN-2-BGP + ! + address-family evpn + neighbor EVPN-OVERLAY-PEERS activate + ! + address-family ipv4 + no neighbor EVPN-OVERLAY-PEERS activate + neighbor IPv4-UNDERLAY-PEERS activate + neighbor MLAG-IPv4-UNDERLAY-PEER activate +! +management api http-commands + protocol https + no shutdown + ! + vrf MGMT + no shutdown +! +end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf4.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf4.cfg new file mode 100644 index 00000000000..2e150a7b8be --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf4.cfg @@ -0,0 +1,188 @@ +!RANCID-CONTENT-TYPE: arista +! +daemon TerminAttr + exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs + no shutdown +! +vlan internal order ascending range 1006 1199 +! +transceiver qsfp default-mode 4x10G +! +service routing protocols model multi-agent +! +hostname avd-ci-leaf4 +ip name-server vrf MGMT 10.90.231.26 +! +ntp server 1.pool.ntp.org iburst local-interface Management1 +! +spanning-tree mode mstp +no spanning-tree vlan-id 4093-4094 +spanning-tree mst 0 priority 16384 +! +aaa authentication login console local +aaa authorization exec default local +! +no enable password +no aaa root +! +username arista privilege 15 role network-admin shell /bin/bash secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username ci-avd privilege 15 role network-admin secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username cvpadmin privilege 15 role network-admin secret sha512 $6$3gTtM9zyRVpL6w7v$5nbd38Y7ZU0ZWty/ycn82iiC4ikX79hdopKWLusZaaFgr0spRqewcRBLKuY5qUaPdgg9h8CZjC4pFqLeQ5GRI1 +! +vlan 4093 + name LEAF_PEER_L3 + trunk group LEAF_PEER_L3 +! +vlan 4094 + name MLAG_PEER + trunk group MLAG +! +vrf instance MGMT +! +interface Port-Channel10 + description MLAG_PEER_avd-ci-leaf3_Po10 + no shutdown + switchport + switchport mode trunk + switchport trunk group LEAF_PEER_L3 + switchport trunk group MLAG +! +interface Ethernet1 + description P2P_LINK_TO_AVD-CI-SPINE1_Ethernet4 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.13/31 +! +interface Ethernet2 + description P2P_LINK_TO_AVD-CI-SPINE2_Ethernet4 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.15/31 +! +interface Ethernet10 + description MLAG_PEER_avd-ci-leaf3_Ethernet10 + no shutdown + channel-group 10 mode active +! +interface Ethernet11 + description MLAG_PEER_avd-ci-leaf3_Ethernet11 + no shutdown + channel-group 10 mode active +! +interface Loopback0 + description EVPN_Overlay_Peering + no shutdown + ip address 10.21.0.4/32 +! +interface Loopback1 + description VTEP_VXLAN_Tunnel_Source + no shutdown + ip address 10.22.0.3/32 +! +interface Management1 + description oob_management + no shutdown + vrf MGMT + ip address 10.90.231.67/24 +! +interface Vlan4093 + description MLAG_PEER_L3_PEERING + no shutdown + mtu 1500 + ip address 192.168.21.5/31 +! +interface Vlan4094 + description MLAG_PEER + no shutdown + mtu 1500 + no autostate + ip address 192.168.20.5/31 +! +interface Vxlan1 + description avd-ci-leaf4_VTEP + vxlan source-interface Loopback1 + vxlan virtual-router encapsulation mac-address mlag-system-id + vxlan udp-port 4789 +! +ip routing +no ip routing vrf MGMT +! +ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY + seq 10 permit 10.21.0.0/24 eq 32 + seq 20 permit 10.22.0.0/24 eq 32 +! +mlag configuration + domain-id RACK2 + local-interface Vlan4094 + peer-address 192.168.20.4 + peer-link Port-Channel10 + reload-delay mlag 300 + reload-delay non-mlag 330 +! +ip route vrf MGMT 0.0.0.0/0 10.90.231.1 +! +route-map RM-CONN-2-BGP permit 10 + match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY +! +route-map RM-MLAG-PEER-IN permit 10 + description Make routes learned over MLAG Peer-link less preferred on spines to ensure optimal routing + set origin incomplete +! +router bfd + multihop interval 300 min-rx 300 multiplier 3 +! +router bgp 65002 + router-id 10.21.0.4 + maximum-paths 4 ecmp 4 + update wait-install + no bgp default ipv4-unicast + neighbor EVPN-OVERLAY-PEERS peer group + neighbor EVPN-OVERLAY-PEERS update-source Loopback0 + neighbor EVPN-OVERLAY-PEERS bfd + neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 + neighbor EVPN-OVERLAY-PEERS send-community + neighbor EVPN-OVERLAY-PEERS maximum-routes 0 + neighbor IPv4-UNDERLAY-PEERS peer group + neighbor IPv4-UNDERLAY-PEERS send-community + neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 + neighbor MLAG-IPv4-UNDERLAY-PEER peer group + neighbor MLAG-IPv4-UNDERLAY-PEER remote-as 65002 + neighbor MLAG-IPv4-UNDERLAY-PEER next-hop-self + neighbor MLAG-IPv4-UNDERLAY-PEER description avd-ci-leaf3 + neighbor MLAG-IPv4-UNDERLAY-PEER send-community + neighbor MLAG-IPv4-UNDERLAY-PEER maximum-routes 12000 + neighbor MLAG-IPv4-UNDERLAY-PEER route-map RM-MLAG-PEER-IN in + neighbor 10.20.0.1 peer group EVPN-OVERLAY-PEERS + neighbor 10.20.0.1 remote-as 65000 + neighbor 10.20.0.1 description avd-ci-spine1 + neighbor 10.20.0.2 peer group EVPN-OVERLAY-PEERS + neighbor 10.20.0.2 remote-as 65000 + neighbor 10.20.0.2 description avd-ci-spine2 + neighbor 10.23.0.12 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.12 remote-as 65000 + neighbor 10.23.0.12 description avd-ci-spine1_Ethernet4 + neighbor 10.23.0.14 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.14 remote-as 65000 + neighbor 10.23.0.14 description avd-ci-spine2_Ethernet4 + neighbor 192.168.21.4 peer group MLAG-IPv4-UNDERLAY-PEER + neighbor 192.168.21.4 description avd-ci-leaf3 + redistribute connected route-map RM-CONN-2-BGP + ! + address-family evpn + neighbor EVPN-OVERLAY-PEERS activate + ! + address-family ipv4 + no neighbor EVPN-OVERLAY-PEERS activate + neighbor IPv4-UNDERLAY-PEERS activate + neighbor MLAG-IPv4-UNDERLAY-PEER activate +! +management api http-commands + protocol https + no shutdown + ! + vrf MGMT + no shutdown +! +end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-spine1.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-spine1.cfg new file mode 100644 index 00000000000..a09551d19d0 --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-spine1.cfg @@ -0,0 +1,140 @@ +!RANCID-CONTENT-TYPE: arista +! +daemon TerminAttr + exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs + no shutdown +! +vlan internal order ascending range 1006 1199 +! +transceiver qsfp default-mode 4x10G +! +service routing protocols model multi-agent +! +hostname avd-ci-spine1 +ip name-server vrf MGMT 10.90.231.26 +! +ntp server 1.pool.ntp.org iburst local-interface Management1 +! +spanning-tree mode none +! +aaa authentication login console local +aaa authorization exec default local +! +no enable password +no aaa root +! +username arista privilege 15 role network-admin shell /bin/bash secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username ci-avd privilege 15 role network-admin secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username cvpadmin privilege 15 role network-admin secret sha512 $6$3gTtM9zyRVpL6w7v$5nbd38Y7ZU0ZWty/ycn82iiC4ikX79hdopKWLusZaaFgr0spRqewcRBLKuY5qUaPdgg9h8CZjC4pFqLeQ5GRI1 +! +vrf instance MGMT +! +interface Ethernet1 + description P2P_LINK_TO_AVD-CI-LEAF1_Ethernet1 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.0/31 +! +interface Ethernet2 + description P2P_LINK_TO_AVD-CI-LEAF2_Ethernet1 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.4/31 +! +interface Ethernet3 + description P2P_LINK_TO_AVD-CI-LEAF3_Ethernet1 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.8/31 +! +interface Ethernet4 + description P2P_LINK_TO_AVD-CI-LEAF4_Ethernet1 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.12/31 +! +interface Loopback0 + description EVPN_Overlay_Peering + no shutdown + ip address 10.20.0.1/32 +! +interface Management1 + description oob_management + no shutdown + vrf MGMT + ip address 10.90.231.68/24 +! +ip routing +no ip routing vrf MGMT +! +ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY + seq 10 permit 10.20.0.0/24 eq 32 +! +ip route vrf MGMT 0.0.0.0/0 10.90.231.1 +! +route-map RM-CONN-2-BGP permit 10 + match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY +! +router bfd + multihop interval 300 min-rx 300 multiplier 3 +! +router bgp 65000 + router-id 10.20.0.1 + maximum-paths 4 ecmp 4 + update wait-install + no bgp default ipv4-unicast + neighbor EVPN-OVERLAY-PEERS peer group + neighbor EVPN-OVERLAY-PEERS next-hop-unchanged + neighbor EVPN-OVERLAY-PEERS update-source Loopback0 + neighbor EVPN-OVERLAY-PEERS bfd + neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 + neighbor EVPN-OVERLAY-PEERS send-community + neighbor EVPN-OVERLAY-PEERS maximum-routes 0 + neighbor IPv4-UNDERLAY-PEERS peer group + neighbor IPv4-UNDERLAY-PEERS send-community + neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 + neighbor 10.21.0.1 peer group EVPN-OVERLAY-PEERS + neighbor 10.21.0.1 remote-as 65001 + neighbor 10.21.0.1 description avd-ci-leaf1 + neighbor 10.21.0.2 peer group EVPN-OVERLAY-PEERS + neighbor 10.21.0.2 remote-as 65001 + neighbor 10.21.0.2 description avd-ci-leaf2 + neighbor 10.21.0.3 peer group EVPN-OVERLAY-PEERS + neighbor 10.21.0.3 remote-as 65002 + neighbor 10.21.0.3 description avd-ci-leaf3 + neighbor 10.21.0.4 peer group EVPN-OVERLAY-PEERS + neighbor 10.21.0.4 remote-as 65002 + neighbor 10.21.0.4 description avd-ci-leaf4 + neighbor 10.23.0.1 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.1 remote-as 65001 + neighbor 10.23.0.1 description avd-ci-leaf1_Ethernet1 + neighbor 10.23.0.5 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.5 remote-as 65001 + neighbor 10.23.0.5 description avd-ci-leaf2_Ethernet1 + neighbor 10.23.0.9 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.9 remote-as 65002 + neighbor 10.23.0.9 description avd-ci-leaf3_Ethernet1 + neighbor 10.23.0.13 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.13 remote-as 65002 + neighbor 10.23.0.13 description avd-ci-leaf4_Ethernet1 + redistribute connected route-map RM-CONN-2-BGP + ! + address-family evpn + neighbor EVPN-OVERLAY-PEERS activate + ! + address-family ipv4 + no neighbor EVPN-OVERLAY-PEERS activate + neighbor IPv4-UNDERLAY-PEERS activate +! +management api http-commands + protocol https + no shutdown + ! + vrf MGMT + no shutdown +! +end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-spine2.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-spine2.cfg new file mode 100644 index 00000000000..969140565cb --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-spine2.cfg @@ -0,0 +1,140 @@ +!RANCID-CONTENT-TYPE: arista +! +daemon TerminAttr + exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs + no shutdown +! +vlan internal order ascending range 1006 1199 +! +transceiver qsfp default-mode 4x10G +! +service routing protocols model multi-agent +! +hostname avd-ci-spine2 +ip name-server vrf MGMT 10.90.231.26 +! +ntp server 1.pool.ntp.org iburst local-interface Management1 +! +spanning-tree mode none +! +aaa authentication login console local +aaa authorization exec default local +! +no enable password +no aaa root +! +username arista privilege 15 role network-admin shell /bin/bash secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username ci-avd privilege 15 role network-admin secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username cvpadmin privilege 15 role network-admin secret sha512 $6$3gTtM9zyRVpL6w7v$5nbd38Y7ZU0ZWty/ycn82iiC4ikX79hdopKWLusZaaFgr0spRqewcRBLKuY5qUaPdgg9h8CZjC4pFqLeQ5GRI1 +! +vrf instance MGMT +! +interface Ethernet1 + description P2P_LINK_TO_AVD-CI-LEAF1_Ethernet2 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.2/31 +! +interface Ethernet2 + description P2P_LINK_TO_AVD-CI-LEAF2_Ethernet2 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.6/31 +! +interface Ethernet3 + description P2P_LINK_TO_AVD-CI-LEAF3_Ethernet2 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.10/31 +! +interface Ethernet4 + description P2P_LINK_TO_AVD-CI-LEAF4_Ethernet2 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.14/31 +! +interface Loopback0 + description EVPN_Overlay_Peering + no shutdown + ip address 10.20.0.2/32 +! +interface Management1 + description oob_management + no shutdown + vrf MGMT + ip address 10.90.231.69/24 +! +ip routing +no ip routing vrf MGMT +! +ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY + seq 10 permit 10.20.0.0/24 eq 32 +! +ip route vrf MGMT 0.0.0.0/0 10.90.231.1 +! +route-map RM-CONN-2-BGP permit 10 + match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY +! +router bfd + multihop interval 300 min-rx 300 multiplier 3 +! +router bgp 65000 + router-id 10.20.0.2 + maximum-paths 4 ecmp 4 + update wait-install + no bgp default ipv4-unicast + neighbor EVPN-OVERLAY-PEERS peer group + neighbor EVPN-OVERLAY-PEERS next-hop-unchanged + neighbor EVPN-OVERLAY-PEERS update-source Loopback0 + neighbor EVPN-OVERLAY-PEERS bfd + neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 + neighbor EVPN-OVERLAY-PEERS send-community + neighbor EVPN-OVERLAY-PEERS maximum-routes 0 + neighbor IPv4-UNDERLAY-PEERS peer group + neighbor IPv4-UNDERLAY-PEERS send-community + neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 + neighbor 10.21.0.1 peer group EVPN-OVERLAY-PEERS + neighbor 10.21.0.1 remote-as 65001 + neighbor 10.21.0.1 description avd-ci-leaf1 + neighbor 10.21.0.2 peer group EVPN-OVERLAY-PEERS + neighbor 10.21.0.2 remote-as 65001 + neighbor 10.21.0.2 description avd-ci-leaf2 + neighbor 10.21.0.3 peer group EVPN-OVERLAY-PEERS + neighbor 10.21.0.3 remote-as 65002 + neighbor 10.21.0.3 description avd-ci-leaf3 + neighbor 10.21.0.4 peer group EVPN-OVERLAY-PEERS + neighbor 10.21.0.4 remote-as 65002 + neighbor 10.21.0.4 description avd-ci-leaf4 + neighbor 10.23.0.3 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.3 remote-as 65001 + neighbor 10.23.0.3 description avd-ci-leaf1_Ethernet2 + neighbor 10.23.0.7 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.7 remote-as 65001 + neighbor 10.23.0.7 description avd-ci-leaf2_Ethernet2 + neighbor 10.23.0.11 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.11 remote-as 65002 + neighbor 10.23.0.11 description avd-ci-leaf3_Ethernet2 + neighbor 10.23.0.15 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.15 remote-as 65002 + neighbor 10.23.0.15 description avd-ci-leaf4_Ethernet2 + redistribute connected route-map RM-CONN-2-BGP + ! + address-family evpn + neighbor EVPN-OVERLAY-PEERS activate + ! + address-family ipv4 + no neighbor EVPN-OVERLAY-PEERS activate + neighbor IPv4-UNDERLAY-PEERS activate +! +management api http-commands + protocol https + no shutdown + ! + vrf MGMT + no shutdown +! +end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-leaf1.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-leaf1.cfg deleted file mode 100644 index e1214a236a5..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-leaf1.cfg +++ /dev/null @@ -1,56 +0,0 @@ -!RANCID-CONTENT-TYPE: arista -! -no aaa root -! -username cvpadmin privilege 15 role network-admin secret sha512 $6$zWeb8jvKJY8ZtQkD$QzZDALGL1yDmjOxiGUNVJNyBU2la8AXPW04OmxaBt7JEfAgNU9QULOkG2HmwD3x8hFoo2LnwtjbX.Muj/dXlH0 -username netadmin privilege 15 role network-admin secret sha512 $6$wdCCRfpWoyE3pTFJ$sMePFNrFSFKUVFxlxMTkB7E90tgwiz7BDtcUpBH5ga4Co/N59tsselElTZyYA.LDuSnVl2t/FH.qc1FX9fzNM/ -! -daemon TerminAttr - exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=MGMT -taillogs - no shutdown -! -vlan internal order ascending range 3900 4000 -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname ci-s1-leaf1 -ip name-server vrf MGMT 172.22.22.40 -! -platform tfa - personality arfa -! -spanning-tree mode mstp -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vrf instance MGMT -! -management api http-commands - no shutdown - ! - vrf MGMT - no shutdown -! -interface Ethernet1 -! -interface Ethernet2 -! -interface Ethernet3 -! -interface Ethernet4 -! -interface Ethernet6 -! -interface Management0 - vrf MGMT - ip address 172.20.20.2/24 -! -no ip routing vrf MGMT -! -ip route vrf MGMT 0.0.0.0/0 172.20.20.1 -! -end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-leaf2.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-leaf2.cfg deleted file mode 100644 index d8338e8eade..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-leaf2.cfg +++ /dev/null @@ -1,56 +0,0 @@ -!RANCID-CONTENT-TYPE: arista -! -no aaa root -! -username cvpadmin privilege 15 role network-admin secret sha512 $6$1Xramu7r/0xmdLCk$AjZmoBkUwcs55uiTvZdKX6.UsOXjQNZbtjeXEeUPel7yBtLsIj8LPqQnxWWFFJop/8XWk4As8wTiZFJ1vC4j/0 -username netadmin privilege 15 role network-admin secret sha512 $6$9HuUPp8hGLEhjim1$JXEkaiym7aiZdyNe16OVrXpxPPZ2AjxOXKIU4y3hRLWr57lwU404UP4cSPTmXNNA60.ioVRfYtaIdQB5KqZxk. -! -daemon TerminAttr - exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=MGMT -taillogs - no shutdown -! -vlan internal order ascending range 3900 4000 -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname ci-s1-leaf2 -ip name-server vrf MGMT 172.22.22.40 -! -platform tfa - personality arfa -! -spanning-tree mode mstp -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vrf instance MGMT -! -management api http-commands - no shutdown - ! - vrf MGMT - no shutdown -! -interface Ethernet1 -! -interface Ethernet2 -! -interface Ethernet3 -! -interface Ethernet4 -! -interface Ethernet6 -! -interface Management0 - vrf MGMT - ip address 172.20.20.2/24 -! -no ip routing vrf MGMT -! -ip route vrf MGMT 0.0.0.0/0 172.20.20.1 -! -end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-leaf3.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-leaf3.cfg deleted file mode 100644 index b4ba8554f9f..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-leaf3.cfg +++ /dev/null @@ -1,59 +0,0 @@ -!RANCID-CONTENT-TYPE: arista -! -! Command: show running-config -! device: devel-s1-leaf3 (cEOSLab, EOS-4.31.1F-34554157.4311F (engineering build)) -! -no aaa root -! -username cvpadmin privilege 15 role network-admin secret sha512 $6$HNM7G0gSdiRYs4tD$vzmvMIop1QgWrFFbEjfRQPzjZO5NvptNCTZVsLZU130XSOPKam3TSXr9XnPfgMJaXheET//ms3amQ32xxZLme. -username netadmin privilege 15 role network-admin secret sha512 $6$XoEontx4/LyZdDy/$1L.EXBocg2BVQFQwIZppvkKADGrj5CYEWoKXMrqEJs.qpmjKyCUhZ6ibQ70kHx0RomOrNxRQzs13mCNY3ym... -! -daemon TerminAttr - exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=MGMT -taillogs - no shutdown -! -vlan internal order ascending range 3900 4000 -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname ci-s1-leaf3 -ip name-server vrf MGMT 172.22.22.40 -! -platform tfa - personality arfa -! -spanning-tree mode mstp -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vrf instance MGMT -! -management api http-commands - no shutdown - ! - vrf MGMT - no shutdown -! -interface Ethernet1 -! -interface Ethernet2 -! -interface Ethernet3 -! -interface Ethernet4 -! -interface Ethernet6 -! -interface Management0 - vrf MGMT - ip address 172.20.20.2/24 -! -no ip routing vrf MGMT -! -ip route vrf MGMT 0.0.0.0/0 172.20.20.1 -! -end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-leaf4.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-leaf4.cfg deleted file mode 100644 index 8e54c33ff0a..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-leaf4.cfg +++ /dev/null @@ -1,56 +0,0 @@ -!RANCID-CONTENT-TYPE: arista -! -no aaa root -! -username cvpadmin privilege 15 role network-admin secret sha512 $6$sXO/9BwBxfmc2it9$/v6Eddob3cElunU60LKbXJZ2ind/W6ju4LAGr0bFOPaxc49pFFzjnUB.//v9F60olyrOrmmbXV62kbBwN4O7w. -username netadmin privilege 15 role network-admin secret sha512 $6$78gSPkPb3N3dfmqM$WVUUE/QTbpSZFuHRVi.wGhVV9T543laKjUlmgtZGj8ovJsLMPBXk1gOqwTbLWZEEUAzoDZydYniPFEMQ0pwBL. -! -daemon TerminAttr - exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=MGMT -taillogs - no shutdown -! -vlan internal order ascending range 3900 4000 -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname ci-s1-leaf4 -ip name-server vrf MGMT 172.22.22.40 -! -platform tfa - personality arfa -! -spanning-tree mode mstp -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vrf instance MGMT -! -management api http-commands - no shutdown - ! - vrf MGMT - no shutdown -! -interface Ethernet1 -! -interface Ethernet2 -! -interface Ethernet3 -! -interface Ethernet4 -! -interface Ethernet6 -! -interface Management0 - vrf MGMT - ip address 172.20.20.2/24 -! -no ip routing vrf MGMT -! -ip route vrf MGMT 0.0.0.0/0 172.20.20.1 -! -end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-spine1.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-spine1.cfg deleted file mode 100644 index a13f67d9557..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-spine1.cfg +++ /dev/null @@ -1,62 +0,0 @@ -!RANCID-CONTENT-TYPE: arista -! -no aaa root -! -username cvpadmin privilege 15 role network-admin secret sha512 $6$p7VOAkEcf9QaHur9$yQpwEW/AbIKGeUofve7SPB8sOVqsAxx4mOcW/0eU.dtMfnwrE844ZJkk18s0Hf4mUxrUXJdHmvFUpAcY2g6oU1 -username netadmin privilege 15 role network-admin secret sha512 $6$CxQZipOJ8hrWFo8H$8SIcQzvft3SmAbIQaJXcFOZoIX4bAf3ANUeBA2pmChbSQewJaMn4Xz9aMPTc9hS9xKYRwfg8lWRezXfXd4COM0 -! -daemon TerminAttr - exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=MGMT -taillogs - no shutdown -! -vlan internal order ascending range 3900 4000 -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname ci-s1-spine1 -ip name-server vrf MGMT 172.22.22.40 -! -platform tfa - personality arfa -! -spanning-tree mode mstp -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vrf instance MGMT -! -management api http-commands - no shutdown - ! - vrf MGMT - no shutdown -! -interface Ethernet1 -! -interface Ethernet2 -! -interface Ethernet3 -! -interface Ethernet4 -! -interface Ethernet5 -! -interface Ethernet6 -! -interface Ethernet7 -! -interface Ethernet8 -! -interface Management0 - vrf MGMT - ip address 172.20.20.2/24 -! -no ip routing vrf MGMT -! -ip route vrf MGMT 0.0.0.0/0 172.20.20.1 -! -end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-spine2.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-spine2.cfg deleted file mode 100644 index 199717e921b..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/ci-s1-spine2.cfg +++ /dev/null @@ -1,62 +0,0 @@ -!RANCID-CONTENT-TYPE: arista -! -no aaa root -! -username cvpadmin privilege 15 role network-admin secret sha512 $6$Ok5JvSuccWnGrwSL$Rv2Jw7/4fi.0bQxVhBrgUaQrKw3WtFbl9YNDCHV9Vv0KDPlvSAtj9cuVWvhL6eb.VvNA/x7eK.SgUgNltmZE6. -username netadmin privilege 15 role network-admin secret sha512 $6$7XiSBgU.LGM/C83U$zhyLleeaw1u7EDQx1aYIUcjx/jAEorzST3IfmDCfNWjqXPq72R0yzJuK/RGdIwUwDTo7As0A9O1ZK/6n/eDgx0 -! -daemon TerminAttr - exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=MGMT -taillogs - no shutdown -! -vlan internal order ascending range 3900 4000 -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname ci-s1-spine2 -ip name-server vrf MGMT 172.22.22.40 -! -platform tfa - personality arfa -! -spanning-tree mode mstp -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vrf instance MGMT -! -management api http-commands - no shutdown - ! - vrf MGMT - no shutdown -! -interface Ethernet1 -! -interface Ethernet2 -! -interface Ethernet3 -! -interface Ethernet4 -! -interface Ethernet5 -! -interface Ethernet6 -! -interface Ethernet7 -! -interface Ethernet8 -! -interface Management0 - vrf MGMT - ip address 172.20.20.2/24 -! -no ip routing vrf MGMT -! -ip route vrf MGMT 0.0.0.0/0 172.20.20.1 -! -end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-core1.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-core1.cfg new file mode 100644 index 00000000000..b02e484230c --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-core1.cfg @@ -0,0 +1,69 @@ +! Command: show running-config +! device: avd-ci-core1 (vEOS-lab, EOS-4.32.0F) +! +! boot system flash:/vEOS-lab.swi +! +no aaa root +! +username arista privilege 15 role network-admin shell /bin/bash secret sha512 $6$OSN5th7Q.Zy1QRhW$8HY40ylC/h2J/0jvlx46IbEeRGJSxNyUZR9BS1XHdelKmDilESlLnSefscDczRzi/f9PHUVdXXPsQUsXerJbu. +username ci-avd privilege 15 role network-admin secret sha512 $6$tzBIHQDpZ.10NDxw$y7G0mA5usuiew0nx1HKNe3E1HpiRSZtKd9gS2XhUx9vsa59.E0qLYyzUtwzore34t8cfnFGlvYmf6OH157X6w. +username cvpadmin privilege 15 role network-admin secret sha512 $6$3gTtM9zyRVpL6w7v$5nbd38Y7ZU0ZWty/ycn82iiC4ikX79hdopKWLusZaaFgr0spRqewcRBLKuY5qUaPdgg9h8CZjC4pFqLeQ5GRI1 +! +daemon TerminAttr + exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs + no shutdown +! +transceiver qsfp default-mode 4x10G +! +service routing protocols model multi-agent +! +hostname avd-ci-core1 +ip name-server vrf MGMT 10.90.231.26 +! +spanning-tree mode none +! +system l1 + unsupported speed action error + unsupported error-correction action error +! +vrf instance MGMT +! +management api http-commands + no shutdown + ! + vrf MGMT + no shutdown +! +aaa authentication login console local +aaa authorization exec default local +! +interface Ethernet1 + description this_should_not_work +! +interface Ethernet2 +! +interface Ethernet3 +! +interface Ethernet4 +! +interface Ethernet5 +! +interface Ethernet6 +! +interface Ethernet7 +! +interface Ethernet8 +! +interface Management1 + description oob_management + vrf MGMT + ip address 10.90.231.70/24 +! +no ip routing +no ip routing vrf MGMT +! +ip route vrf MGMT 0.0.0.0/0 10.90.231.1 +! +ntp server 1.pool.ntp.org iburst local-interface Management1 +! +end \ No newline at end of file diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf1-missing.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf1-missing.cfg new file mode 100644 index 00000000000..9dcb7b183fb --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf1-missing.cfg @@ -0,0 +1,188 @@ +!RANCID-CONTENT-TYPE: arista +! +daemon TerminAttr + exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs + no shutdown +! +vlan internal order ascending range 1006 1199 +! +transceiver qsfp default-mode 4x10G +! +service routing protocols model multi-agent +! +hostname avd-ci-leaf1 +ip name-server vrf MGMT 10.90.231.26 +! +ntp server 1.pool.ntp.org iburst local-interface Management1 +! +spanning-tree mode mstp +no spanning-tree vlan-id 4093-4094 +spanning-tree mst 0 priority 16384 +! +aaa authentication login console local +aaa authorization exec default local +! +no enable password +no aaa root +! +username arista privilege 15 role network-admin shell /bin/bash secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username ci-avd privilege 15 role network-admin secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username cvpadmin privilege 15 role network-admin secret sha512 $6$3gTtM9zyRVpL6w7v$5nbd38Y7ZU0ZWty/ycn82iiC4ikX79hdopKWLusZaaFgr0spRqewcRBLKuY5qUaPdgg9h8CZjC4pFqLeQ5GRI1 +! +vlan 4093 + name LEAF_PEER_L3 + trunk group LEAF_PEER_L3 +! +vlan 4094 + name MLAG_PEER + trunk group MLAG +! +vrf instance MGMT +! +interface Port-Channel10 + description MLAG_PEER_avd-ci-leaf2_Po10 + no shutdown + switchport + switchport mode trunk + switchport trunk group LEAF_PEER_L3 + switchport trunk group MLAG +! +interface Ethernet1 + description P2P_LINK_TO_AVD-CI-SPINE1_Ethernet1_test + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.1/31 +! +interface Ethernet2 + description P2P_LINK_TO_AVD-CI-SPINE2_Ethernet1 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.3/31 +! +interface Ethernet10 + description MLAG_PEER_avd-ci-leaf2_Ethernet10 + no shutdown + channel-group 10 mode active +! +interface Ethernet11 + description MLAG_PEER_avd-ci-leaf2_Ethernet11 + no shutdown + channel-group 10 mode active +! +interface Loopback0 + description EVPN_Overlay_Peering + no shutdown + ip address 10.21.0.1/32 +! +interface Loopback1 + description VTEP_VXLAN_Tunnel_Source + no shutdown + ip address 10.22.0.1/32 +! +interface Management1 + description oob_management + no shutdown + vrf MGMT + ip address 10.90.231.64/24 +! +interface Vlan4093 + description MLAG_PEER_L3_PEERING + no shutdown + mtu 1500 + ip address 192.168.21.0/31 +! +interface Vlan4094 + description MLAG_PEER + no shutdown + mtu 1500 + no autostate + ip address 192.168.20.0/31 +! +interface Vxlan1 + description avd-ci-leaf1_VTEP + vxlan source-interface Loopback1 + vxlan virtual-router encapsulation mac-address mlag-system-id + vxlan udp-port 4789 +! +ip routing +no ip routing vrf MGMT +! +ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY + seq 10 permit 10.21.0.0/24 eq 32 + seq 20 permit 10.22.0.0/24 eq 32 +! +mlag configuration + domain-id RACK1 + local-interface Vlan4094 + peer-address 192.168.20.1 + peer-link Port-Channel10 + reload-delay mlag 300 + reload-delay non-mlag 330 +! +ip route vrf MGMT 0.0.0.0/0 10.90.231.1 +! +route-map RM-CONN-2-BGP permit 10 + match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY +! +route-map RM-MLAG-PEER-IN permit 10 + description Make routes learned over MLAG Peer-link less preferred on spines to ensure optimal routing + set origin incomplete +! +router bfd + multihop interval 300 min-rx 300 multiplier 3 +! +router bgp 65001 + router-id 10.21.0.1 + maximum-paths 4 ecmp 4 + update wait-install + no bgp default ipv4-unicast + neighbor EVPN-OVERLAY-PEERS peer group + neighbor EVPN-OVERLAY-PEERS update-source Loopback0 + neighbor EVPN-OVERLAY-PEERS bfd + neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 + neighbor EVPN-OVERLAY-PEERS send-community + neighbor EVPN-OVERLAY-PEERS maximum-routes 0 + neighbor IPv4-UNDERLAY-PEERS peer group + neighbor IPv4-UNDERLAY-PEERS send-community + neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 + neighbor MLAG-IPv4-UNDERLAY-PEER peer group + neighbor MLAG-IPv4-UNDERLAY-PEER remote-as 65001 + neighbor MLAG-IPv4-UNDERLAY-PEER next-hop-self + neighbor MLAG-IPv4-UNDERLAY-PEER description avd-ci-leaf2 + neighbor MLAG-IPv4-UNDERLAY-PEER send-community + neighbor MLAG-IPv4-UNDERLAY-PEER maximum-routes 12000 + neighbor MLAG-IPv4-UNDERLAY-PEER route-map RM-MLAG-PEER-IN in + neighbor 10.20.0.1 peer group EVPN-OVERLAY-PEERS + neighbor 10.20.0.1 remote-as 65000 + neighbor 10.20.0.1 description avd-ci-spine1 + neighbor 10.20.0.2 peer group EVPN-OVERLAY-PEERS + neighbor 10.20.0.2 remote-as 65000 + neighbor 10.20.0.2 description avd-ci-spine2 + neighbor 10.23.0.0 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.0 remote-as 65000 + neighbor 10.23.0.0 description avd-ci-spine1_Ethernet1 + neighbor 10.23.0.2 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.2 remote-as 65000 + neighbor 10.23.0.2 description avd-ci-spine2_Ethernet1 + neighbor 192.168.21.1 peer group MLAG-IPv4-UNDERLAY-PEER + neighbor 192.168.21.1 description avd-ci-leaf2 + redistribute connected route-map RM-CONN-2-BGP + ! + address-family evpn + neighbor EVPN-OVERLAY-PEERS activate + ! + address-family ipv4 + no neighbor EVPN-OVERLAY-PEERS activate + neighbor IPv4-UNDERLAY-PEERS activate + neighbor MLAG-IPv4-UNDERLAY-PEER activate +! +management api http-commands + protocol https + no shutdown + ! + vrf MGMT + no shutdown +! +end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf1.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf1.cfg new file mode 100644 index 00000000000..19fb60dd766 --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf1.cfg @@ -0,0 +1,191 @@ +!RANCID-CONTENT-TYPE: arista +! +daemon TerminAttr + exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs + no shutdown +! +vlan internal order ascending range 1006 1199 +! +transceiver qsfp default-mode 4x10G +! +service routing protocols model multi-agent +! +hostname avd-ci-leaf1 +ip name-server vrf MGMT 10.90.231.26 +! +ntp server 1.pool.ntp.org iburst local-interface Management1 +! +spanning-tree mode mstp +no spanning-tree vlan-id 4093-4094 +spanning-tree mst 0 priority 16384 +! +aaa authentication login console local +aaa authorization exec default local +! +no enable password +no aaa root +! +username arista privilege 15 role network-admin shell /bin/bash secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username ci-avd privilege 15 role network-admin secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username cvpadmin privilege 15 role network-admin secret sha512 $6$3gTtM9zyRVpL6w7v$5nbd38Y7ZU0ZWty/ycn82iiC4ikX79hdopKWLusZaaFgr0spRqewcRBLKuY5qUaPdgg9h8CZjC4pFqLeQ5GRI1 +! +vlan 4093 + name LEAF_PEER_L3 + trunk group LEAF_PEER_L3 +! +vlan 4094 + name MLAG_PEER + trunk group MLAG +! +vrf instance MGMT +! +interface Port-Channel10 + description MLAG_PEER_avd-ci-leaf2_Po10 + no shutdown + switchport + switchport mode trunk + switchport trunk group LEAF_PEER_L3 + switchport trunk group MLAG +! +interface Ethernet1 + description P2P_LINK_TO_AVD-CI-SPINE1_Ethernet1 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.1/31 +! +interface Ethernet2 + description P2P_LINK_TO_AVD-CI-SPINE2_Ethernet1 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.3/31 +! +interface Ethernet3 + description test +! +interface Ethernet10 + description MLAG_PEER_avd-ci-leaf2_Ethernet10 + no shutdown + channel-group 10 mode active +! +interface Ethernet11 + description MLAG_PEER_avd-ci-leaf2_Ethernet11 + no shutdown + channel-group 10 mode active +! +interface Loopback0 + description EVPN_Overlay_Peering + no shutdown + ip address 10.21.0.1/32 +! +interface Loopback1 + description VTEP_VXLAN_Tunnel_Source + no shutdown + ip address 10.22.0.1/32 +! +interface Management1 + description oob_management + no shutdown + vrf MGMT + ip address 10.90.231.64/24 +! +interface Vlan4093 + description MLAG_PEER_L3_PEERING + no shutdown + mtu 1500 + ip address 192.168.21.0/31 +! +interface Vlan4094 + description MLAG_PEER + no shutdown + mtu 1500 + no autostate + ip address 192.168.20.0/31 +! +interface Vxlan1 + description avd-ci-leaf1_VTEP + vxlan source-interface Loopback1 + vxlan virtual-router encapsulation mac-address mlag-system-id + vxlan udp-port 4789 +! +ip routing +no ip routing vrf MGMT +! +ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY + seq 10 permit 10.21.0.0/24 eq 32 + seq 20 permit 10.22.0.0/24 eq 32 +! +mlag configuration + domain-id RACK1 + local-interface Vlan4094 + peer-address 192.168.20.1 + peer-link Port-Channel10 + reload-delay mlag 300 + reload-delay non-mlag 330 +! +ip route vrf MGMT 0.0.0.0/0 10.90.231.1 +! +route-map RM-CONN-2-BGP permit 10 + match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY +! +route-map RM-MLAG-PEER-IN permit 10 + description Make routes learned over MLAG Peer-link less preferred on spines to ensure optimal routing + set origin incomplete +! +router bfd + multihop interval 300 min-rx 300 multiplier 3 +! +router bgp 65001 + router-id 10.21.0.1 + maximum-paths 4 ecmp 4 + update wait-install + no bgp default ipv4-unicast + neighbor EVPN-OVERLAY-PEERS peer group + neighbor EVPN-OVERLAY-PEERS update-source Loopback0 + neighbor EVPN-OVERLAY-PEERS bfd + neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 + neighbor EVPN-OVERLAY-PEERS send-community + neighbor EVPN-OVERLAY-PEERS maximum-routes 0 + neighbor IPv4-UNDERLAY-PEERS peer group + neighbor IPv4-UNDERLAY-PEERS send-community + neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 + neighbor MLAG-IPv4-UNDERLAY-PEER peer group + neighbor MLAG-IPv4-UNDERLAY-PEER remote-as 65001 + neighbor MLAG-IPv4-UNDERLAY-PEER next-hop-self + neighbor MLAG-IPv4-UNDERLAY-PEER description avd-ci-leaf2 + neighbor MLAG-IPv4-UNDERLAY-PEER send-community + neighbor MLAG-IPv4-UNDERLAY-PEER maximum-routes 12000 + neighbor MLAG-IPv4-UNDERLAY-PEER route-map RM-MLAG-PEER-IN in + neighbor 10.20.0.1 peer group EVPN-OVERLAY-PEERS + neighbor 10.20.0.1 remote-as 65000 + neighbor 10.20.0.1 description avd-ci-spine1 + neighbor 10.20.0.2 peer group EVPN-OVERLAY-PEERS + neighbor 10.20.0.2 remote-as 65000 + neighbor 10.20.0.2 description avd-ci-spine2 + neighbor 10.23.0.0 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.0 remote-as 65000 + neighbor 10.23.0.0 description avd-ci-spine1_Ethernet1 + neighbor 10.23.0.2 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.2 remote-as 65000 + neighbor 10.23.0.2 description avd-ci-spine2_Ethernet1 + neighbor 192.168.21.1 peer group MLAG-IPv4-UNDERLAY-PEER + neighbor 192.168.21.1 description avd-ci-leaf2 + redistribute connected route-map RM-CONN-2-BGP + ! + address-family evpn + neighbor EVPN-OVERLAY-PEERS activate + ! + address-family ipv4 + no neighbor EVPN-OVERLAY-PEERS activate + neighbor IPv4-UNDERLAY-PEERS activate + neighbor MLAG-IPv4-UNDERLAY-PEER activate +! +management api http-commands + protocol https + no shutdown + ! + vrf MGMT + no shutdown +! +end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf2.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf2.cfg new file mode 100644 index 00000000000..cecc8925a74 --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf2.cfg @@ -0,0 +1,188 @@ +!RANCID-CONTENT-TYPE: arista +! +daemon TerminAttr + exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs + no shutdown +! +vlan internal order ascending range 1006 1199 +! +transceiver qsfp default-mode 4x10G +! +service routing protocols model multi-agent +! +hostname avd-ci-leaf2 +ip name-server vrf MGMT 10.90.231.26 +! +ntp server 1.pool.ntp.org iburst local-interface Management1 +! +spanning-tree mode mstp +no spanning-tree vlan-id 4093-4094 +spanning-tree mst 0 priority 16384 +! +aaa authentication login console local +aaa authorization exec default local +! +no enable password +no aaa root +! +username arista privilege 15 role network-admin shell /bin/bash secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username ci-avd privilege 15 role network-admin secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username cvpadmin privilege 15 role network-admin secret sha512 $6$3gTtM9zyRVpL6w7v$5nbd38Y7ZU0ZWty/ycn82iiC4ikX79hdopKWLusZaaFgr0spRqewcRBLKuY5qUaPdgg9h8CZjC4pFqLeQ5GRI1 +! +vlan 4093 + name LEAF_PEER_L3 + trunk group LEAF_PEER_L3 +! +vlan 4094 + name MLAG_PEER + trunk group MLAG +! +vrf instance MGMT +! +interface Port-Channel10 + description MLAG_PEER_avd-ci-leaf1_Po10 + no shutdown + switchport + switchport mode trunk + switchport trunk group LEAF_PEER_L3 + switchport trunk group MLAG +! +interface Ethernet1 + description P2P_LINK_TO_AVD-CI-SPINE1_Ethernet2 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.5/31 +! +interface Ethernet2 + description P2P_LINK_TO_AVD-CI-SPINE2_Ethernet2 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.7/31 +! +interface Ethernet10 + description MLAG_PEER_avd-ci-leaf1_Ethernet10 + no shutdown + channel-group 10 mode active +! +interface Ethernet11 + description MLAG_PEER_avd-ci-leaf1_Ethernet11 + no shutdown + channel-group 10 mode active +! +interface Loopback0 + description EVPN_Overlay_Peering + no shutdown + ip address 10.21.0.2/32 +! +interface Loopback1 + description VTEP_VXLAN_Tunnel_Source + no shutdown + ip address 10.22.0.1/32 +! +interface Management1 + description oob_management + no shutdown + vrf MGMT + ip address 10.90.231.65/24 +! +interface Vlan4093 + description MLAG_PEER_L3_PEERING + no shutdown + mtu 1500 + ip address 192.168.21.1/31 +! +interface Vlan4094 + description MLAG_PEER + no shutdown + mtu 1500 + no autostate + ip address 192.168.20.1/31 +! +interface Vxlan1 + description avd-ci-leaf2_VTEP + vxlan source-interface Loopback1 + vxlan virtual-router encapsulation mac-address mlag-system-id + vxlan udp-port 4789 +! +ip routing +no ip routing vrf MGMT +! +ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY + seq 10 permit 10.21.0.0/24 eq 32 + seq 20 permit 10.22.0.0/24 eq 32 +! +mlag configuration + domain-id RACK1 + local-interface Vlan4094 + peer-address 192.168.20.0 + peer-link Port-Channel10 + reload-delay mlag 300 + reload-delay non-mlag 330 +! +ip route vrf MGMT 0.0.0.0/0 10.90.231.1 +! +route-map RM-CONN-2-BGP permit 10 + match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY +! +route-map RM-MLAG-PEER-IN permit 10 + description Make routes learned over MLAG Peer-link less preferred on spines to ensure optimal routing + set origin incomplete +! +router bfd + multihop interval 300 min-rx 300 multiplier 3 +! +router bgp 65001 + router-id 10.21.0.2 + maximum-paths 4 ecmp 4 + update wait-install + no bgp default ipv4-unicast + neighbor EVPN-OVERLAY-PEERS peer group + neighbor EVPN-OVERLAY-PEERS update-source Loopback0 + neighbor EVPN-OVERLAY-PEERS bfd + neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 + neighbor EVPN-OVERLAY-PEERS send-community + neighbor EVPN-OVERLAY-PEERS maximum-routes 0 + neighbor IPv4-UNDERLAY-PEERS peer group + neighbor IPv4-UNDERLAY-PEERS send-community + neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 + neighbor MLAG-IPv4-UNDERLAY-PEER peer group + neighbor MLAG-IPv4-UNDERLAY-PEER remote-as 65001 + neighbor MLAG-IPv4-UNDERLAY-PEER next-hop-self + neighbor MLAG-IPv4-UNDERLAY-PEER description avd-ci-leaf1 + neighbor MLAG-IPv4-UNDERLAY-PEER send-community + neighbor MLAG-IPv4-UNDERLAY-PEER maximum-routes 12000 + neighbor MLAG-IPv4-UNDERLAY-PEER route-map RM-MLAG-PEER-IN in + neighbor 10.20.0.1 peer group EVPN-OVERLAY-PEERS + neighbor 10.20.0.1 remote-as 65000 + neighbor 10.20.0.1 description avd-ci-spine1 + neighbor 10.20.0.2 peer group EVPN-OVERLAY-PEERS + neighbor 10.20.0.2 remote-as 65000 + neighbor 10.20.0.2 description avd-ci-spine2 + neighbor 10.23.0.4 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.4 remote-as 65000 + neighbor 10.23.0.4 description avd-ci-spine1_Ethernet2 + neighbor 10.23.0.6 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.6 remote-as 65000 + neighbor 10.23.0.6 description avd-ci-spine2_Ethernet2 + neighbor 192.168.21.0 peer group MLAG-IPv4-UNDERLAY-PEER + neighbor 192.168.21.0 description avd-ci-leaf1 + redistribute connected route-map RM-CONN-2-BGP + ! + address-family evpn + neighbor EVPN-OVERLAY-PEERS activate + ! + address-family ipv4 + no neighbor EVPN-OVERLAY-PEERS activate + neighbor IPv4-UNDERLAY-PEERS activate + neighbor MLAG-IPv4-UNDERLAY-PEER activate +! +management api http-commands + protocol https + no shutdown + ! + vrf MGMT + no shutdown +! +end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf3.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf3.cfg new file mode 100644 index 00000000000..7e725e34e9d --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf3.cfg @@ -0,0 +1,188 @@ +!RANCID-CONTENT-TYPE: arista +! +daemon TerminAttr + exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs + no shutdown +! +vlan internal order ascending range 1006 1199 +! +transceiver qsfp default-mode 4x10G +! +service routing protocols model multi-agent +! +hostname avd-ci-leaf3 +ip name-server vrf MGMT 10.90.231.26 +! +ntp server 1.pool.ntp.org iburst local-interface Management1 +! +spanning-tree mode mstp +no spanning-tree vlan-id 4093-4094 +spanning-tree mst 0 priority 16384 +! +aaa authentication login console local +aaa authorization exec default local +! +no enable password +no aaa root +! +username arista privilege 15 role network-admin shell /bin/bash secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username ci-avd privilege 15 role network-admin secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username cvpadmin privilege 15 role network-admin secret sha512 $6$3gTtM9zyRVpL6w7v$5nbd38Y7ZU0ZWty/ycn82iiC4ikX79hdopKWLusZaaFgr0spRqewcRBLKuY5qUaPdgg9h8CZjC4pFqLeQ5GRI1 +! +vlan 4093 + name LEAF_PEER_L3 + trunk group LEAF_PEER_L3 +! +vlan 4094 + name MLAG_PEER + trunk group MLAG +! +vrf instance MGMT +! +interface Port-Channel10 + description MLAG_PEER_avd-ci-leaf4_Po10 + no shutdown + switchport + switchport mode trunk + switchport trunk group LEAF_PEER_L3 + switchport trunk group MLAG +! +interface Ethernet1 + description P2P_LINK_TO_AVD-CI-SPINE1_Ethernet3 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.9/31 +! +interface Ethernet2 + description P2P_LINK_TO_AVD-CI-SPINE2_Ethernet3 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.11/31 +! +interface Ethernet10 + description MLAG_PEER_avd-ci-leaf4_Ethernet10 + no shutdown + channel-group 10 mode active +! +interface Ethernet11 + description MLAG_PEER_avd-ci-leaf4_Ethernet11 + no shutdown + channel-group 10 mode active +! +interface Loopback0 + description EVPN_Overlay_Peering + no shutdown + ip address 10.21.0.3/32 +! +interface Loopback1 + description VTEP_VXLAN_Tunnel_Source + no shutdown + ip address 10.22.0.3/32 +! +interface Management1 + description oob_management + no shutdown + vrf MGMT + ip address 10.90.231.66/24 +! +interface Vlan4093 + description MLAG_PEER_L3_PEERING + no shutdown + mtu 1500 + ip address 192.168.21.4/31 +! +interface Vlan4094 + description MLAG_PEER + no shutdown + mtu 1500 + no autostate + ip address 192.168.20.4/31 +! +interface Vxlan1 + description avd-ci-leaf3_VTEP + vxlan source-interface Loopback1 + vxlan virtual-router encapsulation mac-address mlag-system-id + vxlan udp-port 4789 +! +ip routing +no ip routing vrf MGMT +! +ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY + seq 10 permit 10.21.0.0/24 eq 32 + seq 20 permit 10.22.0.0/24 eq 32 +! +mlag configuration + domain-id RACK2 + local-interface Vlan4094 + peer-address 192.168.20.5 + peer-link Port-Channel10 + reload-delay mlag 300 + reload-delay non-mlag 330 +! +ip route vrf MGMT 0.0.0.0/0 10.90.231.1 +! +route-map RM-CONN-2-BGP permit 10 + match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY +! +route-map RM-MLAG-PEER-IN permit 10 + description Make routes learned over MLAG Peer-link less preferred on spines to ensure optimal routing + set origin incomplete +! +router bfd + multihop interval 300 min-rx 300 multiplier 3 +! +router bgp 65002 + router-id 10.21.0.3 + maximum-paths 4 ecmp 4 + update wait-install + no bgp default ipv4-unicast + neighbor EVPN-OVERLAY-PEERS peer group + neighbor EVPN-OVERLAY-PEERS update-source Loopback0 + neighbor EVPN-OVERLAY-PEERS bfd + neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 + neighbor EVPN-OVERLAY-PEERS send-community + neighbor EVPN-OVERLAY-PEERS maximum-routes 0 + neighbor IPv4-UNDERLAY-PEERS peer group + neighbor IPv4-UNDERLAY-PEERS send-community + neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 + neighbor MLAG-IPv4-UNDERLAY-PEER peer group + neighbor MLAG-IPv4-UNDERLAY-PEER remote-as 65002 + neighbor MLAG-IPv4-UNDERLAY-PEER next-hop-self + neighbor MLAG-IPv4-UNDERLAY-PEER description avd-ci-leaf4 + neighbor MLAG-IPv4-UNDERLAY-PEER send-community + neighbor MLAG-IPv4-UNDERLAY-PEER maximum-routes 12000 + neighbor MLAG-IPv4-UNDERLAY-PEER route-map RM-MLAG-PEER-IN in + neighbor 10.20.0.1 peer group EVPN-OVERLAY-PEERS + neighbor 10.20.0.1 remote-as 65000 + neighbor 10.20.0.1 description avd-ci-spine1 + neighbor 10.20.0.2 peer group EVPN-OVERLAY-PEERS + neighbor 10.20.0.2 remote-as 65000 + neighbor 10.20.0.2 description avd-ci-spine2 + neighbor 10.23.0.8 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.8 remote-as 65000 + neighbor 10.23.0.8 description avd-ci-spine1_Ethernet3 + neighbor 10.23.0.10 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.10 remote-as 65000 + neighbor 10.23.0.10 description avd-ci-spine2_Ethernet3 + neighbor 192.168.21.5 peer group MLAG-IPv4-UNDERLAY-PEER + neighbor 192.168.21.5 description avd-ci-leaf4 + redistribute connected route-map RM-CONN-2-BGP + ! + address-family evpn + neighbor EVPN-OVERLAY-PEERS activate + ! + address-family ipv4 + no neighbor EVPN-OVERLAY-PEERS activate + neighbor IPv4-UNDERLAY-PEERS activate + neighbor MLAG-IPv4-UNDERLAY-PEER activate +! +management api http-commands + protocol https + no shutdown + ! + vrf MGMT + no shutdown +! +end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf4.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf4.cfg new file mode 100644 index 00000000000..2e150a7b8be --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf4.cfg @@ -0,0 +1,188 @@ +!RANCID-CONTENT-TYPE: arista +! +daemon TerminAttr + exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs + no shutdown +! +vlan internal order ascending range 1006 1199 +! +transceiver qsfp default-mode 4x10G +! +service routing protocols model multi-agent +! +hostname avd-ci-leaf4 +ip name-server vrf MGMT 10.90.231.26 +! +ntp server 1.pool.ntp.org iburst local-interface Management1 +! +spanning-tree mode mstp +no spanning-tree vlan-id 4093-4094 +spanning-tree mst 0 priority 16384 +! +aaa authentication login console local +aaa authorization exec default local +! +no enable password +no aaa root +! +username arista privilege 15 role network-admin shell /bin/bash secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username ci-avd privilege 15 role network-admin secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username cvpadmin privilege 15 role network-admin secret sha512 $6$3gTtM9zyRVpL6w7v$5nbd38Y7ZU0ZWty/ycn82iiC4ikX79hdopKWLusZaaFgr0spRqewcRBLKuY5qUaPdgg9h8CZjC4pFqLeQ5GRI1 +! +vlan 4093 + name LEAF_PEER_L3 + trunk group LEAF_PEER_L3 +! +vlan 4094 + name MLAG_PEER + trunk group MLAG +! +vrf instance MGMT +! +interface Port-Channel10 + description MLAG_PEER_avd-ci-leaf3_Po10 + no shutdown + switchport + switchport mode trunk + switchport trunk group LEAF_PEER_L3 + switchport trunk group MLAG +! +interface Ethernet1 + description P2P_LINK_TO_AVD-CI-SPINE1_Ethernet4 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.13/31 +! +interface Ethernet2 + description P2P_LINK_TO_AVD-CI-SPINE2_Ethernet4 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.15/31 +! +interface Ethernet10 + description MLAG_PEER_avd-ci-leaf3_Ethernet10 + no shutdown + channel-group 10 mode active +! +interface Ethernet11 + description MLAG_PEER_avd-ci-leaf3_Ethernet11 + no shutdown + channel-group 10 mode active +! +interface Loopback0 + description EVPN_Overlay_Peering + no shutdown + ip address 10.21.0.4/32 +! +interface Loopback1 + description VTEP_VXLAN_Tunnel_Source + no shutdown + ip address 10.22.0.3/32 +! +interface Management1 + description oob_management + no shutdown + vrf MGMT + ip address 10.90.231.67/24 +! +interface Vlan4093 + description MLAG_PEER_L3_PEERING + no shutdown + mtu 1500 + ip address 192.168.21.5/31 +! +interface Vlan4094 + description MLAG_PEER + no shutdown + mtu 1500 + no autostate + ip address 192.168.20.5/31 +! +interface Vxlan1 + description avd-ci-leaf4_VTEP + vxlan source-interface Loopback1 + vxlan virtual-router encapsulation mac-address mlag-system-id + vxlan udp-port 4789 +! +ip routing +no ip routing vrf MGMT +! +ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY + seq 10 permit 10.21.0.0/24 eq 32 + seq 20 permit 10.22.0.0/24 eq 32 +! +mlag configuration + domain-id RACK2 + local-interface Vlan4094 + peer-address 192.168.20.4 + peer-link Port-Channel10 + reload-delay mlag 300 + reload-delay non-mlag 330 +! +ip route vrf MGMT 0.0.0.0/0 10.90.231.1 +! +route-map RM-CONN-2-BGP permit 10 + match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY +! +route-map RM-MLAG-PEER-IN permit 10 + description Make routes learned over MLAG Peer-link less preferred on spines to ensure optimal routing + set origin incomplete +! +router bfd + multihop interval 300 min-rx 300 multiplier 3 +! +router bgp 65002 + router-id 10.21.0.4 + maximum-paths 4 ecmp 4 + update wait-install + no bgp default ipv4-unicast + neighbor EVPN-OVERLAY-PEERS peer group + neighbor EVPN-OVERLAY-PEERS update-source Loopback0 + neighbor EVPN-OVERLAY-PEERS bfd + neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 + neighbor EVPN-OVERLAY-PEERS send-community + neighbor EVPN-OVERLAY-PEERS maximum-routes 0 + neighbor IPv4-UNDERLAY-PEERS peer group + neighbor IPv4-UNDERLAY-PEERS send-community + neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 + neighbor MLAG-IPv4-UNDERLAY-PEER peer group + neighbor MLAG-IPv4-UNDERLAY-PEER remote-as 65002 + neighbor MLAG-IPv4-UNDERLAY-PEER next-hop-self + neighbor MLAG-IPv4-UNDERLAY-PEER description avd-ci-leaf3 + neighbor MLAG-IPv4-UNDERLAY-PEER send-community + neighbor MLAG-IPv4-UNDERLAY-PEER maximum-routes 12000 + neighbor MLAG-IPv4-UNDERLAY-PEER route-map RM-MLAG-PEER-IN in + neighbor 10.20.0.1 peer group EVPN-OVERLAY-PEERS + neighbor 10.20.0.1 remote-as 65000 + neighbor 10.20.0.1 description avd-ci-spine1 + neighbor 10.20.0.2 peer group EVPN-OVERLAY-PEERS + neighbor 10.20.0.2 remote-as 65000 + neighbor 10.20.0.2 description avd-ci-spine2 + neighbor 10.23.0.12 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.12 remote-as 65000 + neighbor 10.23.0.12 description avd-ci-spine1_Ethernet4 + neighbor 10.23.0.14 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.14 remote-as 65000 + neighbor 10.23.0.14 description avd-ci-spine2_Ethernet4 + neighbor 192.168.21.4 peer group MLAG-IPv4-UNDERLAY-PEER + neighbor 192.168.21.4 description avd-ci-leaf3 + redistribute connected route-map RM-CONN-2-BGP + ! + address-family evpn + neighbor EVPN-OVERLAY-PEERS activate + ! + address-family ipv4 + no neighbor EVPN-OVERLAY-PEERS activate + neighbor IPv4-UNDERLAY-PEERS activate + neighbor MLAG-IPv4-UNDERLAY-PEER activate +! +management api http-commands + protocol https + no shutdown + ! + vrf MGMT + no shutdown +! +end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-spine1.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-spine1.cfg new file mode 100644 index 00000000000..a09551d19d0 --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-spine1.cfg @@ -0,0 +1,140 @@ +!RANCID-CONTENT-TYPE: arista +! +daemon TerminAttr + exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs + no shutdown +! +vlan internal order ascending range 1006 1199 +! +transceiver qsfp default-mode 4x10G +! +service routing protocols model multi-agent +! +hostname avd-ci-spine1 +ip name-server vrf MGMT 10.90.231.26 +! +ntp server 1.pool.ntp.org iburst local-interface Management1 +! +spanning-tree mode none +! +aaa authentication login console local +aaa authorization exec default local +! +no enable password +no aaa root +! +username arista privilege 15 role network-admin shell /bin/bash secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username ci-avd privilege 15 role network-admin secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username cvpadmin privilege 15 role network-admin secret sha512 $6$3gTtM9zyRVpL6w7v$5nbd38Y7ZU0ZWty/ycn82iiC4ikX79hdopKWLusZaaFgr0spRqewcRBLKuY5qUaPdgg9h8CZjC4pFqLeQ5GRI1 +! +vrf instance MGMT +! +interface Ethernet1 + description P2P_LINK_TO_AVD-CI-LEAF1_Ethernet1 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.0/31 +! +interface Ethernet2 + description P2P_LINK_TO_AVD-CI-LEAF2_Ethernet1 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.4/31 +! +interface Ethernet3 + description P2P_LINK_TO_AVD-CI-LEAF3_Ethernet1 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.8/31 +! +interface Ethernet4 + description P2P_LINK_TO_AVD-CI-LEAF4_Ethernet1 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.12/31 +! +interface Loopback0 + description EVPN_Overlay_Peering + no shutdown + ip address 10.20.0.1/32 +! +interface Management1 + description oob_management + no shutdown + vrf MGMT + ip address 10.90.231.68/24 +! +ip routing +no ip routing vrf MGMT +! +ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY + seq 10 permit 10.20.0.0/24 eq 32 +! +ip route vrf MGMT 0.0.0.0/0 10.90.231.1 +! +route-map RM-CONN-2-BGP permit 10 + match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY +! +router bfd + multihop interval 300 min-rx 300 multiplier 3 +! +router bgp 65000 + router-id 10.20.0.1 + maximum-paths 4 ecmp 4 + update wait-install + no bgp default ipv4-unicast + neighbor EVPN-OVERLAY-PEERS peer group + neighbor EVPN-OVERLAY-PEERS next-hop-unchanged + neighbor EVPN-OVERLAY-PEERS update-source Loopback0 + neighbor EVPN-OVERLAY-PEERS bfd + neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 + neighbor EVPN-OVERLAY-PEERS send-community + neighbor EVPN-OVERLAY-PEERS maximum-routes 0 + neighbor IPv4-UNDERLAY-PEERS peer group + neighbor IPv4-UNDERLAY-PEERS send-community + neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 + neighbor 10.21.0.1 peer group EVPN-OVERLAY-PEERS + neighbor 10.21.0.1 remote-as 65001 + neighbor 10.21.0.1 description avd-ci-leaf1 + neighbor 10.21.0.2 peer group EVPN-OVERLAY-PEERS + neighbor 10.21.0.2 remote-as 65001 + neighbor 10.21.0.2 description avd-ci-leaf2 + neighbor 10.21.0.3 peer group EVPN-OVERLAY-PEERS + neighbor 10.21.0.3 remote-as 65002 + neighbor 10.21.0.3 description avd-ci-leaf3 + neighbor 10.21.0.4 peer group EVPN-OVERLAY-PEERS + neighbor 10.21.0.4 remote-as 65002 + neighbor 10.21.0.4 description avd-ci-leaf4 + neighbor 10.23.0.1 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.1 remote-as 65001 + neighbor 10.23.0.1 description avd-ci-leaf1_Ethernet1 + neighbor 10.23.0.5 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.5 remote-as 65001 + neighbor 10.23.0.5 description avd-ci-leaf2_Ethernet1 + neighbor 10.23.0.9 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.9 remote-as 65002 + neighbor 10.23.0.9 description avd-ci-leaf3_Ethernet1 + neighbor 10.23.0.13 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.13 remote-as 65002 + neighbor 10.23.0.13 description avd-ci-leaf4_Ethernet1 + redistribute connected route-map RM-CONN-2-BGP + ! + address-family evpn + neighbor EVPN-OVERLAY-PEERS activate + ! + address-family ipv4 + no neighbor EVPN-OVERLAY-PEERS activate + neighbor IPv4-UNDERLAY-PEERS activate +! +management api http-commands + protocol https + no shutdown + ! + vrf MGMT + no shutdown +! +end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-spine2.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-spine2.cfg new file mode 100644 index 00000000000..969140565cb --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-spine2.cfg @@ -0,0 +1,140 @@ +!RANCID-CONTENT-TYPE: arista +! +daemon TerminAttr + exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs + no shutdown +! +vlan internal order ascending range 1006 1199 +! +transceiver qsfp default-mode 4x10G +! +service routing protocols model multi-agent +! +hostname avd-ci-spine2 +ip name-server vrf MGMT 10.90.231.26 +! +ntp server 1.pool.ntp.org iburst local-interface Management1 +! +spanning-tree mode none +! +aaa authentication login console local +aaa authorization exec default local +! +no enable password +no aaa root +! +username arista privilege 15 role network-admin shell /bin/bash secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username ci-avd privilege 15 role network-admin secret sha512 $6$arista$v8nDCIcRzulmeREaxjY5yFktUpc9y/j9pCGRtNLplY3Oq8VofM1fKehi.G7hC/5bm8B34yQinkT8/uyf3RCij1 +username cvpadmin privilege 15 role network-admin secret sha512 $6$3gTtM9zyRVpL6w7v$5nbd38Y7ZU0ZWty/ycn82iiC4ikX79hdopKWLusZaaFgr0spRqewcRBLKuY5qUaPdgg9h8CZjC4pFqLeQ5GRI1 +! +vrf instance MGMT +! +interface Ethernet1 + description P2P_LINK_TO_AVD-CI-LEAF1_Ethernet2 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.2/31 +! +interface Ethernet2 + description P2P_LINK_TO_AVD-CI-LEAF2_Ethernet2 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.6/31 +! +interface Ethernet3 + description P2P_LINK_TO_AVD-CI-LEAF3_Ethernet2 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.10/31 +! +interface Ethernet4 + description P2P_LINK_TO_AVD-CI-LEAF4_Ethernet2 + no shutdown + mtu 1500 + no switchport + ip address 10.23.0.14/31 +! +interface Loopback0 + description EVPN_Overlay_Peering + no shutdown + ip address 10.20.0.2/32 +! +interface Management1 + description oob_management + no shutdown + vrf MGMT + ip address 10.90.231.69/24 +! +ip routing +no ip routing vrf MGMT +! +ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY + seq 10 permit 10.20.0.0/24 eq 32 +! +ip route vrf MGMT 0.0.0.0/0 10.90.231.1 +! +route-map RM-CONN-2-BGP permit 10 + match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY +! +router bfd + multihop interval 300 min-rx 300 multiplier 3 +! +router bgp 65000 + router-id 10.20.0.2 + maximum-paths 4 ecmp 4 + update wait-install + no bgp default ipv4-unicast + neighbor EVPN-OVERLAY-PEERS peer group + neighbor EVPN-OVERLAY-PEERS next-hop-unchanged + neighbor EVPN-OVERLAY-PEERS update-source Loopback0 + neighbor EVPN-OVERLAY-PEERS bfd + neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 + neighbor EVPN-OVERLAY-PEERS send-community + neighbor EVPN-OVERLAY-PEERS maximum-routes 0 + neighbor IPv4-UNDERLAY-PEERS peer group + neighbor IPv4-UNDERLAY-PEERS send-community + neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 + neighbor 10.21.0.1 peer group EVPN-OVERLAY-PEERS + neighbor 10.21.0.1 remote-as 65001 + neighbor 10.21.0.1 description avd-ci-leaf1 + neighbor 10.21.0.2 peer group EVPN-OVERLAY-PEERS + neighbor 10.21.0.2 remote-as 65001 + neighbor 10.21.0.2 description avd-ci-leaf2 + neighbor 10.21.0.3 peer group EVPN-OVERLAY-PEERS + neighbor 10.21.0.3 remote-as 65002 + neighbor 10.21.0.3 description avd-ci-leaf3 + neighbor 10.21.0.4 peer group EVPN-OVERLAY-PEERS + neighbor 10.21.0.4 remote-as 65002 + neighbor 10.21.0.4 description avd-ci-leaf4 + neighbor 10.23.0.3 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.3 remote-as 65001 + neighbor 10.23.0.3 description avd-ci-leaf1_Ethernet2 + neighbor 10.23.0.7 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.7 remote-as 65001 + neighbor 10.23.0.7 description avd-ci-leaf2_Ethernet2 + neighbor 10.23.0.11 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.11 remote-as 65002 + neighbor 10.23.0.11 description avd-ci-leaf3_Ethernet2 + neighbor 10.23.0.15 peer group IPv4-UNDERLAY-PEERS + neighbor 10.23.0.15 remote-as 65002 + neighbor 10.23.0.15 description avd-ci-leaf4_Ethernet2 + redistribute connected route-map RM-CONN-2-BGP + ! + address-family evpn + neighbor EVPN-OVERLAY-PEERS activate + ! + address-family ipv4 + no neighbor EVPN-OVERLAY-PEERS activate + neighbor IPv4-UNDERLAY-PEERS activate +! +management api http-commands + protocol https + no shutdown + ! + vrf MGMT + no shutdown +! +end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-core1.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-core1.cfg deleted file mode 100644 index 653b5a9854d..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-core1.cfg +++ /dev/null @@ -1,56 +0,0 @@ -!RANCID-CONTENT-TYPE: arista -! -no aaa root -! -username cvpadmin privilege 15 role network-admin secret sha512 $6$zWeb8jvKJY8ZtQkD$QzZDALGL1yDmjOxiGUNVJNyBU2la8AXPW04OmxaBt7JEfAgNU9QULOkG2HmwD3x8hFoo2LnwtjbX.Muj/dXlH0 -username netadmin privilege 15 role network-admin secret sha512 $6$wdCCRfpWoyE3pTFJ$sMePFNrFSFKUVFxlxMTkB7E90tgwiz7BDtcUpBH5ga4Co/N59tsselElTZyYA.LDuSnVl2t/FH.qc1FX9fzNM/ -! -daemon TerminAttr - exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=MGMT -taillogs - no shutdown -! -vlan internal order ascending range 3900 4000 -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname ci-s1-core1 -ip name-server vrf MGMT 172.22.22.40 -! -platform tfa - personality arfa -! -spanning-tree mode mstp -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vrf instance MGMT -! -management api http-commands - no shutdown - ! - vrf MGMT - no shutdown -! -interface Ethernet1 -! -interface Ethernet2 -! -interface Ethernet3 -! -interface Ethernet4 -! -interface Ethernet6 -! -interface Management0 - vrf MGMT - ip address 172.20.20.2/24 -! -no ip routing vrf MGMT -! -ip route vrf MGMT 0.0.0.0/0 172.20.20.1 -! -end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-leaf1.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-leaf1.cfg deleted file mode 100644 index 899176eb97e..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-leaf1.cfg +++ /dev/null @@ -1,57 +0,0 @@ -!RANCID-CONTENT-TYPE: arista -! -no aaa root -! -username cvpadmin privilege 15 role network-admin secret sha512 $6$zWeb8jvKJY8ZtQkD$QzZDALGL1yDmjOxiGUNVJNyBU2la8AXPW04OmxaBt7JEfAgNU9QULOkG2HmwD3x8hFoo2LnwtjbX.Muj/dXlH0 -username netadmin privilege 15 role network-admin secret sha512 $6$wdCCRfpWoyE3pTFJ$sMePFNrFSFKUVFxlxMTkB7E90tgwiz7BDtcUpBH5ga4Co/N59tsselElTZyYA.LDuSnVl2t/FH.qc1FX9fzNM/ -! -daemon TerminAttr - exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=MGMT -taillogs - no shutdown -! -vlan internal order ascending range 3900 4000 -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname ci-s1-leaf1 -ip name-server vrf MGMT 172.22.22.40 -! -platform tfa - personality arfa -! -spanning-tree mode mstp -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vrf instance MGMT -! -management api http-commands - no shutdown - ! - vrf MGMT - no shutdown -! -interface Ethernet1 - description test -! -interface Ethernet2 -! -interface Ethernet3 -! -interface Ethernet4 -! -interface Ethernet6 -! -interface Management0 - vrf MGMT - ip address 172.20.20.2/24 -! -no ip routing vrf MGMT -! -ip route vrf MGMT 0.0.0.0/0 172.20.20.1 -! -end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-leaf2.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-leaf2.cfg deleted file mode 100644 index d8338e8eade..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-leaf2.cfg +++ /dev/null @@ -1,56 +0,0 @@ -!RANCID-CONTENT-TYPE: arista -! -no aaa root -! -username cvpadmin privilege 15 role network-admin secret sha512 $6$1Xramu7r/0xmdLCk$AjZmoBkUwcs55uiTvZdKX6.UsOXjQNZbtjeXEeUPel7yBtLsIj8LPqQnxWWFFJop/8XWk4As8wTiZFJ1vC4j/0 -username netadmin privilege 15 role network-admin secret sha512 $6$9HuUPp8hGLEhjim1$JXEkaiym7aiZdyNe16OVrXpxPPZ2AjxOXKIU4y3hRLWr57lwU404UP4cSPTmXNNA60.ioVRfYtaIdQB5KqZxk. -! -daemon TerminAttr - exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=MGMT -taillogs - no shutdown -! -vlan internal order ascending range 3900 4000 -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname ci-s1-leaf2 -ip name-server vrf MGMT 172.22.22.40 -! -platform tfa - personality arfa -! -spanning-tree mode mstp -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vrf instance MGMT -! -management api http-commands - no shutdown - ! - vrf MGMT - no shutdown -! -interface Ethernet1 -! -interface Ethernet2 -! -interface Ethernet3 -! -interface Ethernet4 -! -interface Ethernet6 -! -interface Management0 - vrf MGMT - ip address 172.20.20.2/24 -! -no ip routing vrf MGMT -! -ip route vrf MGMT 0.0.0.0/0 172.20.20.1 -! -end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-leaf3.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-leaf3.cfg deleted file mode 100644 index b4ba8554f9f..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-leaf3.cfg +++ /dev/null @@ -1,59 +0,0 @@ -!RANCID-CONTENT-TYPE: arista -! -! Command: show running-config -! device: devel-s1-leaf3 (cEOSLab, EOS-4.31.1F-34554157.4311F (engineering build)) -! -no aaa root -! -username cvpadmin privilege 15 role network-admin secret sha512 $6$HNM7G0gSdiRYs4tD$vzmvMIop1QgWrFFbEjfRQPzjZO5NvptNCTZVsLZU130XSOPKam3TSXr9XnPfgMJaXheET//ms3amQ32xxZLme. -username netadmin privilege 15 role network-admin secret sha512 $6$XoEontx4/LyZdDy/$1L.EXBocg2BVQFQwIZppvkKADGrj5CYEWoKXMrqEJs.qpmjKyCUhZ6ibQ70kHx0RomOrNxRQzs13mCNY3ym... -! -daemon TerminAttr - exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=MGMT -taillogs - no shutdown -! -vlan internal order ascending range 3900 4000 -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname ci-s1-leaf3 -ip name-server vrf MGMT 172.22.22.40 -! -platform tfa - personality arfa -! -spanning-tree mode mstp -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vrf instance MGMT -! -management api http-commands - no shutdown - ! - vrf MGMT - no shutdown -! -interface Ethernet1 -! -interface Ethernet2 -! -interface Ethernet3 -! -interface Ethernet4 -! -interface Ethernet6 -! -interface Management0 - vrf MGMT - ip address 172.20.20.2/24 -! -no ip routing vrf MGMT -! -ip route vrf MGMT 0.0.0.0/0 172.20.20.1 -! -end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-leaf4.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-leaf4.cfg deleted file mode 100644 index 8e54c33ff0a..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-leaf4.cfg +++ /dev/null @@ -1,56 +0,0 @@ -!RANCID-CONTENT-TYPE: arista -! -no aaa root -! -username cvpadmin privilege 15 role network-admin secret sha512 $6$sXO/9BwBxfmc2it9$/v6Eddob3cElunU60LKbXJZ2ind/W6ju4LAGr0bFOPaxc49pFFzjnUB.//v9F60olyrOrmmbXV62kbBwN4O7w. -username netadmin privilege 15 role network-admin secret sha512 $6$78gSPkPb3N3dfmqM$WVUUE/QTbpSZFuHRVi.wGhVV9T543laKjUlmgtZGj8ovJsLMPBXk1gOqwTbLWZEEUAzoDZydYniPFEMQ0pwBL. -! -daemon TerminAttr - exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=MGMT -taillogs - no shutdown -! -vlan internal order ascending range 3900 4000 -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname ci-s1-leaf4 -ip name-server vrf MGMT 172.22.22.40 -! -platform tfa - personality arfa -! -spanning-tree mode mstp -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vrf instance MGMT -! -management api http-commands - no shutdown - ! - vrf MGMT - no shutdown -! -interface Ethernet1 -! -interface Ethernet2 -! -interface Ethernet3 -! -interface Ethernet4 -! -interface Ethernet6 -! -interface Management0 - vrf MGMT - ip address 172.20.20.2/24 -! -no ip routing vrf MGMT -! -ip route vrf MGMT 0.0.0.0/0 172.20.20.1 -! -end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-missing.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-missing.cfg deleted file mode 100644 index 899176eb97e..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-missing.cfg +++ /dev/null @@ -1,57 +0,0 @@ -!RANCID-CONTENT-TYPE: arista -! -no aaa root -! -username cvpadmin privilege 15 role network-admin secret sha512 $6$zWeb8jvKJY8ZtQkD$QzZDALGL1yDmjOxiGUNVJNyBU2la8AXPW04OmxaBt7JEfAgNU9QULOkG2HmwD3x8hFoo2LnwtjbX.Muj/dXlH0 -username netadmin privilege 15 role network-admin secret sha512 $6$wdCCRfpWoyE3pTFJ$sMePFNrFSFKUVFxlxMTkB7E90tgwiz7BDtcUpBH5ga4Co/N59tsselElTZyYA.LDuSnVl2t/FH.qc1FX9fzNM/ -! -daemon TerminAttr - exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=MGMT -taillogs - no shutdown -! -vlan internal order ascending range 3900 4000 -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname ci-s1-leaf1 -ip name-server vrf MGMT 172.22.22.40 -! -platform tfa - personality arfa -! -spanning-tree mode mstp -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vrf instance MGMT -! -management api http-commands - no shutdown - ! - vrf MGMT - no shutdown -! -interface Ethernet1 - description test -! -interface Ethernet2 -! -interface Ethernet3 -! -interface Ethernet4 -! -interface Ethernet6 -! -interface Management0 - vrf MGMT - ip address 172.20.20.2/24 -! -no ip routing vrf MGMT -! -ip route vrf MGMT 0.0.0.0/0 172.20.20.1 -! -end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-spine1.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-spine1.cfg deleted file mode 100644 index a13f67d9557..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-spine1.cfg +++ /dev/null @@ -1,62 +0,0 @@ -!RANCID-CONTENT-TYPE: arista -! -no aaa root -! -username cvpadmin privilege 15 role network-admin secret sha512 $6$p7VOAkEcf9QaHur9$yQpwEW/AbIKGeUofve7SPB8sOVqsAxx4mOcW/0eU.dtMfnwrE844ZJkk18s0Hf4mUxrUXJdHmvFUpAcY2g6oU1 -username netadmin privilege 15 role network-admin secret sha512 $6$CxQZipOJ8hrWFo8H$8SIcQzvft3SmAbIQaJXcFOZoIX4bAf3ANUeBA2pmChbSQewJaMn4Xz9aMPTc9hS9xKYRwfg8lWRezXfXd4COM0 -! -daemon TerminAttr - exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=MGMT -taillogs - no shutdown -! -vlan internal order ascending range 3900 4000 -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname ci-s1-spine1 -ip name-server vrf MGMT 172.22.22.40 -! -platform tfa - personality arfa -! -spanning-tree mode mstp -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vrf instance MGMT -! -management api http-commands - no shutdown - ! - vrf MGMT - no shutdown -! -interface Ethernet1 -! -interface Ethernet2 -! -interface Ethernet3 -! -interface Ethernet4 -! -interface Ethernet5 -! -interface Ethernet6 -! -interface Ethernet7 -! -interface Ethernet8 -! -interface Management0 - vrf MGMT - ip address 172.20.20.2/24 -! -no ip routing vrf MGMT -! -ip route vrf MGMT 0.0.0.0/0 172.20.20.1 -! -end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-spine2.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-spine2.cfg deleted file mode 100644 index 199717e921b..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/ci-s1-spine2.cfg +++ /dev/null @@ -1,62 +0,0 @@ -!RANCID-CONTENT-TYPE: arista -! -no aaa root -! -username cvpadmin privilege 15 role network-admin secret sha512 $6$Ok5JvSuccWnGrwSL$Rv2Jw7/4fi.0bQxVhBrgUaQrKw3WtFbl9YNDCHV9Vv0KDPlvSAtj9cuVWvhL6eb.VvNA/x7eK.SgUgNltmZE6. -username netadmin privilege 15 role network-admin secret sha512 $6$7XiSBgU.LGM/C83U$zhyLleeaw1u7EDQx1aYIUcjx/jAEorzST3IfmDCfNWjqXPq72R0yzJuK/RGdIwUwDTo7As0A9O1ZK/6n/eDgx0 -! -daemon TerminAttr - exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -cvvrf=MGMT -taillogs - no shutdown -! -vlan internal order ascending range 3900 4000 -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname ci-s1-spine2 -ip name-server vrf MGMT 172.22.22.40 -! -platform tfa - personality arfa -! -spanning-tree mode mstp -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vrf instance MGMT -! -management api http-commands - no shutdown - ! - vrf MGMT - no shutdown -! -interface Ethernet1 -! -interface Ethernet2 -! -interface Ethernet3 -! -interface Ethernet4 -! -interface Ethernet5 -! -interface Ethernet6 -! -interface Ethernet7 -! -interface Ethernet8 -! -interface Management0 - vrf MGMT - ip address 172.20.20.2/24 -! -no ip routing vrf MGMT -! -ip route vrf MGMT 0.0.0.0/0 172.20.20.1 -! -end diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-leaf1.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-leaf1.yml similarity index 90% rename from ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-leaf1.yml rename to ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-leaf1.yml index 7fcb66d0f4e..d6b69cb95aa 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-leaf1.yml +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-leaf1.yml @@ -1,4 +1,4 @@ -hostname: ci-s1-leaf1 +hostname: avd-ci-leaf1 is_deployed: true metadata: cv_tags: diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-leaf2.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-leaf2.yml new file mode 100644 index 00000000000..9aab991be40 --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-leaf2.yml @@ -0,0 +1,2 @@ +hostname: avd-ci-leaf2 +is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-leaf3.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-leaf3.yml new file mode 100644 index 00000000000..c3c2ad034ae --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-leaf3.yml @@ -0,0 +1,2 @@ +hostname: avd-ci-leaf3 +is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-leaf4.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-leaf4.yml new file mode 100644 index 00000000000..80bb7b4a1f2 --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-leaf4.yml @@ -0,0 +1,2 @@ +hostname: avd-ci-leaf4 +is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-spine1.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-spine1.yml new file mode 100644 index 00000000000..7e046c53734 --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-spine1.yml @@ -0,0 +1,2 @@ +hostname: avd-ci-spine1 +is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-spine2.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-spine2.yml new file mode 100644 index 00000000000..df9afdae83a --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-spine2.yml @@ -0,0 +1,2 @@ +hostname: avd-ci-spine2 +is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-leaf2.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-leaf2.yml deleted file mode 100644 index e4ba28be295..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-leaf2.yml +++ /dev/null @@ -1,2 +0,0 @@ -hostname: ci-s1-leaf2 -is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-leaf3.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-leaf3.yml deleted file mode 100644 index 835ed617999..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-leaf3.yml +++ /dev/null @@ -1,2 +0,0 @@ -hostname: ci-s1-leaf3 -is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-leaf4.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-leaf4.yml deleted file mode 100644 index ad973253b21..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-leaf4.yml +++ /dev/null @@ -1,2 +0,0 @@ -hostname: ci-s1-leaf4 -is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-spine1.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-spine1.yml deleted file mode 100644 index 43ba9c52614..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-spine1.yml +++ /dev/null @@ -1,2 +0,0 @@ -hostname: ci-s1-spine1 -is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-spine2.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-spine2.yml deleted file mode 100644 index 97de4a71e8a..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/ci-s1-spine2.yml +++ /dev/null @@ -1,2 +0,0 @@ -hostname: ci-s1-spine2 -is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-core1.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-core1.yml new file mode 100644 index 00000000000..eab10aaf23a --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-core1.yml @@ -0,0 +1,2 @@ +hostname: avd-ci-core1 +is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-leaf1.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-leaf1.yml similarity index 95% rename from ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-leaf1.yml rename to ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-leaf1.yml index 554850c5883..92b29a32fd2 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-leaf1.yml +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-leaf1.yml @@ -1,4 +1,4 @@ -hostname: ci-s1-leaf1 +hostname: avd-ci-leaf1 is_deployed: true metadata: cv_tags: diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-leaf2.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-leaf2.yml new file mode 100644 index 00000000000..9aab991be40 --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-leaf2.yml @@ -0,0 +1,2 @@ +hostname: avd-ci-leaf2 +is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-leaf3.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-leaf3.yml new file mode 100644 index 00000000000..c3c2ad034ae --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-leaf3.yml @@ -0,0 +1,2 @@ +hostname: avd-ci-leaf3 +is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-leaf4.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-leaf4.yml new file mode 100644 index 00000000000..80bb7b4a1f2 --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-leaf4.yml @@ -0,0 +1,2 @@ +hostname: avd-ci-leaf4 +is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-missing.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-missing.yml similarity index 93% rename from ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-missing.yml rename to ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-missing.yml index 3e22342e479..291acdf40e3 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-missing.yml +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-missing.yml @@ -1,4 +1,4 @@ -hostname: ci-s1-leaf1 +hostname: avd-ci-leaf1 is_deployed: true metadata: cv_tags: diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-spine1.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-spine1.yml new file mode 100644 index 00000000000..7e046c53734 --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-spine1.yml @@ -0,0 +1,2 @@ +hostname: avd-ci-spine1 +is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-spine2.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-spine2.yml new file mode 100644 index 00000000000..df9afdae83a --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/avd-ci-spine2.yml @@ -0,0 +1,2 @@ +hostname: avd-ci-spine2 +is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-core1.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-core1.yml deleted file mode 100644 index 6802265aec9..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-core1.yml +++ /dev/null @@ -1,2 +0,0 @@ -hostname: ci-s1-core1 -is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-leaf2.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-leaf2.yml deleted file mode 100644 index e4ba28be295..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-leaf2.yml +++ /dev/null @@ -1,2 +0,0 @@ -hostname: ci-s1-leaf2 -is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-leaf3.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-leaf3.yml deleted file mode 100644 index 835ed617999..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-leaf3.yml +++ /dev/null @@ -1,2 +0,0 @@ -hostname: ci-s1-leaf3 -is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-leaf4.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-leaf4.yml deleted file mode 100644 index ad973253b21..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-leaf4.yml +++ /dev/null @@ -1,2 +0,0 @@ -hostname: ci-s1-leaf4 -is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-spine1.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-spine1.yml deleted file mode 100644 index 43ba9c52614..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-spine1.yml +++ /dev/null @@ -1,2 +0,0 @@ -hostname: ci-s1-spine1 -is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-spine2.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-spine2.yml deleted file mode 100644 index 97de4a71e8a..00000000000 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/test_configs/ci-s1-spine2.yml +++ /dev/null @@ -1,2 +0,0 @@ -hostname: ci-s1-spine2 -is_deployed: true From 0860212d1e95d69605be9c35872c11861a26f1dc Mon Sep 17 00:00:00 2001 From: Sugetha Chandhrasekar Date: Mon, 9 Sep 2024 15:39:00 -0700 Subject: [PATCH 2/8] Added tests for cv_submit_workspace_force --- .../arista/avd/molecule/cv_deploy/cleanup.yml | 2 +- .../avd/molecule/cv_deploy/converge.yml | 112 +++++++++--------- 2 files changed, 57 insertions(+), 57 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/cleanup.yml b/ansible_collections/arista/avd/molecule/cv_deploy/cleanup.yml index 16593885ec5..1a822fd574e 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/cleanup.yml +++ b/ansible_collections/arista/avd/molecule/cv_deploy/cleanup.yml @@ -7,7 +7,7 @@ cv_server: www.cv-staging.corp.arista.io cv_token: "{{ lookup('env', 'CVAAS_AAWG_CI') }}" cv_verify_certs: false - cv_devices: [avd-ci-leaf1, avd-ci-leaf2, avd-ci-leaf3, avd-ci-leaf4, avd-ci-spine1, avd-ci-spine2 ] + cv_devices: [ avd-ci-leaf1, avd-ci-leaf2, avd-ci-leaf3, avd-ci-leaf4, avd-ci-spine1, avd-ci-spine2, avd-ci-core1 ] cv_skip_missing_devices: true eos_config_dir: "{{ playbook_dir }}/intended/configs/base_configs" structured_dir: "{{ playbook_dir }}/intended/structured_configs/base_configs" diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml b/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml index 52b922de4aa..9d2d8a94a6e 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml +++ b/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml @@ -7,7 +7,7 @@ cv_server: www.cv-staging.corp.arista.io cv_token: "{{ lookup('env', 'CVAAS_AAWG_CI') }}" cv_verify_certs: false - cv_devices: [avd-ci-leaf1, avd-ci-leaf2, avd-ci-leaf3, avd-ci-leaf4, avd-ci-spine1, avd-ci-spine2 ] + cv_devices: [ avd-ci-leaf1, avd-ci-leaf2, avd-ci-leaf3, avd-ci-leaf4, avd-ci-spine1, avd-ci-spine2, avd-ci-core1 ] cv_skip_missing_devices: true eos_config_dir: "{{ playbook_dir }}/intended/configs/test_configs" structured_dir: "{{ playbook_dir }}/intended/structured_configs/test_configs" @@ -158,61 +158,61 @@ cv_submit_workspace_force: true cv_run_change_control: true - # - name: Provision with cv_submit_workspace_force = false - # run_once: true - # delegate_to: localhost - # ansible.builtin.import_role: - # name: arista.avd.cv_deploy - # vars: - # # cv_devices: [ avd-ci-leaf1, avd-ci-leaf2, avd-ci-leaf3, avd-ci-leaf4, avd-ci-spine1, avd-ci-spine2, avd-ci-core1 ] - # cv_devices: [ avd-ci-leaf2, avd-ci-core1 ] - # cv_submit_workspace_force: false - # ignore_errors: yes - # register: cvp_errors - - # - name: 'Display CVP result' - # run_once: true - # ansible.builtin.debug: - # msg: '{{ cv_deploy_results }}' - - # - name: Check CVP returns - # ansible.builtin.assert: - # that: - # # errors and warnings - # - "'Failed to submit workspace' in cv_deploy_results.errors[0]" - - # - name: Cleanup - # run_once: true - # delegate_to: localhost - # ansible.builtin.import_role: - # name: arista.avd.cv_deploy - # vars: - # eos_config_dir: "{{ playbook_dir }}/intended/configs/base_configs" - # structured_dir: "{{ playbook_dir }}/intended/structured_configs/base_configs" - # cv_submit_workspace: true - # cv_submit_workspace_force: true - # cv_run_change_control: true - - # - name: Provision with cv_submit_workspace_force = true - # run_once: true - # delegate_to: localhost - # ansible.builtin.import_role: - # name: arista.avd.cv_deploy - # vars: - # cv_devices: [ avd-ci-leaf1, avd-ci-leaf2, avd-ci-leaf3, avd-ci-leaf4, avd-ci-spine1, avd-ci-spine2, avd-ci-core1 ] - # # cv_devices: [ avd-ci-core1 ] - # cv_submit_workspace_force: true - - # - name: 'Display CVP result' - # run_once: true - # ansible.builtin.debug: - # msg: '{{ cv_deploy_results }}' - - # - name: Check CVP returns - # ansible.builtin.assert: - # that: - # # errors and warnings - # - cv_deploy_results.errors == [] + - name: Provision with cv_submit_workspace_force = false + run_once: true + delegate_to: localhost + ansible.builtin.import_role: + name: arista.avd.cv_deploy + vars: + # cv_devices: [ avd-ci-leaf1, avd-ci-leaf2, avd-ci-leaf3, avd-ci-leaf4, avd-ci-spine1, avd-ci-spine2, avd-ci-core1 ] + cv_devices: [ avd-ci-leaf2, avd-ci-core1 ] + cv_submit_workspace_force: false + ignore_errors: yes + register: cvp_errors + + - name: 'Display CVP result' + run_once: true + ansible.builtin.debug: + msg: '{{ cv_deploy_results }}' + + - name: Check CVP returns + ansible.builtin.assert: + that: + # errors and warnings + - "'Failed to submit workspace' in cv_deploy_results.errors[0]" + + - name: Cleanup + run_once: true + delegate_to: localhost + ansible.builtin.import_role: + name: arista.avd.cv_deploy + vars: + eos_config_dir: "{{ playbook_dir }}/intended/configs/base_configs" + structured_dir: "{{ playbook_dir }}/intended/structured_configs/base_configs" + cv_submit_workspace: true + cv_submit_workspace_force: true + cv_run_change_control: true + + - name: Provision with cv_submit_workspace_force = true + run_once: true + delegate_to: localhost + ansible.builtin.import_role: + name: arista.avd.cv_deploy + vars: + cv_devices: [ avd-ci-leaf1, avd-ci-core1 ] + # cv_devices: [ avd-ci-core1 ] + cv_submit_workspace_force: true + + - name: 'Display CVP result' + run_once: true + ansible.builtin.debug: + msg: '{{ cv_deploy_results }}' + + - name: Check CVP returns + ansible.builtin.assert: + that: + # errors and warnings + - cv_deploy_results.errors == [] - name: Provision with cv_run_change_control = false run_once: true From 7ce98d0a77d67f0a3659c0bba5b0efb484a49959 Mon Sep 17 00:00:00 2001 From: Sugetha Chandhrasekar Date: Tue, 10 Sep 2024 11:09:11 -0700 Subject: [PATCH 3/8] Sanitized switch configs --- .../cv_deploy/intended/configs/base_configs/avd-ci-leaf1.cfg | 1 - .../cv_deploy/intended/configs/base_configs/avd-ci-leaf2.cfg | 1 - .../cv_deploy/intended/configs/base_configs/avd-ci-leaf3.cfg | 1 - .../cv_deploy/intended/configs/base_configs/avd-ci-leaf4.cfg | 1 - .../cv_deploy/intended/configs/base_configs/avd-ci-spine1.cfg | 1 - .../cv_deploy/intended/configs/base_configs/avd-ci-spine2.cfg | 1 - .../intended/configs/test_configs/avd-ci-leaf1-missing.cfg | 3 +-- .../cv_deploy/intended/configs/test_configs/avd-ci-leaf1.cfg | 1 - .../cv_deploy/intended/configs/test_configs/avd-ci-leaf2.cfg | 1 - .../cv_deploy/intended/configs/test_configs/avd-ci-leaf3.cfg | 1 - .../cv_deploy/intended/configs/test_configs/avd-ci-leaf4.cfg | 1 - .../cv_deploy/intended/configs/test_configs/avd-ci-spine1.cfg | 1 - .../cv_deploy/intended/configs/test_configs/avd-ci-spine2.cfg | 1 - 13 files changed, 1 insertion(+), 14 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf1.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf1.cfg index c605be122d1..c67be47dfbd 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf1.cfg +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf1.cfg @@ -1,4 +1,3 @@ -!RANCID-CONTENT-TYPE: arista ! daemon TerminAttr exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf2.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf2.cfg index cecc8925a74..b6157594148 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf2.cfg +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf2.cfg @@ -1,4 +1,3 @@ -!RANCID-CONTENT-TYPE: arista ! daemon TerminAttr exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf3.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf3.cfg index 7e725e34e9d..a51206a702d 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf3.cfg +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf3.cfg @@ -1,4 +1,3 @@ -!RANCID-CONTENT-TYPE: arista ! daemon TerminAttr exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf4.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf4.cfg index 2e150a7b8be..cde2ceb6b99 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf4.cfg +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-leaf4.cfg @@ -1,4 +1,3 @@ -!RANCID-CONTENT-TYPE: arista ! daemon TerminAttr exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-spine1.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-spine1.cfg index a09551d19d0..6298cd75f44 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-spine1.cfg +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-spine1.cfg @@ -1,4 +1,3 @@ -!RANCID-CONTENT-TYPE: arista ! daemon TerminAttr exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-spine2.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-spine2.cfg index 969140565cb..9510287ba9d 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-spine2.cfg +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-spine2.cfg @@ -1,4 +1,3 @@ -!RANCID-CONTENT-TYPE: arista ! daemon TerminAttr exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf1-missing.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf1-missing.cfg index 9dcb7b183fb..c67be47dfbd 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf1-missing.cfg +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf1-missing.cfg @@ -1,4 +1,3 @@ -!RANCID-CONTENT-TYPE: arista ! daemon TerminAttr exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs @@ -48,7 +47,7 @@ interface Port-Channel10 switchport trunk group MLAG ! interface Ethernet1 - description P2P_LINK_TO_AVD-CI-SPINE1_Ethernet1_test + description P2P_LINK_TO_AVD-CI-SPINE1_Ethernet1 no shutdown mtu 1500 no switchport diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf1.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf1.cfg index 19fb60dd766..84161210661 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf1.cfg +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf1.cfg @@ -1,4 +1,3 @@ -!RANCID-CONTENT-TYPE: arista ! daemon TerminAttr exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf2.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf2.cfg index cecc8925a74..b6157594148 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf2.cfg +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf2.cfg @@ -1,4 +1,3 @@ -!RANCID-CONTENT-TYPE: arista ! daemon TerminAttr exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf3.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf3.cfg index 7e725e34e9d..a51206a702d 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf3.cfg +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf3.cfg @@ -1,4 +1,3 @@ -!RANCID-CONTENT-TYPE: arista ! daemon TerminAttr exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf4.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf4.cfg index 2e150a7b8be..cde2ceb6b99 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf4.cfg +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-leaf4.cfg @@ -1,4 +1,3 @@ -!RANCID-CONTENT-TYPE: arista ! daemon TerminAttr exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-spine1.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-spine1.cfg index a09551d19d0..6298cd75f44 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-spine1.cfg +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-spine1.cfg @@ -1,4 +1,3 @@ -!RANCID-CONTENT-TYPE: arista ! daemon TerminAttr exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-spine2.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-spine2.cfg index 969140565cb..9510287ba9d 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-spine2.cfg +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/test_configs/avd-ci-spine2.cfg @@ -1,4 +1,3 @@ -!RANCID-CONTENT-TYPE: arista ! daemon TerminAttr exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs From 000f49b5a811789683998214a23dcd091613ed37 Mon Sep 17 00:00:00 2001 From: Sugetha Kalyanaraman Date: Thu, 19 Sep 2024 22:15:12 -0700 Subject: [PATCH 4/8] reading devices from file --- .../arista/avd/molecule/cv_deploy/cleanup.yml | 3 +- .../avd/molecule/cv_deploy/converge.yml | 3 +- .../configs/base_configs/avd-ci-core1.cfg | 68 +++++++++++++++++++ .../base_configs/avd-ci-core1.yml | 2 + .../cv_deploy/inventory/inventory.yml | 13 ++-- 5 files changed, 79 insertions(+), 10 deletions(-) create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-core1.cfg create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-core1.yml diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/cleanup.yml b/ansible_collections/arista/avd/molecule/cv_deploy/cleanup.yml index 1a822fd574e..b2a747f0a76 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/cleanup.yml +++ b/ansible_collections/arista/avd/molecule/cv_deploy/cleanup.yml @@ -1,13 +1,12 @@ --- - name: Cleanup - Configuration deployment with CVP - hosts: localhost + hosts: SITE1_FABRIC connection: local gather_facts: false vars: cv_server: www.cv-staging.corp.arista.io cv_token: "{{ lookup('env', 'CVAAS_AAWG_CI') }}" cv_verify_certs: false - cv_devices: [ avd-ci-leaf1, avd-ci-leaf2, avd-ci-leaf3, avd-ci-leaf4, avd-ci-spine1, avd-ci-spine2, avd-ci-core1 ] cv_skip_missing_devices: true eos_config_dir: "{{ playbook_dir }}/intended/configs/base_configs" structured_dir: "{{ playbook_dir }}/intended/structured_configs/base_configs" diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml b/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml index 9d2d8a94a6e..be8cae81027 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml +++ b/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml @@ -1,13 +1,12 @@ --- - name: Converge - Configuration deployment with CVP - hosts: localhost + hosts: SITE1_FABRIC connection: local gather_facts: false vars: cv_server: www.cv-staging.corp.arista.io cv_token: "{{ lookup('env', 'CVAAS_AAWG_CI') }}" cv_verify_certs: false - cv_devices: [ avd-ci-leaf1, avd-ci-leaf2, avd-ci-leaf3, avd-ci-leaf4, avd-ci-spine1, avd-ci-spine2, avd-ci-core1 ] cv_skip_missing_devices: true eos_config_dir: "{{ playbook_dir }}/intended/configs/test_configs" structured_dir: "{{ playbook_dir }}/intended/structured_configs/test_configs" diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-core1.cfg b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-core1.cfg new file mode 100644 index 00000000000..eafe2535905 --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/configs/base_configs/avd-ci-core1.cfg @@ -0,0 +1,68 @@ +! Command: show running-config +! device: avd-ci-core1 (vEOS-lab, EOS-4.32.0F) +! +! boot system flash:/vEOS-lab.swi +! +no aaa root +! +username arista privilege 15 role network-admin shell /bin/bash secret sha512 $6$OSN5th7Q.Zy1QRhW$8HY40ylC/h2J/0jvlx46IbEeRGJSxNyUZR9BS1XHdelKmDilESlLnSefscDczRzi/f9PHUVdXXPsQUsXerJbu. +username ci-avd privilege 15 role network-admin secret sha512 $6$tzBIHQDpZ.10NDxw$y7G0mA5usuiew0nx1HKNe3E1HpiRSZtKd9gS2XhUx9vsa59.E0qLYyzUtwzore34t8cfnFGlvYmf6OH157X6w. +username cvpadmin privilege 15 role network-admin secret sha512 $6$3gTtM9zyRVpL6w7v$5nbd38Y7ZU0ZWty/ycn82iiC4ikX79hdopKWLusZaaFgr0spRqewcRBLKuY5qUaPdgg9h8CZjC4pFqLeQ5GRI1 +! +daemon TerminAttr + exec /usr/bin/TerminAttr -cvaddr=apiserver.cv-staging.corp.arista.io:443 -cvauth=token-secure,/mnt/flash/cv-onboarding-token -cvvrf=MGMT -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata -ingestexclude=/Sysdb/cell/1/agent,/Sysdb/cell/2/agent -taillogs + no shutdown +! +transceiver qsfp default-mode 4x10G +! +service routing protocols model multi-agent +! +hostname avd-ci-core1 +ip name-server vrf MGMT 10.90.231.26 +! +spanning-tree mode none +! +system l1 + unsupported speed action error + unsupported error-correction action error +! +vrf instance MGMT +! +management api http-commands + no shutdown + ! + vrf MGMT + no shutdown +! +aaa authentication login console local +aaa authorization exec default local +! +interface Ethernet1 +! +interface Ethernet2 +! +interface Ethernet3 +! +interface Ethernet4 +! +interface Ethernet5 +! +interface Ethernet6 +! +interface Ethernet7 +! +interface Ethernet8 +! +interface Management1 + description oob_management + vrf MGMT + ip address 10.90.231.70/24 +! +no ip routing +no ip routing vrf MGMT +! +ip route vrf MGMT 0.0.0.0/0 10.90.231.1 +! +ntp server 1.pool.ntp.org iburst local-interface Management1 +! +end \ No newline at end of file diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-core1.yml b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-core1.yml new file mode 100644 index 00000000000..eab10aaf23a --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/intended/structured_configs/base_configs/avd-ci-core1.yml @@ -0,0 +1,2 @@ +hostname: avd-ci-core1 +is_deployed: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/inventory/inventory.yml b/ansible_collections/arista/avd/molecule/cv_deploy/inventory/inventory.yml index 461ecc59b65..920e0d2e7c5 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/inventory/inventory.yml +++ b/ansible_collections/arista/avd/molecule/cv_deploy/inventory/inventory.yml @@ -8,14 +8,15 @@ SITE1: children: SITE1_SPINES: hosts: - s1-spine1: - s1-spine2: + avd-ci-spine1: + avd-ci-spine2: + avd-ci-core1: SITE1_LEAFS: hosts: - s1-leaf1: - s1-leaf2: - s1-leaf3: - s1-leaf4: + avd-ci-leaf1: + avd-ci-leaf2: + avd-ci-leaf3: + avd-ci-leaf4: SITE1_FABRIC_SERVICES: children: SITE1_SPINES: From e98b78f9ece24d3e022178fc88cfe06880346c61 Mon Sep 17 00:00:00 2001 From: Guillaume Mulocher Date: Fri, 20 Sep 2024 16:58:10 +0200 Subject: [PATCH 5/8] Apply suggestions from code review --- ansible_collections/arista/avd/molecule/cv_deploy/converge.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml b/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml index be8cae81027..008e0879d7c 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml +++ b/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml @@ -163,7 +163,6 @@ ansible.builtin.import_role: name: arista.avd.cv_deploy vars: - # cv_devices: [ avd-ci-leaf1, avd-ci-leaf2, avd-ci-leaf3, avd-ci-leaf4, avd-ci-spine1, avd-ci-spine2, avd-ci-core1 ] cv_devices: [ avd-ci-leaf2, avd-ci-core1 ] cv_submit_workspace_force: false ignore_errors: yes @@ -199,7 +198,6 @@ name: arista.avd.cv_deploy vars: cv_devices: [ avd-ci-leaf1, avd-ci-core1 ] - # cv_devices: [ avd-ci-core1 ] cv_submit_workspace_force: true - name: 'Display CVP result' From e9432ff97131ba06da7ac1e8398ceed2f391ec24 Mon Sep 17 00:00:00 2001 From: gmuloc Date: Mon, 23 Sep 2024 16:47:29 +0200 Subject: [PATCH 6/8] Doc: Add README pointing to cv_workflow README --- .../arista/avd/molecule/cv_deploy/README.md | 3 +++ .../arista/avd/molecule/cv_deploy/converge.yml | 8 ++++---- 2 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/README.md diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/README.md b/ansible_collections/arista/avd/molecule/cv_deploy/README.md new file mode 100644 index 00000000000..382b9b859a3 --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/README.md @@ -0,0 +1,3 @@ +## How to test + +Refer to [cv_workflow README.md](../cv_workflow/README.md) diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml b/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml index 008e0879d7c..885fb6dad6a 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml +++ b/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml @@ -41,7 +41,7 @@ cv_submit_workspace_force: true cv_run_change_control: true - - name: 'Display CVP result' + - name: Display CVP result run_once: true ansible.builtin.debug: msg: '{{ cv_deploy_results }}' @@ -168,7 +168,7 @@ ignore_errors: yes register: cvp_errors - - name: 'Display CVP result' + - name: Display CVP result run_once: true ansible.builtin.debug: msg: '{{ cv_deploy_results }}' @@ -200,7 +200,7 @@ cv_devices: [ avd-ci-leaf1, avd-ci-core1 ] cv_submit_workspace_force: true - - name: 'Display CVP result' + - name: Display CVP result run_once: true ansible.builtin.debug: msg: '{{ cv_deploy_results }}' @@ -220,7 +220,7 @@ cv_submit_workspace: true cv_run_change_control: false - - name: 'Display CVP result' + - name: Display CVP result run_once: true ansible.builtin.debug: msg: '{{ cv_deploy_results }}' From 6b6ba4eb5cc96788ec7e55ddf5c09a11a2ba343f Mon Sep 17 00:00:00 2001 From: gmuloc Date: Mon, 30 Sep 2024 09:24:41 +0200 Subject: [PATCH 7/8] Doc: Rename Readme.md to README.md for cv_workflow --- .../arista/avd/molecule/cv_workflow/{Readme.md => README.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename ansible_collections/arista/avd/molecule/cv_workflow/{Readme.md => README.md} (100%) diff --git a/ansible_collections/arista/avd/molecule/cv_workflow/Readme.md b/ansible_collections/arista/avd/molecule/cv_workflow/README.md similarity index 100% rename from ansible_collections/arista/avd/molecule/cv_workflow/Readme.md rename to ansible_collections/arista/avd/molecule/cv_workflow/README.md From 016d1c6d2489cc2ed9b4bb3d28a7bfb0175c3586 Mon Sep 17 00:00:00 2001 From: Sugetha Kalyanaraman Date: Mon, 30 Sep 2024 22:03:33 -0700 Subject: [PATCH 8/8] addressing comments --- .../avd/molecule/cv_deploy/cc_false.yml | 50 ++++ .../avd/molecule/cv_deploy/converge.yml | 237 +----------------- .../avd/molecule/cv_deploy/cv_deploy.yml | 132 ++++++++++ .../cv_deploy/inventory/inventory.yml | 8 + .../cv_deploy/workspace_force_false.yml | 76 ++++++ .../cv_deploy/workspace_force_true.yml | 61 +++++ .../molecule/cv_deploy/workspace_pending.yml | 56 +++++ 7 files changed, 393 insertions(+), 227 deletions(-) create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/cc_false.yml create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/cv_deploy.yml create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/workspace_force_false.yml create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/workspace_force_true.yml create mode 100644 ansible_collections/arista/avd/molecule/cv_deploy/workspace_pending.yml diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/cc_false.yml b/ansible_collections/arista/avd/molecule/cv_deploy/cc_false.yml new file mode 100644 index 00000000000..416a53f50fc --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/cc_false.yml @@ -0,0 +1,50 @@ +--- +- name: Converge - cv_run_change_control = false + hosts: SITE1_FABRIC + connection: local + gather_facts: false + vars: + cv_server: www.cv-staging.corp.arista.io + cv_token: "{{ lookup('env', 'CVAAS_AAWG_CI') }}" + cv_verify_certs: false + cv_skip_missing_devices: true + eos_config_dir: "{{ playbook_dir }}/intended/configs/test_configs" + structured_dir: "{{ playbook_dir }}/intended/structured_configs/test_configs" + intended_tag_device: avd-ci-leaf1 + intended_tags: "{{ lookup('file', structured_dir ~ '/' ~ intended_tag_device ~ '.yml')| from_yaml }}" + + tasks: + - name: Generate random string + ansible.builtin.set_fact: + r: "{{ lookup('password', '/dev/null chars=ascii_lowercase,digits length=4') }}" + run_once: true + + - name: Set facts + ansible.builtin.set_fact: + cv_workspace_name: avd-cv-deploy-{{ r }} + cv_workspace_description: sample description + cv_change_control_name: cc_cv_deploy-{{ r }} + cv_change_control_description: sample description + cv_register_detailed_results: true + run_once: true + + - name: Provision with cv_run_change_control = false + run_once: true + delegate_to: localhost + ansible.builtin.import_role: + name: arista.avd.cv_deploy + vars: + cv_submit_workspace: true + cv_run_change_control: false + cv_submit_workspace_force: true + + - name: Display CVP result + run_once: true + ansible.builtin.debug: + msg: '{{ cv_deploy_results }}' + + - name: Check CVP returns + ansible.builtin.assert: + that: + # Change control + - cv_deploy_results.change_control.requested_state == "pending approval" diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml b/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml index 885fb6dad6a..a458252ed37 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml +++ b/ansible_collections/arista/avd/molecule/cv_deploy/converge.yml @@ -1,232 +1,15 @@ --- -- name: Converge - Configuration deployment with CVP - hosts: SITE1_FABRIC - connection: local - gather_facts: false - vars: - cv_server: www.cv-staging.corp.arista.io - cv_token: "{{ lookup('env', 'CVAAS_AAWG_CI') }}" - cv_verify_certs: false - cv_skip_missing_devices: true - eos_config_dir: "{{ playbook_dir }}/intended/configs/test_configs" - structured_dir: "{{ playbook_dir }}/intended/structured_configs/test_configs" - intended_tag_device: avd-ci-leaf1 - intended_tags: "{{ lookup('file', structured_dir ~ '/' ~ intended_tag_device ~ '.yml')| from_yaml }}" +- name: Test cv deploy + import_playbook: cv_deploy.yml - tasks: - - name: Generate random string - ansible.builtin.set_fact: - r: "{{ lookup('password', '/dev/null chars=ascii_lowercase,digits length=4') }}" - run_once: true +- name: Test Provisions with Workspace Pending + import_playbook: workspace_pending.yml - - name: Set facts - ansible.builtin.set_fact: - cv_workspace_name: avd-cv-deploy-{{ r }} - cv_workspace_description: sample description - cv_change_control_name: cc_cv_deploy-{{ r }} - cv_change_control_description: sample description - cv_register_detailed_results: true - run_once: true +- name: Test Workspace Force True + import_playbook: workspace_force_true.yml -########################### -######## cv_deploy ######## -########################### - - name: Provision CVP with AVD configuration - run_once: true - delegate_to: localhost - ansible.builtin.import_role: - name: arista.avd.cv_deploy - vars: - cv_submit_workspace: true - cv_submit_workspace_force: true - cv_run_change_control: true +- name: Test Workspace Force False + import_playbook: workspace_force_false.yml - - name: Display CVP result - run_once: true - ansible.builtin.debug: - msg: '{{ cv_deploy_results }}' - - - name: Check CVP returns - ansible.builtin.assert: - that: - # workspace - - cv_deploy_results.workspace.name == cv_workspace_name - - cv_deploy_results.workspace.state == "submitted" - - cv_deploy_results.workspace.state - # errors and warnings - - cv_deploy_results.errors == [] - - cv_deploy_results.warnings == [] - # tags - - cv_deploy_results.deployed_device_tags != [] - - cv_deploy_results.deployed_interface_tags != [] - # Change control - # - cv_deploy_results.change_control.id == cc_id - - cv_deploy_results.change_control.name == cv_change_control_name - - cv_deploy_results.change_control.requested_state == "completed" - - cv_deploy_results.change_control.description == cv_change_control_description - - - name: Check tags from output - ansible.builtin.assert: - that: - - item.0.label == item.1.label - - item.0.value == item.1.value - loop: "{{ cv_deploy_results.deployed_device_tags | zip(cv_deploy_results.device_tags) | list }}" - - - name: Extract all device tags from structured configs - ansible.builtin.set_fact: - expected_device_tags: "{{ intended_tags.metadata.cv_tags.device_tags }}" - output_device_tags: "{{ cv_deploy_results.deployed_device_tags }}" - - - name: Check output device tags == intended device tags - ansible.builtin.assert: - that: - - item.0.name == item.1.label - - item.0.value == item.1.value - loop: "{{ expected_device_tags | zip(output_device_tags) | list }}" - - - name: Extract all interface tags from role output - ansible.builtin.set_fact: - output_interface_tags: "{{ cv_deploy_results.deployed_interface_tags }}" - - - name: Extract all interface tags from structured configs - ansible.builtin.set_fact: - expected_interface_tags: "{{ expected_interface_tags | default([]) + [item.tags | list | first | combine({'interface': item.interface})] }}" - loop: "{{ intended_tags.metadata.cv_tags.interface_tags }}" - loop_control: - label: "{{ item.interface }}" - - - name: Check output interface tags == intended interface tags - ansible.builtin.assert: - that: - - item.0.name == item.1.label - - item.0.value == item.1.value - loop: "{{ expected_interface_tags | zip(output_interface_tags) | list }}" - - - name: Convert unstructed data into yaml - ansible.builtin.set_fact: - deivces_structure: '{{ cv_deploy_results.deployed_configs | from_yaml }}' - output_devices: [] - - - name: Extract devices from output - ansible.builtin.set_fact: - output_devices: "{{ output_devices + [item.device.hostname] }}" - loop: "{{ deivces_structure }}" - loop_control: - label: "{{ item.configlet_name }}" - - - name: Check output devices == intended devices - ansible.builtin.assert: - that: - - output_devices == cv_devices - - - name: Cleanup - run_once: true - delegate_to: localhost - ansible.builtin.import_role: - name: arista.avd.cv_deploy - vars: - eos_config_dir: "{{ playbook_dir }}/intended/configs/base_configs" - structured_dir: "{{ playbook_dir }}/intended/structured_configs/base_configs" - cv_submit_workspace: true - cv_submit_workspace_force: true - cv_run_change_control: true - - - name: Provision with workspace "Pending" - run_once: true - delegate_to: localhost - ansible.builtin.import_role: - name: arista.avd.cv_deploy - vars: - cv_submit_workspace: false - - - name: Check CVP returns - ansible.builtin.assert: - that: - # workspace - - cv_deploy_results.workspace.state == cv_deploy_results.workspace.requested_state - - - name: Cleanup - run_once: true - delegate_to: localhost - ansible.builtin.import_role: - name: arista.avd.cv_deploy - vars: - eos_config_dir: "{{ playbook_dir }}/intended/configs/base_configs" - structured_dir: "{{ playbook_dir }}/intended/structured_configs/base_configs" - cv_submit_workspace: true - cv_submit_workspace_force: true - cv_run_change_control: true - - - name: Provision with cv_submit_workspace_force = false - run_once: true - delegate_to: localhost - ansible.builtin.import_role: - name: arista.avd.cv_deploy - vars: - cv_devices: [ avd-ci-leaf2, avd-ci-core1 ] - cv_submit_workspace_force: false - ignore_errors: yes - register: cvp_errors - - - name: Display CVP result - run_once: true - ansible.builtin.debug: - msg: '{{ cv_deploy_results }}' - - - name: Check CVP returns - ansible.builtin.assert: - that: - # errors and warnings - - "'Failed to submit workspace' in cv_deploy_results.errors[0]" - - - name: Cleanup - run_once: true - delegate_to: localhost - ansible.builtin.import_role: - name: arista.avd.cv_deploy - vars: - eos_config_dir: "{{ playbook_dir }}/intended/configs/base_configs" - structured_dir: "{{ playbook_dir }}/intended/structured_configs/base_configs" - cv_submit_workspace: true - cv_submit_workspace_force: true - cv_run_change_control: true - - - name: Provision with cv_submit_workspace_force = true - run_once: true - delegate_to: localhost - ansible.builtin.import_role: - name: arista.avd.cv_deploy - vars: - cv_devices: [ avd-ci-leaf1, avd-ci-core1 ] - cv_submit_workspace_force: true - - - name: Display CVP result - run_once: true - ansible.builtin.debug: - msg: '{{ cv_deploy_results }}' - - - name: Check CVP returns - ansible.builtin.assert: - that: - # errors and warnings - - cv_deploy_results.errors == [] - - - name: Provision with cv_run_change_control = false - run_once: true - delegate_to: localhost - ansible.builtin.import_role: - name: arista.avd.cv_deploy - vars: - cv_submit_workspace: true - cv_run_change_control: false - - - name: Display CVP result - run_once: true - ansible.builtin.debug: - msg: '{{ cv_deploy_results }}' - - - name: Check CVP returns - ansible.builtin.assert: - that: - # Change control - - cv_deploy_results.change_control.requested_state == "pending approval" +- name: Test Change Control False + import_playbook: cc_false.yml diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/cv_deploy.yml b/ansible_collections/arista/avd/molecule/cv_deploy/cv_deploy.yml new file mode 100644 index 00000000000..fb1a024560f --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/cv_deploy.yml @@ -0,0 +1,132 @@ +--- +- name: Converge - Configuration deployment with CVP + hosts: SITE1_FABRIC + connection: local + gather_facts: false + vars: + cv_server: www.cv-staging.corp.arista.io + cv_token: "{{ lookup('env', 'CVAAS_AAWG_CI') }}" + cv_verify_certs: false + cv_skip_missing_devices: true + eos_config_dir: "{{ playbook_dir }}/intended/configs/test_configs" + structured_dir: "{{ playbook_dir }}/intended/structured_configs/test_configs" + intended_tag_device: avd-ci-leaf1 + intended_tags: "{{ lookup('file', structured_dir ~ '/' ~ intended_tag_device ~ '.yml')| from_yaml }}" + + tasks: + - name: Generate random string + ansible.builtin.set_fact: + r: "{{ lookup('password', '/dev/null chars=ascii_lowercase,digits length=4') }}" + run_once: true + + - name: Set facts + ansible.builtin.set_fact: + cv_workspace_name: avd-cv-deploy-{{ r }} + cv_workspace_description: sample description + cv_change_control_name: cc_cv_deploy-{{ r }} + cv_change_control_description: sample description + cv_register_detailed_results: true + run_once: true + +########################### +######## cv_deploy ######## +########################### + - name: Provision CVP with AVD configuration + run_once: true + delegate_to: localhost + ansible.builtin.import_role: + name: arista.avd.cv_deploy + vars: + cv_submit_workspace: true + cv_submit_workspace_force: true + cv_run_change_control: true + cv_register_detailed_results: true + + - name: Display CVP result + run_once: true + ansible.builtin.debug: + msg: '{{ cv_deploy_results }}' + + - name: Check CVP returns + ansible.builtin.assert: + that: + # workspace + - cv_deploy_results.workspace.name == cv_workspace_name + - cv_deploy_results.workspace.state == "submitted" + - cv_deploy_results.workspace.state + # errors and warnings + - cv_deploy_results.errors == [] + - cv_deploy_results.warnings == [] + # tags + - cv_deploy_results.deployed_device_tags != [] + - cv_deploy_results.deployed_interface_tags != [] + # Change control + - cv_deploy_results.change_control.name == cv_change_control_name + - cv_deploy_results.change_control.requested_state == "completed" + - cv_deploy_results.change_control.description == cv_change_control_description + + - name: Check tags from output + ansible.builtin.assert: + that: + - item.0.label == item.1.label + - item.0.value == item.1.value + loop: "{{ cv_deploy_results.deployed_device_tags | zip(cv_deploy_results.device_tags) | list }}" + + - name: Extract all device tags from structured configs + ansible.builtin.set_fact: + expected_device_tags: "{{ intended_tags.metadata.cv_tags.device_tags }}" + output_device_tags: "{{ cv_deploy_results.deployed_device_tags }}" + + - name: Check output device tags == intended device tags + ansible.builtin.assert: + that: + - item.0.name == item.1.label + - item.0.value == item.1.value + loop: "{{ expected_device_tags | zip(output_device_tags) | list }}" + + - name: Extract all interface tags from role output + ansible.builtin.set_fact: + output_interface_tags: "{{ cv_deploy_results.deployed_interface_tags }}" + + - name: Extract all interface tags from structured configs + ansible.builtin.set_fact: + expected_interface_tags: "{{ expected_interface_tags | default([]) + [item.tags | list | first | combine({'interface': item.interface})] }}" + loop: "{{ intended_tags.metadata.cv_tags.interface_tags }}" + loop_control: + label: "{{ item.interface }}" + + - name: Check output interface tags == intended interface tags + ansible.builtin.assert: + that: + - item.0.name == item.1.label + - item.0.value == item.1.value + loop: "{{ expected_interface_tags | zip(output_interface_tags) | list }}" + + - name: Convert unstructed data into yaml + ansible.builtin.set_fact: + deivces_structure: '{{ cv_deploy_results.deployed_configs | from_yaml }}' + output_devices: [] + + - name: Extract devices from output + ansible.builtin.set_fact: + output_devices: "{{ output_devices + [item.device.hostname] }}" + loop: "{{ deivces_structure }}" + loop_control: + label: "{{ item.configlet_name }}" + + - name: Check output devices == intended devices + ansible.builtin.assert: + that: + - output_devices == cv_devices + + - name: Cleanup + run_once: true + delegate_to: localhost + ansible.builtin.import_role: + name: arista.avd.cv_deploy + vars: + eos_config_dir: "{{ playbook_dir }}/intended/configs/base_configs" + structured_dir: "{{ playbook_dir }}/intended/structured_configs/base_configs" + cv_submit_workspace: true + cv_submit_workspace_force: true + cv_run_change_control: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/inventory/inventory.yml b/ansible_collections/arista/avd/molecule/cv_deploy/inventory/inventory.yml index 920e0d2e7c5..52a6be230d6 100644 --- a/ansible_collections/arista/avd/molecule/cv_deploy/inventory/inventory.yml +++ b/ansible_collections/arista/avd/molecule/cv_deploy/inventory/inventory.yml @@ -11,6 +11,14 @@ SITE1: avd-ci-spine1: avd-ci-spine2: avd-ci-core1: + # ansible_host: "{{ lookup('env', 'AVD_CI_CORE1_FQDN') }}" + # ansible_user: "{{ lookup('env', 'EOS_EAPI_USERNAME') }}" + # ansible_password: "{{ lookup('env', 'EOS_EAPI_PASSWORD') }}" + # ansible_connection: httpapi + # ansible_httpapi_use_ssl: True + # ansible_httpapi_validate_certs: False + # ansible_network_os: eos + # ansible_httpapi_port: 443 SITE1_LEAFS: hosts: avd-ci-leaf1: diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/workspace_force_false.yml b/ansible_collections/arista/avd/molecule/cv_deploy/workspace_force_false.yml new file mode 100644 index 00000000000..94cca18a3f1 --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/workspace_force_false.yml @@ -0,0 +1,76 @@ +--- +- name: Converge - cv_submit_workspace_force = false + hosts: SITE1_FABRIC + connection: local + gather_facts: false + vars: + cv_server: www.cv-staging.corp.arista.io + cv_token: "{{ lookup('env', 'CVAAS_AAWG_CI') }}" + cv_verify_certs: false + cv_skip_missing_devices: true + eos_config_dir: "{{ playbook_dir }}/intended/configs/test_configs" + structured_dir: "{{ playbook_dir }}/intended/structured_configs/test_configs" + intended_tag_device: avd-ci-leaf1 + intended_tags: "{{ lookup('file', structured_dir ~ '/' ~ intended_tag_device ~ '.yml')| from_yaml }}" + + tasks: + - name: Generate random string + ansible.builtin.set_fact: + r: "{{ lookup('password', '/dev/null chars=ascii_lowercase,digits length=4') }}" + run_once: true + + - name: Set facts + ansible.builtin.set_fact: + cv_workspace_name: avd-cv-deploy-{{ r }} + cv_workspace_description: sample description + cv_change_control_name: cc_cv_deploy-{{ r }} + cv_change_control_description: sample description + cv_register_detailed_results: true + run_once: true + + - name: Provision with cv_submit_workspace_force = false + run_once: true + delegate_to: localhost + ansible.builtin.import_role: + name: arista.avd.cv_deploy + vars: + cv_devices: [ avd-ci-leaf2, avd-ci-core1 ] + cv_submit_workspace_force: false + ignore_errors: yes + + - name: Force device avd-ci-core1 to start streaming + arista.eos.eos_command: + commands: + - enable + - configure + - daemon TerminAttr + - no shutdown + when: inventory_hostname == "avd-ci-core1" + + - name: Pause for 10 seconds for streaming to start + run_once: true + ansible.builtin.pause: + seconds: 10 + + - name: Display CVP result + run_once: true + ansible.builtin.debug: + msg: '{{ cv_deploy_results }}' + + - name: Check CVP returns + ansible.builtin.assert: + that: + # errors and warnings + - "'Failed to submit workspace' in cv_deploy_results.errors[0]" + + - name: Cleanup + run_once: true + delegate_to: localhost + ansible.builtin.import_role: + name: arista.avd.cv_deploy + vars: + eos_config_dir: "{{ playbook_dir }}/intended/configs/base_configs" + structured_dir: "{{ playbook_dir }}/intended/structured_configs/base_configs" + cv_submit_workspace: true + cv_submit_workspace_force: true + cv_run_change_control: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/workspace_force_true.yml b/ansible_collections/arista/avd/molecule/cv_deploy/workspace_force_true.yml new file mode 100644 index 00000000000..ab5c7653de3 --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/workspace_force_true.yml @@ -0,0 +1,61 @@ +--- +- name: Converge - cv_deploy with cv_submit_workspace_force = true + hosts: SITE1_FABRIC + connection: local + gather_facts: false + vars: + cv_server: www.cv-staging.corp.arista.io + cv_token: "{{ lookup('env', 'CVAAS_AAWG_CI') }}" + cv_verify_certs: false + cv_skip_missing_devices: true + eos_config_dir: "{{ playbook_dir }}/intended/configs/test_configs" + structured_dir: "{{ playbook_dir }}/intended/structured_configs/test_configs" + intended_tag_device: avd-ci-leaf1 + intended_tags: "{{ lookup('file', structured_dir ~ '/' ~ intended_tag_device ~ '.yml')| from_yaml }}" + + tasks: + - name: Generate random string + ansible.builtin.set_fact: + r: "{{ lookup('password', '/dev/null chars=ascii_lowercase,digits length=4') }}" + run_once: true + + - name: Set facts + ansible.builtin.set_fact: + cv_workspace_name: avd-cv-deploy-{{ r }} + cv_workspace_description: sample description + cv_change_control_name: cc_cv_deploy-{{ r }} + cv_change_control_description: sample description + cv_register_detailed_results: true + run_once: true + + - name: Provision with cv_submit_workspace_force = true + run_once: true + delegate_to: localhost + ansible.builtin.import_role: + name: arista.avd.cv_deploy + vars: + cv_devices: [ avd-ci-leaf1, avd-ci-core1 ] + cv_submit_workspace_force: true + + - name: Display CVP result + run_once: true + ansible.builtin.debug: + msg: '{{ cv_deploy_results }}' + + - name: Check CVP returns + ansible.builtin.assert: + that: + # errors and warnings + - cv_deploy_results.errors == [] + + - name: Cleanup + run_once: true + delegate_to: localhost + ansible.builtin.import_role: + name: arista.avd.cv_deploy + vars: + eos_config_dir: "{{ playbook_dir }}/intended/configs/base_configs" + structured_dir: "{{ playbook_dir }}/intended/structured_configs/base_configs" + cv_submit_workspace: true + cv_submit_workspace_force: true + cv_run_change_control: true diff --git a/ansible_collections/arista/avd/molecule/cv_deploy/workspace_pending.yml b/ansible_collections/arista/avd/molecule/cv_deploy/workspace_pending.yml new file mode 100644 index 00000000000..3e804550f6a --- /dev/null +++ b/ansible_collections/arista/avd/molecule/cv_deploy/workspace_pending.yml @@ -0,0 +1,56 @@ +--- +- name: Converge - cv_deploy with Workspace Pending + hosts: SITE1_FABRIC + connection: local + gather_facts: false + vars: + cv_server: www.cv-staging.corp.arista.io + cv_token: "{{ lookup('env', 'CVAAS_AAWG_CI') }}" + cv_verify_certs: false + cv_skip_missing_devices: true + eos_config_dir: "{{ playbook_dir }}/intended/configs/test_configs" + structured_dir: "{{ playbook_dir }}/intended/structured_configs/test_configs" + intended_tag_device: avd-ci-leaf1 + intended_tags: "{{ lookup('file', structured_dir ~ '/' ~ intended_tag_device ~ '.yml')| from_yaml }}" + + tasks: + - name: Generate random string + ansible.builtin.set_fact: + r: "{{ lookup('password', '/dev/null chars=ascii_lowercase,digits length=4') }}" + run_once: true + + - name: Set facts + ansible.builtin.set_fact: + cv_workspace_name: avd-cv-deploy-{{ r }} + cv_workspace_description: sample description + cv_change_control_name: cc_cv_deploy-{{ r }} + cv_change_control_description: sample description + cv_register_detailed_results: true + run_once: true + + - name: Provision with workspace "Pending" + run_once: true + delegate_to: localhost + ansible.builtin.import_role: + name: arista.avd.cv_deploy + vars: + cv_submit_workspace: false + cv_submit_workspace_force: true + + - name: Check CVP returns + ansible.builtin.assert: + that: + # workspace + - cv_deploy_results.workspace.state == cv_deploy_results.workspace.requested_state + + - name: Cleanup + run_once: true + delegate_to: localhost + ansible.builtin.import_role: + name: arista.avd.cv_deploy + vars: + eos_config_dir: "{{ playbook_dir }}/intended/configs/base_configs" + structured_dir: "{{ playbook_dir }}/intended/structured_configs/base_configs" + cv_submit_workspace: true + cv_submit_workspace_force: true + cv_run_change_control: true