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] h1: initial [CREATED] h2: initial [CREATED] r1: initial,eigrp [CREATED] r2: initial,eigrp [INFO] Executing initial configuration for node h1 (namespace clab- ml_17-h1) [INFO] Executing initial configuration for node h2 (namespace clab- ml_17-h2) [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: [r1] ok: [r2] TASK [Generic readiness tests] ************************************************* skipping: [r1] skipping: [h1] skipping: [h2] included: /home/pipi/netlab_gh/netsim/ansible/tasks/readiness-check/ssh.yml for r2 => (item=ssh) TASK [Check if 'sshpass' is installed] ***************************************** ok: [r2 -> localhost] TASK [Check for 'timeout' command] ********************************************* ok: [r2 -> localhost] TASK [Execute local ssh command to check ssh readiness] ************************ FAILED - RETRYING: [r2 -> localhost]: Execute local ssh command to check ssh readiness (20 retries left). FAILED - RETRYING: [r2 -> localhost]: Execute local ssh command to check ssh readiness (19 retries left). ok: [r2 -> localhost] TASK [Confirm r2 SSH server works] ********************************************* ok: [r2] => { "msg": "Node r2 is ready." } TASK [Find device readiness script] ******************************************** ok: [h1] ok: [h2] ok: [r1] ok: [r2] TASK [Wait for device to become ready] ***************************************** skipping: [r1] skipping: [r2] skipping: [h1] skipping: [h2] TASK [Normalize config on bridge-like devices] ********************************* included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for r1 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for r2 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 TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [r1] TASK [Find configuration template for normalize] ******************************* ok: [r1] TASK [fail] ******************************************************************** skipping: [r1] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [r1] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [r1] TASK [Deploy normalize configuration] ****************************************** skipping: [r1] TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [r2] TASK [Find configuration template for normalize] ******************************* ok: [r2] TASK [fail] ******************************************************************** skipping: [r2] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [r2] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [r2] TASK [Deploy normalize configuration] ****************************************** skipping: [r2] 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 [Deploy initial configuration] ******************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for r1 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for r2 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 TASK [Figure out whether to deploy the module initial on current device] ******* ok: [r1] TASK [Find configuration template for initial] ********************************* ok: [r1] TASK [fail] ******************************************************************** skipping: [r1] TASK [Find configuration deployment deploy_script for initial] ***************** ok: [r1] TASK [Print deployed configuration when running in verbose mode] *************** ok: [r1] => { "msg": "initial configuration for r1\n=========================================\nhostname r1\n!\nno ip domain lookup\nlogging buffered 256000\n\n!\nlldp run\n!\nip host h1 2001:db8:1::1\nip host h2 2001:db8:1:1::2\nip host r2 2001:db8:0:4::1 2001:db8:1:1::4\n!\nip routing\n!\nipv6 unicast-routing\n!\n!\ninterface Loopback0\n ipv6 address 2001:DB8:0:3::1/64\n!\ninterface GigabitEthernet1\n no lldp transmit\n no lldp receive\n!\ninterface GigabitEthernet2\n description r1 -> h1 [stub]\n ipv6 nd ra interval 5\n ipv6 address 2001:DB8:1::3/64\n no shutdown\n!\ninterface GigabitEthernet3\n description r1 -> r2\n ipv6 nd ra interval 5\n ipv6 enable\n no shutdown\n!\n!\nline vty 0 4\n exec-timeout 0 0 \n!\nno banner exec\nno banner login\nno banner incoming\n" } TASK [Deploy initial configuration] ******************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/ios.yml for r1 TASK [ios_config: deploying initial from /work/netlab_cicd/node_files/r1/initial] *** [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 changed: [r1] TASK [Figure out whether to deploy the module initial on current device] ******* ok: [r2] TASK [Find configuration template for initial] ********************************* ok: [r2] TASK [fail] ******************************************************************** skipping: [r2] TASK [Find configuration deployment deploy_script for initial] ***************** ok: [r2] TASK [Print deployed configuration when running in verbose mode] *************** ok: [r2] => { "msg": "initial configuration for r2\n=========================================\nhostname r2\n!\nno ip domain lookup\nlogging buffered 256000\n\n!\nlldp run\n!\nip host h1 2001:db8:1::1\nip host h2 2001:db8:1:1::2\nip host r1 2001:db8:0:3::1 2001:db8:1::3\n!\nip routing\n!\nipv6 unicast-routing\n!\n!\ninterface Loopback0\n ipv6 address 2001:DB8:0:4::1/64\n!\ninterface Ethernet0/0\n no lldp transmit\n no lldp receive\n!\ninterface Ethernet0/1\n description r2 -> r1\n ipv6 nd ra interval 5\n ipv6 enable\n no shutdown\n!\ninterface Ethernet0/2\n description r2 -> h2 [stub]\n ipv6 nd ra interval 5\n ipv6 address 2001:DB8:1:1::4/64\n no shutdown\n!\n!\nline vty 0 4\n exec-timeout 0 0 \n!\nno banner exec\nno banner login\nno banner incoming\n" } TASK [Deploy initial configuration] ******************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/ios.yml for r2 TASK [ios_config: deploying initial from /work/netlab_cicd/node_files/r2/initial] *** changed: [r2] 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] PLAY [Deploy module-specific configurations] *********************************** TASK [Set variables that cannot be set with VARS] ****************************** ok: [r1] ok: [r2] TASK [Deploy individual configuration modules] ********************************* included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for r1 => (item=eigrp) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for r2 => (item=eigrp) TASK [Figure out whether to deploy the module eigrp on current device] ********* ok: [r1] TASK [Find configuration template for eigrp] *********************************** ok: [r1] TASK [fail] ******************************************************************** skipping: [r1] TASK [Find configuration deployment deploy_script for eigrp] ******************* ok: [r1] TASK [Print deployed configuration when running in verbose mode] *************** ok: [r1] => { "msg": "eigrp configuration for r1\n=========================================\nipv6 router eigrp 2\n eigrp router-id 10.0.0.3\n\n passive-interface GigabitEthernet2\n!\ninterface Loopback0\n ipv6 eigrp 2\n!\ninterface GigabitEthernet2\n ipv6 eigrp 2\n!\ninterface GigabitEthernet3\n ipv6 eigrp 2\n!\n" } TASK [Deploy eigrp configuration] ********************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/ios.yml for r1 TASK [ios_config: deploying eigrp from /work/netlab_cicd/node_files/r1/eigrp] *** changed: [r1] TASK [Figure out whether to deploy the module eigrp on current device] ********* ok: [r2] TASK [Find configuration template for eigrp] *********************************** ok: [r2] TASK [fail] ******************************************************************** skipping: [r2] TASK [Find configuration deployment deploy_script for eigrp] ******************* ok: [r2] TASK [Print deployed configuration when running in verbose mode] *************** ok: [r2] => { "msg": "eigrp configuration for r2\n=========================================\nipv6 router eigrp 2\n eigrp router-id 10.0.0.4\n\n passive-interface Ethernet0/2\n!\ninterface Loopback0\n ipv6 eigrp 2\n!\ninterface Ethernet0/1\n ipv6 eigrp 2\n!\ninterface Ethernet0/2\n ipv6 eigrp 2\n!\n" } TASK [Deploy eigrp configuration] ********************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/ios.yml for r2 TASK [ios_config: deploying eigrp from /work/netlab_cicd/node_files/r2/eigrp] *** changed: [r2] PLAY [Deploy custom deployment templates] ************************************** skipping: no hosts matched PLAY RECAP ********************************************************************* h1 : ok=8 changed=0 unreachable=0 failed=0 skipped=10 rescued=0 ignored=0 h2 : ok=8 changed=0 unreachable=0 failed=0 skipped=10 rescued=0 ignored=0 r1 : ok=21 changed=2 unreachable=0 failed=0 skipped=7 rescued=0 ignored=0 r2 : ok=26 changed=2 unreachable=0 failed=0 skipped=6 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: 1 h2 OK: 1