Warning in ansible: You're using Ansible version 12.x or higher; netlab might not work correctly ... Ansible core version 2.19 introduced breaking changes in templates and playbooks ... We tested netlab core with Ansible version 12.x but not every device template ... You might want to downgrade Ansible to version 11.10 or lower. ... Use 'netlab install ansible' on Ubuntu to do that ... Finally, please open a GitHub issue if you experience errors/crashes ... Set defaults.ansible.warnings.ver12 to False to hide this warning [INFO] Checking for updates in configuration templates [INFO] Creating configuration snippets [CREATED] s1: initial,vlan,ospf,bgp,vrf,vxlan,evpn [CREATED] s2: initial,vlan,ospf,bgp,vrf,vxlan,evpn [CREATED] h1: initial,routing [CREATED] h2: initial,routing [CREATED] h3: initial,routing [CREATED] h4: initial,routing [INFO] Executing initial configuration for node h1 (namespace clab- ml_17-h1) [INFO] Executing routing configuration for node h1 (namespace clab- ml_17-h1) [INFO] Executing initial configuration for node h2 (namespace clab- ml_17-h2) [INFO] Executing routing configuration for node h2 (namespace clab- ml_17-h2) [INFO] Executing initial configuration for node h3 (namespace clab- ml_17-h3) [INFO] Executing routing configuration for node h3 (namespace clab- ml_17-h3) [INFO] Executing initial configuration for node h4 (namespace clab- ml_17-h4) [INFO] Executing routing configuration for node h4 (namespace clab- ml_17-h4) [INFO] Starting Ansible playbook to deploy the rest of the configurations [WARNING]: Could not match supplied host pattern, ignoring: unprovisioned [WARNING]: Found variable using reserved name 'hosts'. Origin: /work/netlab_cicd/group_vars/all/topology.yml:157:1 155 ipv4: 10.2.0.0/24 156 prefix: 32 157 hosts: ^ column 1 PLAY [Deploy initial device configuration] ************************************* TASK [Set variables that cannot be set with VARS] ****************************** ok: [h1] ok: [h2] ok: [h3] ok: [h4] ok: [s1] ok: [s2] TASK [Generic readiness tests] ************************************************* skipping: [s1] skipping: [s2] skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] TASK [Find device readiness script] ******************************************** ok: [h1] ok: [h2] ok: [h3] ok: [h4] ok: [s1] ok: [s2] TASK [Wait for device to become ready] ***************************************** skipping: [s1] skipping: [s2] skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] TASK [Normalize config on bridge-like devices] ********************************* included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for s1 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for s2 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h1 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h2 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h3 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h4 TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [s1] TASK [Find configuration template for normalize] ******************************* ok: [s1] TASK [fail] ******************************************************************** skipping: [s1] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [s1] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [s1] TASK [Deploy normalize configuration] ****************************************** skipping: [s1] TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [s2] TASK [Find configuration template for normalize] ******************************* ok: [s2] TASK [fail] ******************************************************************** skipping: [s2] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [s2] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [s2] TASK [Deploy normalize configuration] ****************************************** skipping: [s2] TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [h1] TASK [Find configuration template for normalize] ******************************* ok: [h1] TASK [fail] ******************************************************************** skipping: [h1] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [h1] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h1] TASK [Deploy normalize configuration] ****************************************** skipping: [h1] TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [h2] TASK [Find configuration template for normalize] ******************************* ok: [h2] TASK [fail] ******************************************************************** skipping: [h2] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [h2] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h2] TASK [Deploy normalize configuration] ****************************************** skipping: [h2] TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [h3] TASK [Find configuration template for normalize] ******************************* ok: [h3] TASK [fail] ******************************************************************** skipping: [h3] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [h3] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h3] TASK [Deploy normalize configuration] ****************************************** skipping: [h3] TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [h4] TASK [Find configuration template for normalize] ******************************* ok: [h4] TASK [fail] ******************************************************************** skipping: [h4] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [h4] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h4] TASK [Deploy normalize configuration] ****************************************** skipping: [h4] TASK [Deploy initial configuration] ******************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for s1 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for s2 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h1 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h2 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h3 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h4 TASK [Figure out whether to deploy the module initial on current device] ******* ok: [s1] TASK [Find configuration template for initial] ********************************* ok: [s1] TASK [fail] ******************************************************************** skipping: [s1] TASK [Find configuration deployment deploy_script for initial] ***************** ok: [s1] TASK [Print deployed configuration when running in verbose mode] *************** ok: [s1] => { "msg": "initial configuration for s1\n=========================================\nhostname s1\n!\nlldp\n!\n\nvrf tenant\n rd 65000:1\n!\n\n address-family ipv4 unicast\n route-target import 65000:1\n route-target export 65000:1\n exit-address-family\n\n\n!\nvlan 1000\n name red\n!\nvlan 1001\n name blue\n!\nvlan 1002\n name green\n!\n\n!\n\n!\ninterface mgmt\n no lldp transmit\n no lldp receive\n!\n\n\ninterface loopback 0\n ip address 10.0.0.1/32\n no shutdown\n!\n\ninterface 1/1/1\n shutdown\n mtu 9198\n ip mtu 1600\n description s1 -> s2\n ip address 10.1.0.1/30\n no shutdown\n!\n\ninterface 1/1/2\n shutdown\n mtu 9198\n description [Access VLAN red] s1 -> h1\n no shutdown\n!\n\ninterface 1/1/3\n shutdown\n mtu 9198\n description [Access VLAN green] s1 -> h3\n no shutdown\n!\n\ninterface vlan1000\n vrf attach tenant\n description VLAN red (1000) -> [h1,s2]\n ip address 172.16.0.1/24\n no shutdown\n!\n\ninterface vlan1002\n vrf attach tenant\n description VLAN green (1002) -> [h3] [stub]\n ip address 172.16.2.1/24\n no shutdown\n!\n\ninterface vlan1001\n vrf attach tenant\n description VLAN blue (1001) -> [h2,s2]\n ip address 172.16.1.1/24\n no shutdown\n!\n!\n" } TASK [Deploy initial configuration] ******************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/arubacx.yml for s1 TASK [tempfile] **************************************************************** changed: [s1 -> localhost] TASK [template] **************************************************************** changed: [s1 -> localhost] TASK [aoscx_config: deploying initial from /work/netlab_cicd/node_files/s1/initial] *** changed: [s1] TASK [file] ******************************************************************** changed: [s1 -> localhost] TASK [Figure out whether to deploy the module initial on current device] ******* ok: [s2] TASK [Find configuration template for initial] ********************************* ok: [s2] TASK [fail] ******************************************************************** skipping: [s2] TASK [Find configuration deployment deploy_script for initial] ***************** ok: [s2] TASK [Print deployed configuration when running in verbose mode] *************** ok: [s2] => { "msg": "initial configuration for s2\n=========================================\nhostname s2\n!\nlldp\n!\n\nvrf tenant\n rd 65000:1\n!\n\n address-family ipv4 unicast\n route-target import 65000:1\n route-target export 65000:1\n exit-address-family\n\n\n!\nvlan 1000\n name red\n!\nvlan 1001\n name blue\n!\nvlan 1003\n name purple\n!\n\n!\n\n!\ninterface mgmt\n no lldp transmit\n no lldp receive\n!\n\n\ninterface loopback 0\n ip address 10.0.0.2/32\n no shutdown\n!\n\ninterface 1/1/1\n shutdown\n mtu 9198\n ip mtu 1600\n description s2 -> s1\n ip address 10.1.0.2/30\n no shutdown\n!\n\ninterface 1/1/2\n shutdown\n mtu 9198\n description [Access VLAN blue] s2 -> h2\n no shutdown\n!\n\ninterface 1/1/3\n shutdown\n mtu 9198\n description [Access VLAN purple] s2 -> h4\n no shutdown\n!\n\ninterface vlan1001\n vrf attach tenant\n description VLAN blue (1001) -> [s1,h2]\n ip address 172.16.1.2/24\n no shutdown\n!\n\ninterface vlan1003\n vrf attach tenant\n description VLAN purple (1003) -> [h4] [stub]\n ip address 172.16.3.2/24\n no shutdown\n!\n\ninterface vlan1000\n vrf attach tenant\n description VLAN red (1000) -> [h1,s1]\n ip address 172.16.0.2/24\n no shutdown\n!\n!\n" } TASK [Deploy initial configuration] ******************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/arubacx.yml for s2 TASK [tempfile] **************************************************************** changed: [s2 -> localhost] TASK [template] **************************************************************** changed: [s2 -> localhost] TASK [aoscx_config: deploying initial from /work/netlab_cicd/node_files/s2/initial] *** changed: [s2] TASK [file] ******************************************************************** changed: [s2 -> localhost] TASK [Figure out whether to deploy the module initial on current device] ******* ok: [h1] TASK [Find configuration template for initial] ********************************* skipping: [h1] TASK [fail] ******************************************************************** skipping: [h1] TASK [Find configuration deployment deploy_script for initial] ***************** skipping: [h1] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h1] TASK [Deploy initial configuration] ******************************************** skipping: [h1] TASK [Figure out whether to deploy the module initial on current device] ******* ok: [h2] TASK [Find configuration template for initial] ********************************* skipping: [h2] TASK [fail] ******************************************************************** skipping: [h2] TASK [Find configuration deployment deploy_script for initial] ***************** skipping: [h2] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h2] TASK [Deploy initial configuration] ******************************************** skipping: [h2] TASK [Figure out whether to deploy the module initial on current device] ******* ok: [h3] TASK [Find configuration template for initial] ********************************* skipping: [h3] TASK [fail] ******************************************************************** skipping: [h3] TASK [Find configuration deployment deploy_script for initial] ***************** skipping: [h3] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h3] TASK [Deploy initial configuration] ******************************************** skipping: [h3] TASK [Figure out whether to deploy the module initial on current device] ******* ok: [h4] TASK [Find configuration template for initial] ********************************* skipping: [h4] TASK [fail] ******************************************************************** skipping: [h4] TASK [Find configuration deployment deploy_script for initial] ***************** skipping: [h4] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h4] TASK [Deploy initial configuration] ******************************************** skipping: [h4] PLAY [Deploy module-specific configurations] *********************************** TASK [Set variables that cannot be set with VARS] ****************************** ok: [h1] ok: [h2] ok: [h3] ok: [h4] ok: [s1] ok: [s2] TASK [Deploy individual configuration modules] ********************************* included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for s1 => (item=vlan) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for s1 => (item=routing) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for s1 => (item=ospf) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for s1 => (item=bgp) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for s1 => (item=vrf) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for s1 => (item=vxlan) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for s1 => (item=evpn) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for s2 => (item=vlan) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for s2 => (item=routing) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for s2 => (item=ospf) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for s2 => (item=bgp) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for s2 => (item=vrf) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for s2 => (item=vxlan) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for s2 => (item=evpn) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h1 => (item=vlan) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h1 => (item=routing) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h1 => (item=ospf) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h1 => (item=bgp) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h1 => (item=vrf) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h1 => (item=vxlan) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h1 => (item=evpn) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h2 => (item=vlan) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h2 => (item=routing) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h2 => (item=ospf) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h2 => (item=bgp) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h2 => (item=vrf) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h2 => (item=vxlan) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h2 => (item=evpn) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h3 => (item=vlan) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h3 => (item=routing) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h3 => (item=ospf) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h3 => (item=bgp) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h3 => (item=vrf) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h3 => (item=vxlan) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h3 => (item=evpn) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h4 => (item=vlan) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h4 => (item=routing) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h4 => (item=ospf) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h4 => (item=bgp) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h4 => (item=vrf) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h4 => (item=vxlan) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h4 => (item=evpn) TASK [Figure out whether to deploy the module vlan on current device] ********** ok: [s1] TASK [Find configuration template for vlan] ************************************ ok: [s1] TASK [fail] ******************************************************************** skipping: [s1] TASK [Find configuration deployment deploy_script for vlan] ******************** ok: [s1] TASK [Print deployed configuration when running in verbose mode] *************** ok: [s1] => { "msg": "vlan configuration for s1\n=========================================\n!\n!\ninterface 1/1/2\n no routing\n vlan access 1000\n!\ninterface 1/1/3\n no routing\n vlan access 1002\n!\ninterface vlan1000\n!\ninterface vlan1002\n!\ninterface vlan1001\n" } TASK [Deploy vlan configuration] *********************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/arubacx.yml for s1 TASK [tempfile] **************************************************************** changed: [s1 -> localhost] TASK [template] **************************************************************** changed: [s1 -> localhost] TASK [aoscx_config: deploying vlan from /work/netlab_cicd/node_files/s1/vlan] *** changed: [s1] TASK [file] ******************************************************************** changed: [s1 -> localhost] TASK [Figure out whether to deploy the module routing on current device] ******* ok: [s1] TASK [Find configuration template for routing] ********************************* skipping: [s1] TASK [fail] ******************************************************************** skipping: [s1] TASK [Find configuration deployment deploy_script for routing] ***************** skipping: [s1] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [s1] TASK [Deploy routing configuration] ******************************************** skipping: [s1] TASK [Figure out whether to deploy the module ospf on current device] ********** ok: [s1] TASK [Find configuration template for ospf] ************************************ ok: [s1] TASK [fail] ******************************************************************** skipping: [s1] TASK [Find configuration deployment deploy_script for ospf] ******************** ok: [s1] TASK [Print deployed configuration when running in verbose mode] *************** ok: [s1] => { "msg": "ospf configuration for s1\n=========================================\n!\nrouter ospf 1\n router-id 10.0.0.1\n\n\n\n\n\n area 0.0.0.0\n area 0.0.0.0\n\n!\ninterface loopback 0\n ip ospf 1 area 0.0.0.0\n!\ninterface 1/1/1\n! s1 -> s2\n ip ospf 1 area 0.0.0.0\n ip ospf network point-to-point\n!\n" } TASK [Deploy ospf configuration] *********************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/arubacx.yml for s1 TASK [tempfile] **************************************************************** changed: [s1 -> localhost] TASK [template] **************************************************************** changed: [s1 -> localhost] TASK [aoscx_config: deploying ospf from /work/netlab_cicd/node_files/s1/ospf] *** changed: [s1] TASK [file] ******************************************************************** changed: [s1 -> localhost] TASK [Figure out whether to deploy the module bgp on current device] *********** ok: [s1] TASK [Find configuration template for bgp] ************************************* ok: [s1] TASK [fail] ******************************************************************** skipping: [s1] TASK [Find configuration deployment deploy_script for bgp] ********************* ok: [s1] TASK [Print deployed configuration when running in verbose mode] *************** ok: [s1] => { "msg": "bgp configuration for s1\n=========================================\n!\n!\nrouter bgp 65000\n bgp log-neighbor-changes\n timers bgp connect-retry 10\n bgp router-id 10.0.0.1\n neighbor 10.0.0.2 remote-as 65000\n neighbor 10.0.0.2 description s2\n neighbor 10.0.0.2 update-source loopback 0\n\n!\n address-family ipv4 unicast\n!\n\n network 10.0.0.1/32\n!\n!\n neighbor 10.0.0.2 activate\n neighbor 10.0.0.2 advertisement-interval 1\n neighbor 10.0.0.2 send-community both\n neighbor 10.0.0.2 next-hop-self\n\n!\n" } TASK [Deploy bgp configuration] ************************************************ included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/arubacx.yml for s1 TASK [tempfile] **************************************************************** changed: [s1 -> localhost] TASK [template] **************************************************************** changed: [s1 -> localhost] TASK [aoscx_config: deploying bgp from /work/netlab_cicd/node_files/s1/bgp] **** changed: [s1] TASK [file] ******************************************************************** changed: [s1 -> localhost] TASK [Figure out whether to deploy the module vrf on current device] *********** ok: [s1] TASK [Find configuration template for vrf] ************************************* ok: [s1] TASK [fail] ******************************************************************** skipping: [s1] TASK [Find configuration deployment deploy_script for vrf] ********************* ok: [s1] TASK [Print deployed configuration when running in verbose mode] *************** ok: [s1] => { "msg": "vrf configuration for s1\n=========================================\n\n!\nrouter ospf 2 vrf tenant\n router-id 10.0.0.1\n\n\n\n redistribute bgp\n redistribute connected\n\n\n area 0.0.0.0\n area 0.0.0.0\n area 0.0.0.0\n\n!\ninterface vlan1000\n! VLAN red (1000) -> [h1,s2]\n ip ospf 2 area 0.0.0.0\n!\ninterface vlan1002\n! VLAN green (1002) -> [h3]\n ip ospf 2 area 0.0.0.0\n ip ospf network point-to-point\n ip ospf passive\n!\ninterface vlan1001\n! VLAN blue (1001) -> [h2,s2]\n ip ospf 2 area 0.0.0.0\n!\n\n\n\n!\nrouter bgp 65000\n vrf tenant\n bgp router-id 10.0.0.1\n\n\n address-family ipv4 unicast\n redistribute local loopback\n redistribute connected\n redistribute ospf\n!\n!\n" } TASK [Deploy vrf configuration] ************************************************ included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/arubacx.yml for s1 TASK [tempfile] **************************************************************** changed: [s1 -> localhost] TASK [template] **************************************************************** changed: [s1 -> localhost] TASK [aoscx_config: deploying vrf from /work/netlab_cicd/node_files/s1/vrf] **** changed: [s1] TASK [file] ******************************************************************** changed: [s1 -> localhost] TASK [Figure out whether to deploy the module vxlan on current device] ********* ok: [s1] TASK [Find configuration template for vxlan] *********************************** ok: [s1] TASK [fail] ******************************************************************** skipping: [s1] TASK [Find configuration deployment deploy_script for vxlan] ******************* ok: [s1] TASK [Print deployed configuration when running in verbose mode] *************** ok: [s1] => { "msg": "vxlan configuration for s1\n=========================================\n!\ninterface vxlan 1\n source ip 10.0.0.1\n no shutdown\n vni 21000\n vlan 1000\n vni 21001\n vlan 1001\n" } TASK [Deploy vxlan configuration] ********************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/arubacx.yml for s1 TASK [tempfile] **************************************************************** changed: [s1 -> localhost] TASK [template] **************************************************************** changed: [s1 -> localhost] TASK [aoscx_config: deploying vxlan from /work/netlab_cicd/node_files/s1/vxlan] *** changed: [s1] TASK [file] ******************************************************************** changed: [s1 -> localhost] TASK [Figure out whether to deploy the module evpn on current device] ********** ok: [s1] TASK [Find configuration template for evpn] ************************************ ok: [s1] TASK [fail] ******************************************************************** skipping: [s1] TASK [Find configuration deployment deploy_script for evpn] ******************** ok: [s1] TASK [Print deployed configuration when running in verbose mode] *************** ok: [s1] => { "msg": "evpn configuration for s1\n=========================================\n!\nrouter bgp 65000\n!\n address-family l2vpn evpn\n neighbor 10.0.0.2 activate\n neighbor 10.0.0.2 send-community extended\n!\n\nevpn\n arp-suppression\n redistribute local-mac\n redistribute local-svi\n vlan 1000\n rd 10.0.0.1:1000\n route-target import 65000:1000\n route-target export 65000:1000\n route-target both 65000:1000\n\n vlan 1001\n rd 10.0.0.1:1001\n route-target import 65000:1001\n route-target export 65000:1001\n route-target both 65000:1001\n\n\nevpn\nvrf tenant\n route-target import 65000:1 evpn\n route-target export 65000:1 evpn\ninterface vxlan 1\n" } TASK [Deploy evpn configuration] *********************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/arubacx.yml for s1 TASK [tempfile] **************************************************************** changed: [s1 -> localhost] TASK [template] **************************************************************** changed: [s1 -> localhost] TASK [aoscx_config: deploying evpn from /work/netlab_cicd/node_files/s1/evpn] *** changed: [s1] TASK [file] ******************************************************************** changed: [s1 -> localhost] TASK [Figure out whether to deploy the module vlan on current device] ********** ok: [s2] TASK [Find configuration template for vlan] ************************************ ok: [s2] TASK [fail] ******************************************************************** skipping: [s2] TASK [Find configuration deployment deploy_script for vlan] ******************** ok: [s2] TASK [Print deployed configuration when running in verbose mode] *************** ok: [s2] => { "msg": "vlan configuration for s2\n=========================================\n!\n!\ninterface 1/1/2\n no routing\n vlan access 1001\n!\ninterface 1/1/3\n no routing\n vlan access 1003\n!\ninterface vlan1001\n!\ninterface vlan1003\n!\ninterface vlan1000\n" } TASK [Deploy vlan configuration] *********************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/arubacx.yml for s2 TASK [tempfile] **************************************************************** changed: [s2 -> localhost] TASK [template] **************************************************************** changed: [s2 -> localhost] TASK [aoscx_config: deploying vlan from /work/netlab_cicd/node_files/s2/vlan] *** changed: [s2] TASK [file] ******************************************************************** changed: [s2 -> localhost] TASK [Figure out whether to deploy the module routing on current device] ******* ok: [s2] TASK [Find configuration template for routing] ********************************* skipping: [s2] TASK [fail] ******************************************************************** skipping: [s2] TASK [Find configuration deployment deploy_script for routing] ***************** skipping: [s2] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [s2] TASK [Deploy routing configuration] ******************************************** skipping: [s2] TASK [Figure out whether to deploy the module ospf on current device] ********** ok: [s2] TASK [Find configuration template for ospf] ************************************ ok: [s2] TASK [fail] ******************************************************************** skipping: [s2] TASK [Find configuration deployment deploy_script for ospf] ******************** ok: [s2] TASK [Print deployed configuration when running in verbose mode] *************** ok: [s2] => { "msg": "ospf configuration for s2\n=========================================\n!\nrouter ospf 1\n router-id 10.0.0.2\n\n\n\n\n\n area 0.0.0.0\n area 0.0.0.0\n\n!\ninterface loopback 0\n ip ospf 1 area 0.0.0.0\n!\ninterface 1/1/1\n! s2 -> s1\n ip ospf 1 area 0.0.0.0\n ip ospf network point-to-point\n!\n" } TASK [Deploy ospf configuration] *********************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/arubacx.yml for s2 TASK [tempfile] **************************************************************** changed: [s2 -> localhost] TASK [template] **************************************************************** changed: [s2 -> localhost] TASK [aoscx_config: deploying ospf from /work/netlab_cicd/node_files/s2/ospf] *** changed: [s2] TASK [file] ******************************************************************** changed: [s2 -> localhost] TASK [Figure out whether to deploy the module bgp on current device] *********** ok: [s2] TASK [Find configuration template for bgp] ************************************* ok: [s2] TASK [fail] ******************************************************************** skipping: [s2] TASK [Find configuration deployment deploy_script for bgp] ********************* ok: [s2] TASK [Print deployed configuration when running in verbose mode] *************** ok: [s2] => { "msg": "bgp configuration for s2\n=========================================\n!\n!\nrouter bgp 65000\n bgp log-neighbor-changes\n timers bgp connect-retry 10\n bgp router-id 10.0.0.2\n neighbor 10.0.0.1 remote-as 65000\n neighbor 10.0.0.1 description s1\n neighbor 10.0.0.1 update-source loopback 0\n\n!\n address-family ipv4 unicast\n!\n\n network 10.0.0.2/32\n!\n!\n neighbor 10.0.0.1 activate\n neighbor 10.0.0.1 advertisement-interval 1\n neighbor 10.0.0.1 send-community both\n neighbor 10.0.0.1 next-hop-self\n\n!\n" } TASK [Deploy bgp configuration] ************************************************ included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/arubacx.yml for s2 TASK [tempfile] **************************************************************** changed: [s2 -> localhost] TASK [template] **************************************************************** changed: [s2 -> localhost] TASK [aoscx_config: deploying bgp from /work/netlab_cicd/node_files/s2/bgp] **** changed: [s2] TASK [file] ******************************************************************** changed: [s2 -> localhost] TASK [Figure out whether to deploy the module vrf on current device] *********** ok: [s2] TASK [Find configuration template for vrf] ************************************* ok: [s2] TASK [fail] ******************************************************************** skipping: [s2] TASK [Find configuration deployment deploy_script for vrf] ********************* ok: [s2] TASK [Print deployed configuration when running in verbose mode] *************** ok: [s2] => { "msg": "vrf configuration for s2\n=========================================\n\n!\nrouter ospf 2 vrf tenant\n router-id 10.0.0.2\n\n\n\n redistribute bgp\n redistribute connected\n\n\n area 0.0.0.0\n area 0.0.0.0\n area 0.0.0.0\n\n!\ninterface vlan1001\n! VLAN blue (1001) -> [s1,h2]\n ip ospf 2 area 0.0.0.0\n!\ninterface vlan1003\n! VLAN purple (1003) -> [h4]\n ip ospf 2 area 0.0.0.0\n ip ospf network point-to-point\n ip ospf passive\n!\ninterface vlan1000\n! VLAN red (1000) -> [h1,s1]\n ip ospf 2 area 0.0.0.0\n!\n\n\n\n!\nrouter bgp 65000\n vrf tenant\n bgp router-id 10.0.0.2\n\n\n address-family ipv4 unicast\n redistribute local loopback\n redistribute connected\n redistribute ospf\n!\n!\n" } TASK [Deploy vrf configuration] ************************************************ included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/arubacx.yml for s2 TASK [tempfile] **************************************************************** changed: [s2 -> localhost] TASK [template] **************************************************************** changed: [s2 -> localhost] TASK [aoscx_config: deploying vrf from /work/netlab_cicd/node_files/s2/vrf] **** changed: [s2] TASK [file] ******************************************************************** changed: [s2 -> localhost] TASK [Figure out whether to deploy the module vxlan on current device] ********* ok: [s2] TASK [Find configuration template for vxlan] *********************************** ok: [s2] TASK [fail] ******************************************************************** skipping: [s2] TASK [Find configuration deployment deploy_script for vxlan] ******************* ok: [s2] TASK [Print deployed configuration when running in verbose mode] *************** ok: [s2] => { "msg": "vxlan configuration for s2\n=========================================\n!\ninterface vxlan 1\n source ip 10.0.0.2\n no shutdown\n vni 21000\n vlan 1000\n vni 21001\n vlan 1001\n" } TASK [Deploy vxlan configuration] ********************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/arubacx.yml for s2 TASK [tempfile] **************************************************************** changed: [s2 -> localhost] TASK [template] **************************************************************** changed: [s2 -> localhost] TASK [aoscx_config: deploying vxlan from /work/netlab_cicd/node_files/s2/vxlan] *** changed: [s2] TASK [file] ******************************************************************** changed: [s2 -> localhost] TASK [Figure out whether to deploy the module evpn on current device] ********** ok: [s2] TASK [Find configuration template for evpn] ************************************ ok: [s2] TASK [fail] ******************************************************************** skipping: [s2] TASK [Find configuration deployment deploy_script for evpn] ******************** ok: [s2] TASK [Print deployed configuration when running in verbose mode] *************** ok: [s2] => { "msg": "evpn configuration for s2\n=========================================\n!\nrouter bgp 65000\n!\n address-family l2vpn evpn\n neighbor 10.0.0.1 activate\n neighbor 10.0.0.1 send-community extended\n!\n\nevpn\n arp-suppression\n redistribute local-mac\n redistribute local-svi\n vlan 1000\n rd 10.0.0.2:1000\n route-target import 65000:1000\n route-target export 65000:1000\n route-target both 65000:1000\n\n vlan 1001\n rd 10.0.0.2:1001\n route-target import 65000:1001\n route-target export 65000:1001\n route-target both 65000:1001\n\n\nevpn\nvrf tenant\n route-target import 65000:1 evpn\n route-target export 65000:1 evpn\ninterface vxlan 1\n" } TASK [Deploy evpn configuration] *********************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/arubacx.yml for s2 TASK [tempfile] **************************************************************** changed: [s2 -> localhost] TASK [template] **************************************************************** changed: [s2 -> localhost] TASK [aoscx_config: deploying evpn from /work/netlab_cicd/node_files/s2/evpn] *** changed: [s2] TASK [file] ******************************************************************** changed: [s2 -> localhost] TASK [Figure out whether to deploy the module vlan on current device] ********** ok: [h1] TASK [Find configuration template for vlan] ************************************ skipping: [h1] TASK [fail] ******************************************************************** skipping: [h1] TASK [Find configuration deployment deploy_script for vlan] ******************** skipping: [h1] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h1] TASK [Deploy vlan configuration] *********************************************** skipping: [h1] TASK [Figure out whether to deploy the module routing on current device] ******* ok: [h1] TASK [Find configuration template for routing] ********************************* skipping: [h1] TASK [fail] ******************************************************************** skipping: [h1] TASK [Find configuration deployment deploy_script for routing] ***************** skipping: [h1] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h1] TASK [Deploy routing configuration] ******************************************** skipping: [h1] TASK [Figure out whether to deploy the module ospf on current device] ********** ok: [h1] TASK [Find configuration template for ospf] ************************************ skipping: [h1] TASK [fail] ******************************************************************** skipping: [h1] TASK [Find configuration deployment deploy_script for ospf] ******************** skipping: [h1] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h1] TASK [Deploy ospf configuration] *********************************************** skipping: [h1] TASK [Figure out whether to deploy the module bgp on current device] *********** ok: [h1] TASK [Find configuration template for bgp] ************************************* skipping: [h1] TASK [fail] ******************************************************************** skipping: [h1] TASK [Find configuration deployment deploy_script for bgp] ********************* skipping: [h1] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h1] TASK [Deploy bgp configuration] ************************************************ skipping: [h1] TASK [Figure out whether to deploy the module vrf on current device] *********** ok: [h1] TASK [Find configuration template for vrf] ************************************* skipping: [h1] TASK [fail] ******************************************************************** skipping: [h1] TASK [Find configuration deployment deploy_script for vrf] ********************* skipping: [h1] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h1] TASK [Deploy vrf configuration] ************************************************ skipping: [h1] TASK [Figure out whether to deploy the module vxlan on current device] ********* ok: [h1] TASK [Find configuration template for vxlan] *********************************** skipping: [h1] TASK [fail] ******************************************************************** skipping: [h1] TASK [Find configuration deployment deploy_script for vxlan] ******************* skipping: [h1] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h1] TASK [Deploy vxlan configuration] ********************************************** skipping: [h1] TASK [Figure out whether to deploy the module evpn on current device] ********** ok: [h1] TASK [Find configuration template for evpn] ************************************ skipping: [h1] TASK [fail] ******************************************************************** skipping: [h1] TASK [Find configuration deployment deploy_script for evpn] ******************** skipping: [h1] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h1] TASK [Deploy evpn configuration] *********************************************** skipping: [h1] TASK [Figure out whether to deploy the module vlan on current device] ********** ok: [h2] TASK [Find configuration template for vlan] ************************************ skipping: [h2] TASK [fail] ******************************************************************** skipping: [h2] TASK [Find configuration deployment deploy_script for vlan] ******************** skipping: [h2] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h2] TASK [Deploy vlan configuration] *********************************************** skipping: [h2] TASK [Figure out whether to deploy the module routing on current device] ******* ok: [h2] TASK [Find configuration template for routing] ********************************* skipping: [h2] TASK [fail] ******************************************************************** skipping: [h2] TASK [Find configuration deployment deploy_script for routing] ***************** skipping: [h2] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h2] TASK [Deploy routing configuration] ******************************************** skipping: [h2] TASK [Figure out whether to deploy the module ospf on current device] ********** ok: [h2] TASK [Find configuration template for ospf] ************************************ skipping: [h2] TASK [fail] ******************************************************************** skipping: [h2] TASK [Find configuration deployment deploy_script for ospf] ******************** skipping: [h2] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h2] TASK [Deploy ospf configuration] *********************************************** skipping: [h2] TASK [Figure out whether to deploy the module bgp on current device] *********** ok: [h2] TASK [Find configuration template for bgp] ************************************* skipping: [h2] TASK [fail] ******************************************************************** skipping: [h2] TASK [Find configuration deployment deploy_script for bgp] ********************* skipping: [h2] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h2] TASK [Deploy bgp configuration] ************************************************ skipping: [h2] TASK [Figure out whether to deploy the module vrf on current device] *********** ok: [h2] TASK [Find configuration template for vrf] ************************************* skipping: [h2] TASK [fail] ******************************************************************** skipping: [h2] TASK [Find configuration deployment deploy_script for vrf] ********************* skipping: [h2] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h2] TASK [Deploy vrf configuration] ************************************************ skipping: [h2] TASK [Figure out whether to deploy the module vxlan on current device] ********* ok: [h2] TASK [Find configuration template for vxlan] *********************************** skipping: [h2] TASK [fail] ******************************************************************** skipping: [h2] TASK [Find configuration deployment deploy_script for vxlan] ******************* skipping: [h2] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h2] TASK [Deploy vxlan configuration] ********************************************** skipping: [h2] TASK [Figure out whether to deploy the module evpn on current device] ********** ok: [h2] TASK [Find configuration template for evpn] ************************************ skipping: [h2] TASK [fail] ******************************************************************** skipping: [h2] TASK [Find configuration deployment deploy_script for evpn] ******************** skipping: [h2] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h2] TASK [Deploy evpn configuration] *********************************************** skipping: [h2] TASK [Figure out whether to deploy the module vlan on current device] ********** ok: [h3] TASK [Find configuration template for vlan] ************************************ skipping: [h3] TASK [fail] ******************************************************************** skipping: [h3] TASK [Find configuration deployment deploy_script for vlan] ******************** skipping: [h3] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h3] TASK [Deploy vlan configuration] *********************************************** skipping: [h3] TASK [Figure out whether to deploy the module routing on current device] ******* ok: [h3] TASK [Find configuration template for routing] ********************************* skipping: [h3] TASK [fail] ******************************************************************** skipping: [h3] TASK [Find configuration deployment deploy_script for routing] ***************** skipping: [h3] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h3] TASK [Deploy routing configuration] ******************************************** skipping: [h3] TASK [Figure out whether to deploy the module ospf on current device] ********** ok: [h3] TASK [Find configuration template for ospf] ************************************ skipping: [h3] TASK [fail] ******************************************************************** skipping: [h3] TASK [Find configuration deployment deploy_script for ospf] ******************** skipping: [h3] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h3] TASK [Deploy ospf configuration] *********************************************** skipping: [h3] TASK [Figure out whether to deploy the module bgp on current device] *********** ok: [h3] TASK [Find configuration template for bgp] ************************************* skipping: [h3] TASK [fail] ******************************************************************** skipping: [h3] TASK [Find configuration deployment deploy_script for bgp] ********************* skipping: [h3] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h3] TASK [Deploy bgp configuration] ************************************************ skipping: [h3] TASK [Figure out whether to deploy the module vrf on current device] *********** ok: [h3] TASK [Find configuration template for vrf] ************************************* skipping: [h3] TASK [fail] ******************************************************************** skipping: [h3] TASK [Find configuration deployment deploy_script for vrf] ********************* skipping: [h3] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h3] TASK [Deploy vrf configuration] ************************************************ skipping: [h3] TASK [Figure out whether to deploy the module vxlan on current device] ********* ok: [h3] TASK [Find configuration template for vxlan] *********************************** skipping: [h3] TASK [fail] ******************************************************************** skipping: [h3] TASK [Find configuration deployment deploy_script for vxlan] ******************* skipping: [h3] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h3] TASK [Deploy vxlan configuration] ********************************************** skipping: [h3] TASK [Figure out whether to deploy the module evpn on current device] ********** ok: [h3] TASK [Find configuration template for evpn] ************************************ skipping: [h3] TASK [fail] ******************************************************************** skipping: [h3] TASK [Find configuration deployment deploy_script for evpn] ******************** skipping: [h3] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h3] TASK [Deploy evpn configuration] *********************************************** skipping: [h3] TASK [Figure out whether to deploy the module vlan on current device] ********** ok: [h4] TASK [Find configuration template for vlan] ************************************ skipping: [h4] TASK [fail] ******************************************************************** skipping: [h4] TASK [Find configuration deployment deploy_script for vlan] ******************** skipping: [h4] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h4] TASK [Deploy vlan configuration] *********************************************** skipping: [h4] TASK [Figure out whether to deploy the module routing on current device] ******* ok: [h4] TASK [Find configuration template for routing] ********************************* skipping: [h4] TASK [fail] ******************************************************************** skipping: [h4] TASK [Find configuration deployment deploy_script for routing] ***************** skipping: [h4] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h4] TASK [Deploy routing configuration] ******************************************** skipping: [h4] TASK [Figure out whether to deploy the module ospf on current device] ********** ok: [h4] TASK [Find configuration template for ospf] ************************************ skipping: [h4] TASK [fail] ******************************************************************** skipping: [h4] TASK [Find configuration deployment deploy_script for ospf] ******************** skipping: [h4] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h4] TASK [Deploy ospf configuration] *********************************************** skipping: [h4] TASK [Figure out whether to deploy the module bgp on current device] *********** ok: [h4] TASK [Find configuration template for bgp] ************************************* skipping: [h4] TASK [fail] ******************************************************************** skipping: [h4] TASK [Find configuration deployment deploy_script for bgp] ********************* skipping: [h4] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h4] TASK [Deploy bgp configuration] ************************************************ skipping: [h4] TASK [Figure out whether to deploy the module vrf on current device] *********** ok: [h4] TASK [Find configuration template for vrf] ************************************* skipping: [h4] TASK [fail] ******************************************************************** skipping: [h4] TASK [Find configuration deployment deploy_script for vrf] ********************* skipping: [h4] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h4] TASK [Deploy vrf configuration] ************************************************ skipping: [h4] TASK [Figure out whether to deploy the module vxlan on current device] ********* ok: [h4] TASK [Find configuration template for vxlan] *********************************** skipping: [h4] TASK [fail] ******************************************************************** skipping: [h4] TASK [Find configuration deployment deploy_script for vxlan] ******************* skipping: [h4] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h4] TASK [Deploy vxlan configuration] ********************************************** skipping: [h4] TASK [Figure out whether to deploy the module evpn on current device] ********** ok: [h4] TASK [Find configuration template for evpn] ************************************ skipping: [h4] TASK [fail] ******************************************************************** skipping: [h4] TASK [Find configuration deployment deploy_script for evpn] ******************** skipping: [h4] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h4] TASK [Deploy evpn configuration] *********************************************** skipping: [h4] PLAY [Deploy custom deployment templates] ************************************** skipping: no hosts matched PLAY RECAP ********************************************************************* h1 : ok=23 changed=0 unreachable=0 failed=0 skipped=45 rescued=0 ignored=0 h2 : ok=23 changed=0 unreachable=0 failed=0 skipped=45 rescued=0 ignored=0 h3 : ok=23 changed=0 unreachable=0 failed=0 skipped=45 rescued=0 ignored=0 h4 : ok=23 changed=0 unreachable=0 failed=0 skipped=45 rescued=0 ignored=0 s1 : ok=79 changed=28 unreachable=0 failed=0 skipped=17 rescued=0 ignored=0 s2 : ok=79 changed=28 unreachable=0 failed=0 skipped=17 rescued=0 ignored=0 Warning: The following warnings were generated during the 'netlab initial' processing Warning: ansible: You're using Ansible version 12.x or higher; netlab might not work correctly Results of configuration script deployments ================================================================================ h1 OK: 2 h2 OK: 2 h3 OK: 2 h4 OK: 2 The devices under test are VLAN-to-VXLAN routers using asymmetric IRB with EVPN control plane and running OSPF within the VRF (across VXLAN segments) to exchange information about non-EVPN subnets. All hosts should be able to ping each other