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] relay: normalize,initial,dhcp [CREATED] c1: initial,dhcp [CREATED] c2: initial,dhcp [CREATED] c3: initial,dhcp [CREATED] c4: initial,dhcp [CREATED] s1: initial,dhcp [CREATED] s2: initial,dhcp [INFO] Executing initial configuration for node s1 (namespace clab- ml_17-s1) [INFO] Executing initial configuration for node s2 (namespace clab- ml_17-s2) [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: [s1] ok: [s2] ok: [relay] ok: [c1] ok: [c2] ok: [c3] ok: [c4] TASK [Generic readiness tests] ************************************************* skipping: [s1] skipping: [s2] included: /home/pipi/netlab_gh/netsim/ansible/tasks/readiness-check/ssh.yml for relay, c1, c2, c3, c4 => (item=ssh) TASK [Check if 'sshpass' is installed] ***************************************** ok: [relay -> localhost] TASK [Check for 'timeout' command] ********************************************* ok: [relay -> localhost] ok: [c1 -> localhost] ok: [c2 -> localhost] ok: [c3 -> localhost] ok: [c4 -> localhost] TASK [Execute local ssh command to check ssh readiness] ************************ ok: [relay -> localhost] FAILED - RETRYING: [c2 -> localhost]: Execute local ssh command to check ssh readiness (20 retries left). FAILED - RETRYING: [c1 -> localhost]: Execute local ssh command to check ssh readiness (20 retries left). FAILED - RETRYING: [c3 -> localhost]: Execute local ssh command to check ssh readiness (20 retries left). FAILED - RETRYING: [c4 -> localhost]: Execute local ssh command to check ssh readiness (20 retries left). FAILED - RETRYING: [c1 -> localhost]: Execute local ssh command to check ssh readiness (19 retries left). FAILED - RETRYING: [c2 -> localhost]: Execute local ssh command to check ssh readiness (19 retries left). FAILED - RETRYING: [c3 -> localhost]: Execute local ssh command to check ssh readiness (19 retries left). FAILED - RETRYING: [c4 -> localhost]: Execute local ssh command to check ssh readiness (19 retries left). ok: [c2 -> localhost] ok: [c3 -> localhost] ok: [c1 -> localhost] ok: [c4 -> localhost] TASK [Confirm relay SSH server works] ****************************************** ok: [relay] => { "msg": "Node relay is ready." } ok: [c1] => { "msg": "Node c1 is ready." } ok: [c2] => { "msg": "Node c2 is ready." } ok: [c3] => { "msg": "Node c3 is ready." } ok: [c4] => { "msg": "Node c4 is ready." } TASK [Find device readiness script] ******************************************** ok: [s1] ok: [s2] ok: [relay] ok: [c1] ok: [c2] ok: [c3] ok: [c4] TASK [Wait for device to become ready] ***************************************** skipping: [relay] skipping: [c1] skipping: [c2] skipping: [c3] skipping: [c4] skipping: [s1] skipping: [s2] TASK [Normalize config on bridge-like devices] ********************************* included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for relay included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for c1 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for c2 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for c3 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for c4 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 TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [relay] TASK [Find configuration template for normalize] ******************************* ok: [relay] TASK [fail] ******************************************************************** skipping: [relay] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [relay] TASK [Print deployed configuration when running in verbose mode] *************** ok: [relay] => { "msg": "normalize configuration for relay\n=========================================\n!\ninterface Ethernet0/1\n shutdown\n!\ninterface Ethernet0/2\n shutdown\n!\ninterface Ethernet0/3\n shutdown\n!\ninterface Ethernet1/0\n shutdown\n" } TASK [Deploy normalize configuration] ****************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/ios.yml for relay TASK [ios_config: deploying normalize from /work/netlab_cicd/node_files/relay/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 changed: [relay] TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [c1] TASK [Find configuration template for normalize] ******************************* ok: [c1] TASK [fail] ******************************************************************** skipping: [c1] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [c1] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [c1] TASK [Deploy normalize configuration] ****************************************** skipping: [c1] TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [c2] TASK [Find configuration template for normalize] ******************************* ok: [c2] TASK [fail] ******************************************************************** skipping: [c2] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [c2] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [c2] TASK [Deploy normalize configuration] ****************************************** skipping: [c2] TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [c3] TASK [Find configuration template for normalize] ******************************* ok: [c3] TASK [fail] ******************************************************************** skipping: [c3] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [c3] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [c3] TASK [Deploy normalize configuration] ****************************************** skipping: [c3] TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [c4] TASK [Find configuration template for normalize] ******************************* ok: [c4] TASK [fail] ******************************************************************** skipping: [c4] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [c4] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [c4] TASK [Deploy normalize configuration] ****************************************** skipping: [c4] 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 [Deploy initial configuration] ******************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for relay included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for c1 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for c2 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for c3 included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for c4 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 TASK [Figure out whether to deploy the module initial on current device] ******* ok: [relay] TASK [Find configuration template for initial] ********************************* ok: [relay] TASK [fail] ******************************************************************** skipping: [relay] TASK [Find configuration deployment deploy_script for initial] ***************** ok: [relay] TASK [Print deployed configuration when running in verbose mode] *************** ok: [relay] => { "msg": "initial configuration for relay\n=========================================\nhostname relay\n!\nno ip domain lookup\nlogging buffered 256000\n\n!\nlldp run\n!\nip host c1 10.0.0.2\nip host c2 10.0.0.3\nip host c3 10.0.0.4\nip host c4 10.0.0.5\n!\nip routing\n!\nipv6 unicast-routing\n!\n!\ninterface Loopback0\n ip address 10.0.0.1 255.255.255.255\n!\ninterface Ethernet0/0\n no lldp transmit\n no lldp receive\n!\ninterface Ethernet0/1\n no switchport\n description relay -> [c1,c2]\n ipv6 mtu 1500\n ipv6 nd ra interval 5\n ipv6 address 2001:DB8:CAFE::1/64\n mac-address caf0.0001.0001\n no shutdown\n!\ninterface Ethernet0/2\n no switchport\n description relay -> [c3,c4]\n ipv6 mtu 1500\n ipv6 nd ra interval 5\n ipv6 address 2001:DB8:CAFE:1::1/64\n mac-address caf0.0001.0002\n no shutdown\n!\ninterface Ethernet0/3\n no switchport\n description relay -> s1\n ipv6 mtu 1500\n ipv6 nd ra interval 5\n ipv6 address 2001:DB8:CAFE:2::1/64\n mac-address caf0.0001.0003\n no shutdown\n!\ninterface Ethernet1/0\n no switchport\n description relay -> s2\n ipv6 mtu 1500\n ipv6 nd ra interval 5\n ipv6 address 2001:DB8:CAFE:3::1/64\n mac-address caf0.0001.0004\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 relay TASK [ios_config: deploying initial from /work/netlab_cicd/node_files/relay/initial] *** changed: [relay] TASK [Figure out whether to deploy the module initial on current device] ******* ok: [c1] TASK [Find configuration template for initial] ********************************* ok: [c1] TASK [fail] ******************************************************************** skipping: [c1] TASK [Find configuration deployment deploy_script for initial] ***************** ok: [c1] TASK [Print deployed configuration when running in verbose mode] *************** ok: [c1] => { "msg": "initial configuration for c1\n=========================================\nhostname c1\n!\nno ip domain lookup\nlogging buffered 256000\n\n!\nlldp run\n!\nip host c2 10.0.0.3\nip host c3 10.0.0.4\nip host c4 10.0.0.5\nip host relay 10.0.0.1 2001:db8:cafe::1 2001:db8:cafe:1::1 2001:db8:cafe:2::1 2001:db8:cafe:3::1\nip host s1 2001:db8:cafe:2::6\nip host s2 2001:db8:cafe:3::7\n!\nip routing\n!\nipv6 unicast-routing\n!\n!\ninterface Loopback0\n ip address 10.0.0.2 255.255.255.255\n!\ninterface Ethernet0/0\n no lldp transmit\n no lldp receive\n!\ninterface Ethernet0/1\n description c1 -> [c2,relay]\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 c1 TASK [ios_config: deploying initial from /work/netlab_cicd/node_files/c1/initial] *** changed: [c1] TASK [Figure out whether to deploy the module initial on current device] ******* ok: [c2] TASK [Find configuration template for initial] ********************************* ok: [c2] TASK [fail] ******************************************************************** skipping: [c2] TASK [Find configuration deployment deploy_script for initial] ***************** ok: [c2] TASK [Print deployed configuration when running in verbose mode] *************** ok: [c2] => { "msg": "initial configuration for c2\n=========================================\nhostname c2\n!\nno ip domain lookup\nlogging buffered 256000\n\n!\nlldp run\n!\nip host c1 10.0.0.2\nip host c3 10.0.0.4\nip host c4 10.0.0.5\nip host relay 10.0.0.1 2001:db8:cafe::1 2001:db8:cafe:1::1 2001:db8:cafe:2::1 2001:db8:cafe:3::1\nip host s1 2001:db8:cafe:2::6\nip host s2 2001:db8:cafe:3::7\n!\nip routing\n!\nipv6 unicast-routing\n!\n!\ninterface Loopback0\n ip address 10.0.0.3 255.255.255.255\n!\ninterface Ethernet0/0\n no lldp transmit\n no lldp receive\n!\ninterface Ethernet0/1\n description c2 -> [c1,relay]\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 c2 TASK [ios_config: deploying initial from /work/netlab_cicd/node_files/c2/initial] *** changed: [c2] TASK [Figure out whether to deploy the module initial on current device] ******* ok: [c3] TASK [Find configuration template for initial] ********************************* ok: [c3] TASK [fail] ******************************************************************** skipping: [c3] TASK [Find configuration deployment deploy_script for initial] ***************** ok: [c3] TASK [Print deployed configuration when running in verbose mode] *************** ok: [c3] => { "msg": "initial configuration for c3\n=========================================\nhostname c3\n!\nno ip domain lookup\nlogging buffered 256000\n\n!\nlldp run\n!\nip host c1 10.0.0.2\nip host c2 10.0.0.3\nip host c4 10.0.0.5\nip host relay 10.0.0.1 2001:db8:cafe::1 2001:db8:cafe:1::1 2001:db8:cafe:2::1 2001:db8:cafe:3::1\nip host s1 2001:db8:cafe:2::6\nip host s2 2001:db8:cafe:3::7\n!\nip routing\n!\nipv6 unicast-routing\n!\n!\ninterface Loopback0\n ip address 10.0.0.4 255.255.255.255\n!\ninterface Ethernet0/0\n no lldp transmit\n no lldp receive\n!\ninterface Ethernet0/1\n description c3 -> [c4,relay]\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 c3 TASK [ios_config: deploying initial from /work/netlab_cicd/node_files/c3/initial] *** changed: [c3] TASK [Figure out whether to deploy the module initial on current device] ******* ok: [c4] TASK [Find configuration template for initial] ********************************* ok: [c4] TASK [fail] ******************************************************************** skipping: [c4] TASK [Find configuration deployment deploy_script for initial] ***************** ok: [c4] TASK [Print deployed configuration when running in verbose mode] *************** ok: [c4] => { "msg": "initial configuration for c4\n=========================================\nhostname c4\n!\nno ip domain lookup\nlogging buffered 256000\n\n!\nlldp run\n!\nip host c1 10.0.0.2\nip host c2 10.0.0.3\nip host c3 10.0.0.4\nip host relay 10.0.0.1 2001:db8:cafe::1 2001:db8:cafe:1::1 2001:db8:cafe:2::1 2001:db8:cafe:3::1\nip host s1 2001:db8:cafe:2::6\nip host s2 2001:db8:cafe:3::7\n!\nip routing\n!\nipv6 unicast-routing\n!\n!\ninterface Loopback0\n ip address 10.0.0.5 255.255.255.255\n!\ninterface Ethernet0/0\n no lldp transmit\n no lldp receive\n!\ninterface Ethernet0/1\n description c4 -> [c3,relay]\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 c4 TASK [ios_config: deploying initial from /work/netlab_cicd/node_files/c4/initial] *** changed: [c4] TASK [Figure out whether to deploy the module initial on current device] ******* ok: [s1] TASK [Find configuration template for initial] ********************************* skipping: [s1] TASK [fail] ******************************************************************** skipping: [s1] TASK [Find configuration deployment deploy_script for initial] ***************** skipping: [s1] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [s1] TASK [Deploy initial configuration] ******************************************** skipping: [s1] TASK [Figure out whether to deploy the module initial on current device] ******* ok: [s2] TASK [Find configuration template for initial] ********************************* skipping: [s2] TASK [fail] ******************************************************************** skipping: [s2] TASK [Find configuration deployment deploy_script for initial] ***************** skipping: [s2] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [s2] TASK [Deploy initial configuration] ******************************************** skipping: [s2] PLAY [Deploy module-specific configurations] *********************************** TASK [Set variables that cannot be set with VARS] ****************************** ok: [s1] ok: [s2] ok: [relay] ok: [c1] ok: [c2] ok: [c3] ok: [c4] TASK [Deploy individual configuration modules] ********************************* included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for relay => (item=dhcp) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for c1 => (item=dhcp) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for c2 => (item=dhcp) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for c3 => (item=dhcp) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for c4 => (item=dhcp) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for s1 => (item=dhcp) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for s2 => (item=dhcp) TASK [Figure out whether to deploy the module dhcp on current device] ********** ok: [relay] TASK [Find configuration template for dhcp] ************************************ ok: [relay] TASK [fail] ******************************************************************** skipping: [relay] TASK [Find configuration deployment deploy_script for dhcp] ******************** ok: [relay] TASK [Print deployed configuration when running in verbose mode] *************** ok: [relay] => { "msg": "dhcp configuration for relay\n=========================================\ninterface Ethernet0/1\n ipv6 dhcp relay destination 2001:db8:cafe:2::6\ninterface Ethernet0/2\n ipv6 dhcp relay destination 2001:db8:cafe:3::7\n" } TASK [Deploy dhcp configuration] *********************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/ios.yml for relay TASK [ios_config: deploying dhcp from /work/netlab_cicd/node_files/relay/dhcp] *** changed: [relay] TASK [Figure out whether to deploy the module dhcp on current device] ********** ok: [c1] TASK [Find configuration template for dhcp] ************************************ ok: [c1] TASK [fail] ******************************************************************** skipping: [c1] TASK [Find configuration deployment deploy_script for dhcp] ******************** ok: [c1] TASK [Print deployed configuration when running in verbose mode] *************** ok: [c1] => { "msg": "dhcp configuration for c1\n=========================================\ninterface Ethernet0/1\n ipv6 enable\n ipv6 address dhcp\n" } TASK [Deploy dhcp configuration] *********************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/ios.yml for c1 TASK [ios_config: deploying dhcp from /work/netlab_cicd/node_files/c1/dhcp] **** changed: [c1] TASK [Figure out whether to deploy the module dhcp on current device] ********** ok: [c2] TASK [Find configuration template for dhcp] ************************************ ok: [c2] TASK [fail] ******************************************************************** skipping: [c2] TASK [Find configuration deployment deploy_script for dhcp] ******************** ok: [c2] TASK [Print deployed configuration when running in verbose mode] *************** ok: [c2] => { "msg": "dhcp configuration for c2\n=========================================\ninterface Ethernet0/1\n ipv6 enable\n ipv6 address dhcp\n" } TASK [Deploy dhcp configuration] *********************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/ios.yml for c2 TASK [ios_config: deploying dhcp from /work/netlab_cicd/node_files/c2/dhcp] **** changed: [c2] TASK [Figure out whether to deploy the module dhcp on current device] ********** ok: [c3] TASK [Find configuration template for dhcp] ************************************ ok: [c3] TASK [fail] ******************************************************************** skipping: [c3] TASK [Find configuration deployment deploy_script for dhcp] ******************** ok: [c3] TASK [Print deployed configuration when running in verbose mode] *************** ok: [c3] => { "msg": "dhcp configuration for c3\n=========================================\ninterface Ethernet0/1\n ipv6 enable\n ipv6 address dhcp\n" } TASK [Deploy dhcp configuration] *********************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/ios.yml for c3 TASK [ios_config: deploying dhcp from /work/netlab_cicd/node_files/c3/dhcp] **** changed: [c3] TASK [Figure out whether to deploy the module dhcp on current device] ********** ok: [c4] TASK [Find configuration template for dhcp] ************************************ ok: [c4] TASK [fail] ******************************************************************** skipping: [c4] TASK [Find configuration deployment deploy_script for dhcp] ******************** ok: [c4] TASK [Print deployed configuration when running in verbose mode] *************** ok: [c4] => { "msg": "dhcp configuration for c4\n=========================================\ninterface Ethernet0/1\n ipv6 enable\n ipv6 address dhcp\n" } TASK [Deploy dhcp configuration] *********************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/ios.yml for c4 TASK [ios_config: deploying dhcp from /work/netlab_cicd/node_files/c4/dhcp] **** changed: [c4] TASK [Figure out whether to deploy the module dhcp on current device] ********** ok: [s1] TASK [Find configuration template for dhcp] ************************************ skipping: [s1] TASK [fail] ******************************************************************** skipping: [s1] TASK [Find configuration deployment deploy_script for dhcp] ******************** skipping: [s1] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [s1] TASK [Deploy dhcp configuration] *********************************************** skipping: [s1] TASK [Figure out whether to deploy the module dhcp on current device] ********** ok: [s2] TASK [Find configuration template for dhcp] ************************************ skipping: [s2] TASK [fail] ******************************************************************** skipping: [s2] TASK [Find configuration deployment deploy_script for dhcp] ******************** skipping: [s2] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [s2] TASK [Deploy dhcp configuration] *********************************************** skipping: [s2] PLAY [Deploy custom deployment templates] ************************************** skipping: no hosts matched PLAY RECAP ********************************************************************* c1 : ok=25 changed=2 unreachable=0 failed=0 skipped=6 rescued=0 ignored=0 c2 : ok=25 changed=2 unreachable=0 failed=0 skipped=6 rescued=0 ignored=0 c3 : ok=25 changed=2 unreachable=0 failed=0 skipped=6 rescued=0 ignored=0 c4 : ok=25 changed=2 unreachable=0 failed=0 skipped=6 rescued=0 ignored=0 relay : ok=29 changed=3 unreachable=0 failed=0 skipped=4 rescued=0 ignored=0 s1 : ok=11 changed=0 unreachable=0 failed=0 skipped=15 rescued=0 ignored=0 s2 : 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 ================================================================================ s1 OK: 1 s2 OK: 1 Use this topology to test the DHCPv6 relay functionality of your device. Use 'netlab validate' to check whether your device propagated DHCPv6 requests from DHCP clients to DHCP servers.