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] dut: initial [CREATED] p1: normalize,initial,routing [CREATED] t_1300: initial,routing [CREATED] t_1400: initial,routing [INFO] Executing initial configuration for node t_1300 (namespace clab-ml_23-t_1300) [INFO] Executing routing configuration for node t_1300 (namespace clab-ml_23-t_1300) [INFO] Executing initial configuration for node t_1400 (namespace clab-ml_23-t_1400) [INFO] Executing routing configuration for node t_1400 (namespace clab-ml_23-t_1400) [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/hogs/group_vars/all/topology.yml:163:1 161 ipv4: 10.2.0.0/24 162 prefix: 32 163 hosts: ^ column 1 PLAY [Deploy initial device configuration] ************************************* TASK [Set variables that cannot be set with VARS] ****************************** ok: [t_1300] ok: [t_1400] ok: [p1] ok: [dut] TASK [Generic readiness tests] ************************************************* skipping: [t_1300] skipping: [t_1400] included: /home/pipi/netlab_gh/netsim/ansible/tasks/readiness-check/ssh.yml for p1, dut => (item=ssh) TASK [Check if 'sshpass' is installed] ***************************************** ok: [p1 -> localhost] TASK [Check for 'timeout' command] ********************************************* ok: [p1 -> localhost] ok: [dut -> localhost] TASK [Execute local ssh command to check ssh readiness] ************************ FAILED - RETRYING: [p1 -> localhost]: Execute local ssh command to check ssh readiness (20 retries left). ok: [p1 -> localhost] FAILED - RETRYING: [dut -> localhost]: Execute local ssh command to check ssh readiness (50 retries left). FAILED - RETRYING: [dut -> localhost]: Execute local ssh command to check ssh readiness (49 retries left). FAILED - RETRYING: [dut -> localhost]: Execute local ssh command to check ssh readiness (48 retries left). FAILED - RETRYING: [dut -> localhost]: Execute local ssh command to check ssh readiness (47 retries left). FAILED - RETRYING: [dut -> localhost]: Execute local ssh command to check ssh readiness (46 retries left). FAILED - RETRYING: [dut -> localhost]: Execute local ssh command to check ssh readiness (45 retries left). FAILED - RETRYING: [dut -> localhost]: Execute local ssh command to check ssh readiness (44 retries left). FAILED - RETRYING: [dut -> localhost]: Execute local ssh command to check ssh readiness (43 retries left). FAILED - RETRYING: [dut -> localhost]: Execute local ssh command to check ssh readiness (42 retries left). ok: [dut -> localhost] TASK [Confirm p1 SSH server works] ********************************************* ok: [p1] => { "msg": "Node p1 is ready." } ok: [dut] => { "msg": "Node dut is ready." } TASK [Find device readiness script] ******************************************** ok: [t_1300] ok: [t_1400] ok: [p1] ok: [dut] TASK [Wait for device to become ready] ***************************************** skipping: [p1] skipping: [t_1300] skipping: [t_1400] included: /home/pipi/netlab_gh/netsim/ansible/tasks/readiness-check/nxos.yml for dut TASK [Wait for Eth1/1 to appear] *********************************************** ok: [dut] TASK [Normalize config on bridge-like devices] ********************************* included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for p1 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for t_1300 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for t_1400 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for dut TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [p1] TASK [Find configuration template for normalize] ******************************* ok: [p1] TASK [fail] ******************************************************************** skipping: [p1] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [p1] TASK [Print deployed configuration when running in verbose mode] *************** ok: [p1] => { "msg": "normalize configuration for p1\n=========================================\n!\ninterface Ethernet1\n shutdown\n" } TASK [Deploy normalize configuration] ****************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/eos.yml for p1 TASK [eos_config: deploying normalize from /work/netlab_cicd/hogs/node_files/p1/normalize] *** [WARNING]: To ensure idempotency and correct diff the input configuration lines should be similar to how they appear if present in the running configuration on device including the indentation [WARNING]: Task result `warnings` was instead of . changed: [p1] TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [t_1300] TASK [Find configuration template for normalize] ******************************* ok: [t_1300] TASK [fail] ******************************************************************** skipping: [t_1300] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [t_1300] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [t_1300] TASK [Deploy normalize configuration] ****************************************** skipping: [t_1300] TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [t_1400] TASK [Find configuration template for normalize] ******************************* ok: [t_1400] TASK [fail] ******************************************************************** skipping: [t_1400] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [t_1400] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [t_1400] TASK [Deploy normalize configuration] ****************************************** skipping: [t_1400] TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [dut] TASK [Find configuration template for normalize] ******************************* ok: [dut] TASK [fail] ******************************************************************** skipping: [dut] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [dut] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [dut] TASK [Deploy normalize configuration] ****************************************** skipping: [dut] TASK [Deploy initial configuration] ******************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for p1 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for t_1300 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for t_1400 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for dut TASK [Figure out whether to deploy the module initial on current device] ******* ok: [p1] TASK [Find configuration template for initial] ********************************* ok: [p1] TASK [fail] ******************************************************************** skipping: [p1] TASK [Find configuration deployment deploy_script for initial] ***************** ok: [p1] TASK [Print deployed configuration when running in verbose mode] *************** ok: [p1] => { "msg": "initial configuration for p1\n=========================================\nhostname p1\n!\nlogging monitor debugging\naaa authorization exec default local\n!\nlldp run\nip routing\nipv6 unicast-routing\n!\n!\nip host dut 10.0.0.1 172.16.0.1 172.16.1.1 172.16.2.1\nip host t1300 172.16.2.3\nip host t1400 172.16.1.4\nipv6 host dut 2001:db8:0:1::1\nipv6 host t1300 2001:db8:1:2::3\nipv6 host t1400 2001:db8:1:1::4\n!\ninterface Management0\n no lldp transmit\n no lldp receive\n!\ninterface Loopback0\n ip address 10.0.0.2/32\n ipv6 nd ra interval 5\n ipv6 address 2001:db8:0:2::1/64\n!\ninterface Ethernet1\n no switchport\n mtu 1500\n description p1 -> dut\n ip address 172.16.0.2/24\n ipv6 nd ra interval 5\n ipv6 address 2001:db8:1::2/64\n mac-address caf0.0002.0001\n!\n no shutdown\n!\n" } TASK [Deploy initial configuration] ******************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/eos.yml for p1 TASK [eos_config: deploying initial from /work/netlab_cicd/hogs/node_files/p1/initial] *** changed: [p1] TASK [Figure out whether to deploy the module initial on current device] ******* ok: [t_1300] TASK [Find configuration template for initial] ********************************* skipping: [t_1300] TASK [fail] ******************************************************************** skipping: [t_1300] TASK [Find configuration deployment deploy_script for initial] ***************** skipping: [t_1300] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [t_1300] TASK [Deploy initial configuration] ******************************************** skipping: [t_1300] TASK [Figure out whether to deploy the module initial on current device] ******* ok: [t_1400] TASK [Find configuration template for initial] ********************************* skipping: [t_1400] TASK [fail] ******************************************************************** skipping: [t_1400] TASK [Find configuration deployment deploy_script for initial] ***************** skipping: [t_1400] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [t_1400] TASK [Deploy initial configuration] ******************************************** skipping: [t_1400] TASK [Figure out whether to deploy the module initial on current device] ******* ok: [dut] TASK [Find configuration template for initial] ********************************* ok: [dut] TASK [fail] ******************************************************************** skipping: [dut] TASK [Find configuration deployment deploy_script for initial] ***************** ok: [dut] TASK [Print deployed configuration when running in verbose mode] *************** ok: [dut] => { "msg": "initial configuration for dut\n=========================================\nhostname dut\n!\nno ip domain-lookup\n!\nfeature lldp\n!\nusername vagrant password vagrant\n!\nip host p1 10.0.0.2\nip host t_1300 172.16.2.3\nip host t_1400 172.16.1.4\n!\n!\ninterface mgmt0\n no lldp transmit\n no lldp receive\n!\ninterface loopback0\n no shutdown\n ip address 10.0.0.1/32\n ipv6 address 2001:db8:0:1::1/64\n ipv6 nd ra-interval 5 min 3\n!\ninterface Ethernet1/1\n no shutdown\n no switchport\n mac-address caf0.0001.0001\n description dut -> p1\n bandwidth 1000\n mtu 1500\n ip address 172.16.0.1/24\n ipv6 address 2001:db8:1::1/64\n ipv6 nd ra-interval 5 min 3\n!\ninterface Ethernet1/2\n no shutdown\n no switchport\n mac-address caf0.0001.0002\n description dut -> t_1400 [stub]\n mtu 1400\n ip address 172.16.1.1/24\n ipv6 address 2001:db8:1:1::1/64\n ipv6 nd ra-interval 5 min 3\n!\ninterface Ethernet1/3\n no shutdown\n no switchport\n mac-address caf0.0001.0003\n description dut -> t_1300 [stub]\n mtu 1300\n ip address 172.16.2.1/24\n ipv6 address 2001:db8:1:2::1/64\n ipv6 nd ra-interval 5 min 3\n!\n" } TASK [Deploy initial configuration] ******************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/nxos.yml for dut TASK [nxos_config: deploying initial from /work/netlab_cicd/hogs/node_files/dut/initial] *** changed: [dut] PLAY [Deploy module-specific configurations] *********************************** TASK [Set variables that cannot be set with VARS] ****************************** ok: [t_1300] ok: [t_1400] ok: [p1] TASK [Deploy individual configuration modules] ********************************* included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for p1 => (item=routing) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for t_1300 => (item=routing) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for t_1400 => (item=routing) TASK [Figure out whether to deploy the module routing on current device] ******* ok: [p1] TASK [Find configuration template for routing] ********************************* ok: [p1] TASK [fail] ******************************************************************** skipping: [p1] TASK [Find configuration deployment deploy_script for routing] ***************** ok: [p1] TASK [Print deployed configuration when running in verbose mode] *************** ok: [p1] => { "msg": "routing configuration for p1\n=========================================\n!\n!\n! Static routes\n!\nip route 0.0.0.0/0 Ethernet1 172.16.0.1\nipv6 route ::/0 Ethernet1 2001:db8:1::1\n" } TASK [Deploy routing configuration] ******************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/eos.yml for p1 TASK [eos_config: deploying routing from /work/netlab_cicd/hogs/node_files/p1/routing] *** changed: [p1] TASK [Figure out whether to deploy the module routing on current device] ******* ok: [t_1300] TASK [Find configuration template for routing] ********************************* skipping: [t_1300] TASK [fail] ******************************************************************** skipping: [t_1300] TASK [Find configuration deployment deploy_script for routing] ***************** skipping: [t_1300] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [t_1300] TASK [Deploy routing configuration] ******************************************** skipping: [t_1300] TASK [Figure out whether to deploy the module routing on current device] ******* ok: [t_1400] TASK [Find configuration template for routing] ********************************* skipping: [t_1400] TASK [fail] ******************************************************************** skipping: [t_1400] TASK [Find configuration deployment deploy_script for routing] ***************** skipping: [t_1400] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [t_1400] TASK [Deploy routing configuration] ******************************************** skipping: [t_1400] PLAY [Deploy custom deployment templates] ************************************** skipping: no hosts matched PLAY RECAP ********************************************************************* dut : ok=19 changed=1 unreachable=0 failed=0 skipped=4 rescued=0 ignored=0 p1 : ok=29 changed=3 unreachable=0 failed=0 skipped=4 rescued=0 ignored=0 t_1300 : ok=11 changed=0 unreachable=0 failed=0 skipped=15 rescued=0 ignored=0 t_1400 : ok=11 changed=0 unreachable=0 failed=0 skipped=15 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 ================================================================================ t_1300 OK: 2 t_1400 OK: 2 This scenario tests MTU configuration and path MTU discovery (generation of ICMP unreachables)