Creating Device 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 Checking Are lab devices ready to be configured? [INFO] Checking SSH server(s) on relay,c1,c2,c3,c4 [SSH] SSH server on node relay (device ioll2) is ready after 9.4 seconds [SSH] SSH server on node c2 (device iol) is ready after 25.5 seconds [SSH] SSH server on node c4 (device iol) is ready after 27.3 seconds [SSH] SSH server on node c3 (device iol) is ready after 27.3 seconds [SSH] SSH server on node c1 (device iol) is ready after 27.4 seconds Config Deploying device configurations [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]: Found variable using reserved name: hosts PLAY [Deploy initial device configuration] ************************************* TASK [Set variables that cannot be set with VARS] ****************************** ok: [relay] ok: [c3] ok: [c1] ok: [c2] ok: [c4] TASK [Normalize config on bridge-like devices] ********************************* included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for relay, c1, c2, c4, c3 TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [relay] ok: [c2] ok: [c1] ok: [c3] ok: [c4] TASK [Find configuration template for normalize] ******************************* ok: [c1] ok: [relay] ok: [c2] ok: [c3] ok: [c4] TASK [fail] ******************************************************************** skipping: [relay] skipping: [c1] skipping: [c2] skipping: [c3] skipping: [c4] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [relay] ok: [c2] ok: [c4] ok: [c1] ok: [c3] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [c1] skipping: [c2] skipping: [c3] skipping: [c4] 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] ****************************************** skipping: [c1] skipping: [c2] skipping: [c3] skipping: [c4] 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 [Deploy initial configuration] ******************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for relay, c1, c2, c3, c4 TASK [Figure out whether to deploy the module initial on current device] ******* ok: [relay] ok: [c1] ok: [c2] ok: [c3] ok: [c4] TASK [Find configuration template for initial] ********************************* ok: [c1] ok: [c2] ok: [relay] ok: [c3] ok: [c4] TASK [fail] ******************************************************************** skipping: [relay] skipping: [c1] skipping: [c2] skipping: [c3] skipping: [c4] TASK [Find configuration deployment deploy_script for initial] ***************** ok: [relay] ok: [c2] ok: [c4] ok: [c1] ok: [c3] 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" } 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" } 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" } 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" } 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 relay, c1, c2, c3, c4 TASK [ios_config: deploying initial from /work/netlab_cicd/node_files/relay/initial] *** changed: [c4] changed: [c1] changed: [c2] changed: [c3] changed: [relay] PLAY [Deploy module-specific configurations] *********************************** TASK [Set variables that cannot be set with VARS] ****************************** ok: [c1] ok: [relay] ok: [c2] ok: [c3] ok: [c4] TASK [Deploy individual configuration modules] ********************************* included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for relay, c1, c2, c3, c4 => (item=dhcp) TASK [Figure out whether to deploy the module dhcp on current device] ********** ok: [relay] ok: [c3] ok: [c1] ok: [c4] ok: [c2] TASK [Find configuration template for dhcp] ************************************ ok: [c1] ok: [c2] ok: [relay] ok: [c3] ok: [c4] TASK [fail] ******************************************************************** skipping: [relay] skipping: [c1] skipping: [c2] skipping: [c3] skipping: [c4] TASK [Find configuration deployment deploy_script for dhcp] ******************** ok: [relay] ok: [c3] ok: [c1] ok: [c2] ok: [c4] 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" } 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" } ok: [c2] => { "msg": "dhcp configuration for c2\n=========================================\ninterface Ethernet0/1\n ipv6 enable\n ipv6 address dhcp\n" } ok: [c3] => { "msg": "dhcp configuration for c3\n=========================================\ninterface Ethernet0/1\n ipv6 enable\n ipv6 address dhcp\n" } 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 relay, c2, c1, c3, c4 TASK [ios_config: deploying dhcp from /work/netlab_cicd/node_files/relay/dhcp] *** changed: [c2] changed: [c3] changed: [c4] changed: [c1] changed: [relay] PLAY [Deploy custom deployment templates] ************************************** skipping: no hosts matched PLAY RECAP ********************************************************************* c1 : ok=20 changed=2 unreachable=0 failed=0 skipped=5 rescued=0 ignored=0 c2 : ok=20 changed=2 unreachable=0 failed=0 skipped=5 rescued=0 ignored=0 c3 : ok=20 changed=2 unreachable=0 failed=0 skipped=5 rescued=0 ignored=0 c4 : ok=20 changed=2 unreachable=0 failed=0 skipped=5 rescued=0 ignored=0 relay : ok=23 changed=3 unreachable=0 failed=0 skipped=3 rescued=0 ignored=0 Results of configuration script deployments ================================================================================ s1 Script: initial s2 Script: initial 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.