[WARNING]: Could not match supplied host pattern, ignoring: unprovisioned [WARNING]: Found variable using reserved name: hosts PLAY [Deploy initial device configuration] ************************************* TASK [Set variables that cannot be set with VARS] ****************************** ok: [server] ok: [c1] ok: [c2] TASK [Find device readiness script] ******************************************** ok: [server] ok: [c1] ok: [c2] TASK [Wait for device to become ready] ***************************************** skipping: [c1] skipping: [c2] skipping: [server] TASK [Normalize config on bridge-like devices] ********************************* included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-module.yml for c1, c2, server TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [server] ok: [c1] ok: [c2] TASK [Find configuration template for normalize] ******************************* ok: [server] ok: [c1] ok: [c2] TASK [fail] ******************************************************************** skipping: [c1] skipping: [c2] skipping: [server] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [server] ok: [c1] ok: [c2] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [c1] skipping: [c2] skipping: [server] TASK [Deploy normalize configuration] ****************************************** skipping: [c1] skipping: [c2] skipping: [server] TASK [Deploy initial configuration] ******************************************** included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-module.yml for c1, c2, server TASK [Figure out whether to deploy the module initial on current device] ******* ok: [server] ok: [c1] ok: [c2] TASK [Find configuration template for initial] ********************************* ok: [server] ok: [c1] ok: [c2] TASK [fail] ******************************************************************** skipping: [c1] skipping: [c2] skipping: [server] TASK [Find configuration deployment deploy_script for initial] ***************** ok: [server] ok: [c1] ok: [c2] TASK [Print deployed configuration when running in verbose mode] *************** ok: [server] => msg: |- initial configuration for server ========================================= #!/bin/bash # # This script contains the 'ip' commands needed to set up container # interfaces and route table. It's executed within the container # network namespace on the container host. # # /etc/hosts file is generated as a clab bind. # set -e ### One-Shot configuration (non-Ubuntu VM or container) # # Send ARP requests from a sane source IP address sysctl -w net.ipv4.conf.all.arp_announce=2 # # Disable IPv4 and IPv6 forwarding # sysctl -w net.ipv4.ip_forward=0 sysctl -w net.ipv6.conf.all.forwarding=0 # # Interface addressing, create any bond devices # ip link set dev eth1 up set +e ip addr del 172.16.0.3/24 dev eth1 2>/dev/null set -e ip addr add 172.16.0.3/24 dev eth1 sysctl -w net.ipv6.conf.eth1.disable_ipv6=1 ip link set dev eth1 mtu 1500 ok: [c2] => msg: |- initial configuration for c2 ========================================= hostname c2 ! no ip domain lookup ! lldp run ! ip host c1 10.0.0.1 ip host server 172.16.0.3 ! ip routing ! no ipv6 unicast-routing ! ! interface Loopback0 ip address 10.0.0.2 255.255.255.255 ! interface GigabitEthernet1 no lldp transmit no lldp receive ! interface GigabitEthernet2 description c2 -> [c1,server] no shutdown ! ! line vty 0 4 exec-timeout 0 0 ! no banner exec no banner login no banner incoming ok: [c1] => msg: |- initial configuration for c1 ========================================= hostname c1 ! no ip domain lookup ! lldp run ! ip host c2 10.0.0.2 ip host server 172.16.0.3 ! ip routing ! no ipv6 unicast-routing ! ! interface Loopback0 ip address 10.0.0.1 255.255.255.255 ! interface GigabitEthernet1 no lldp transmit no lldp receive ! interface GigabitEthernet2 description c1 -> [c2,server] no shutdown ! ! line vty 0 4 exec-timeout 0 0 ! no banner exec no banner login no banner incoming TASK [Deploy initial configuration] ******************************************** included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-config/ios.yml for c1, c2 included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-config/linux-clab.yml for server TASK [ios_config: deploying initial from /home/pipi/net101/tools/netsim/ansible/templates/initial/ios.j2] *** [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: [c2] changed: [c1] TASK [Define script filename and determine whether to execute in netns] ******** ok: [server] TASK [Create a temporary file for the rendered script] ************************* changed: [server -> localhost] TASK [Create container setup script from /home/pipi/net101/tools/netsim/ansible/templates/initial/linux-clab.j2] *** changed: [server -> localhost] TASK [Copy script into running container at /tmp/config-server_initial.sh] ***** skipping: [server] TASK [Execute /tmp/config-server_initial.sh to deploy initial config based on /home/pipi/net101/tools/netsim/ansible/templates/initial/linux-clab.j2] *** skipping: [server] TASK [Container configuration for initial based on /home/pipi/net101/tools/netsim/ansible/templates/initial/linux-clab.j2 executed in netns] *** changed: [server -> localhost] TASK [Remove temporary file /tmp/server_initial-lkr9mpcb.sh] ******************* changed: [server -> localhost] PLAY [Deploy module-specific configurations] *********************************** TASK [Set variables that cannot be set with VARS] ****************************** ok: [server] ok: [c1] ok: [c2] TASK [Deploy individual configuration modules] ********************************* included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-module.yml for c1, c2, server => (item=dhcp) included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-module.yml for c1, c2, server => (item=routing) TASK [Figure out whether to deploy the module dhcp on current device] ********** ok: [server] ok: [c1] ok: [c2] TASK [Find configuration template for dhcp] ************************************ skipping: [server] ok: [c1] ok: [c2] TASK [fail] ******************************************************************** skipping: [c1] skipping: [c2] skipping: [server] TASK [Find configuration deployment deploy_script for dhcp] ******************** skipping: [server] ok: [c1] ok: [c2] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [server] ok: [c1] => msg: |- dhcp configuration for c1 ========================================= interface GigabitEthernet2 ip address dhcp ok: [c2] => msg: |- dhcp configuration for c2 ========================================= interface GigabitEthernet2 no ip dhcp client request router ip address dhcp TASK [Deploy dhcp configuration] *********************************************** skipping: [server] included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-config/ios.yml for c1, c2 TASK [ios_config: deploying dhcp from /home/pipi/net101/tools/netsim/ansible/templates/dhcp/ios.j2] *** changed: [c1] changed: [c2] TASK [Figure out whether to deploy the module routing on current device] ******* ok: [server] ok: [c1] ok: [c2] TASK [Find configuration template for routing] ********************************* skipping: [c1] skipping: [c2] ok: [server] TASK [fail] ******************************************************************** skipping: [c1] skipping: [c2] skipping: [server] TASK [Find configuration deployment deploy_script for routing] ***************** skipping: [c1] skipping: [c2] ok: [server] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [c1] skipping: [c2] ok: [server] => msg: |- routing configuration for server ========================================= #!/bin/bash # # Add static routes (usually IPv4 routes pointing to the first usable gateway) # # # # # # # Print the final routing table ip route TASK [Deploy routing configuration] ******************************************** skipping: [c1] skipping: [c2] included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-config/linux-clab.yml for server TASK [Define script filename and determine whether to execute in netns] ******** ok: [server] TASK [Create a temporary file for the rendered script] ************************* changed: [server -> localhost] TASK [Create container setup script from /home/pipi/net101/tools/netsim/ansible/templates/routing/linux-clab.j2] *** changed: [server -> localhost] TASK [Copy script into running container at /tmp/config-server_routing.sh] ***** skipping: [server] TASK [Execute /tmp/config-server_routing.sh to deploy routing config based on /home/pipi/net101/tools/netsim/ansible/templates/routing/linux-clab.j2] *** skipping: [server] TASK [Container configuration for routing based on /home/pipi/net101/tools/netsim/ansible/templates/routing/linux-clab.j2 executed in netns] *** changed: [server -> localhost] TASK [Remove temporary file /tmp/server_routing-gt35tkqp.sh] ******************* changed: [server -> localhost] PLAY [Deploy custom deployment templates] ************************************** skipping: no hosts matched PLAY RECAP ********************************************************************* c1 : ok=23 changed=2 unreachable=0 failed=0 skipped=11 rescued=0 ignored=0 c2 : ok=23 changed=2 unreachable=0 failed=0 skipped=11 rescued=0 ignored=0 server : ok=31 changed=8 unreachable=0 failed=0 skipped=15 rescued=0 ignored=0 Use this topology to test the DHCPv4 client on your device. Use 'netlab validate' to check whether your devices requested DHCP leases from the DHCP server. If your client suppors configurable 'router option' requests to generate a default route, check that C1 has a default route but C2 does not.