[WARNING]: Could not match supplied host pattern, ignoring: unprovisioned PLAY [Deploy initial device configuration] ************************************* TASK [Set variables that cannot be set with VARS] ****************************** ok: [h1] ok: [h2] ok: [h3] ok: [h5] ok: [h4] ok: [h6] ok: [s2] ok: [s1] ok: [s3] TASK [Find device readiness script] ******************************************** ok: [h1] ok: [h2] ok: [h4] ok: [h3] ok: [h5] ok: [h6] ok: [s2] ok: [s1] ok: [s3] TASK [Wait for device to become ready] ***************************************** skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] skipping: [h5] skipping: [h6] included: /home/pipi/net101/tools/netsim/ansible/tasks/readiness-check/nxos.yml for s1, s2, s3 TASK [Wait for Eth1/1 to appear] *********************************************** ok: [s2] ok: [s3] ok: [s1] TASK [Deploy initial configuration] ******************************************** included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-module.yml for h1, h2, h3, h4, h5, h6, s1, s2, s3 TASK [Figure out whether to deploy the module initial on current device] ******* ok: [h1] ok: [h2] ok: [h3] ok: [h4] ok: [h5] ok: [h6] ok: [s1] ok: [s2] ok: [s3] TASK [Find configuration template for initial] ********************************* ok: [h1] ok: [h2] ok: [h3] ok: [h4] ok: [h5] ok: [h6] ok: [s1] ok: [s2] ok: [s3] TASK [Print deployed configuration when running in verbose mode] *************** ok: [h1] => msg: |- initial configuration for h1 ========================================= #!/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) # # Disable IPv4 and IPv6 forwarding # sysctl -w net.ipv4.ip_forward=0 sysctl -w net.ipv6.conf.all.forwarding=0 # # Interface addressing # ip link set dev eth1 up set +e ip addr del 172.16.0.1/24 dev eth1 2>/dev/null set -e ip addr add 172.16.0.1/24 dev eth1 ip link set eth1 mtu 1500 # # Add routes to IPv4 address pools pointing to the first neighbor on the first link # # If you need anything better, use FRR instead of Linux and start routing (or use IPv6) # # # Print the final routing table ip route ok: [h2] => msg: |- initial configuration for h2 ========================================= #!/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) # # Disable IPv4 and IPv6 forwarding # sysctl -w net.ipv4.ip_forward=0 sysctl -w net.ipv6.conf.all.forwarding=0 # # Interface addressing # ip link set dev eth1 up set +e ip addr del 172.16.0.2/24 dev eth1 2>/dev/null set -e ip addr add 172.16.0.2/24 dev eth1 ip link set eth1 mtu 1500 # # Add routes to IPv4 address pools pointing to the first neighbor on the first link # # If you need anything better, use FRR instead of Linux and start routing (or use IPv6) # # # Print the final routing table ip route ok: [h3] => msg: |- initial configuration for h3 ========================================= #!/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) # # Disable IPv4 and IPv6 forwarding # sysctl -w net.ipv4.ip_forward=0 sysctl -w net.ipv6.conf.all.forwarding=0 # # Interface addressing # 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 ip link set eth1 mtu 1500 # # Add routes to IPv4 address pools pointing to the first neighbor on the first link # # If you need anything better, use FRR instead of Linux and start routing (or use IPv6) # # # Print the final routing table ip route ok: [h4] => msg: |- initial configuration for h4 ========================================= #!/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) # # Disable IPv4 and IPv6 forwarding # sysctl -w net.ipv4.ip_forward=0 sysctl -w net.ipv6.conf.all.forwarding=0 # # Interface addressing # ip link set dev eth1 up set +e ip addr del 172.16.1.4/24 dev eth1 2>/dev/null set -e ip addr add 172.16.1.4/24 dev eth1 ip link set eth1 mtu 1500 # # Add routes to IPv4 address pools pointing to the first neighbor on the first link # # If you need anything better, use FRR instead of Linux and start routing (or use IPv6) # # # Print the final routing table ip route ok: [h5] => msg: |- initial configuration for h5 ========================================= #!/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) # # Disable IPv4 and IPv6 forwarding # sysctl -w net.ipv4.ip_forward=0 sysctl -w net.ipv6.conf.all.forwarding=0 # # Interface addressing # ip link set dev eth1 up set +e ip addr del 172.16.1.5/24 dev eth1 2>/dev/null set -e ip addr add 172.16.1.5/24 dev eth1 ip link set eth1 mtu 1500 # # Add routes to IPv4 address pools pointing to the first neighbor on the first link # # If you need anything better, use FRR instead of Linux and start routing (or use IPv6) # # # Print the final routing table ip route ok: [h6] => msg: |- initial configuration for h6 ========================================= #!/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) # # Disable IPv4 and IPv6 forwarding # sysctl -w net.ipv4.ip_forward=0 sysctl -w net.ipv6.conf.all.forwarding=0 # # Interface addressing # ip link set dev eth1 up set +e ip addr del 172.16.1.6/24 dev eth1 2>/dev/null set -e ip addr add 172.16.1.6/24 dev eth1 ip link set eth1 mtu 1500 # # Add routes to IPv4 address pools pointing to the first neighbor on the first link # # If you need anything better, use FRR instead of Linux and start routing (or use IPv6) # # # Print the final routing table ip route ok: [s3] => msg: |- initial configuration for s3 ========================================= hostname s3 ! no ip domain-lookup ! feature lldp ! username vagrant password vagrant ! ip host h1 172.16.0.1 ip host h2 172.16.0.2 ip host h3 172.16.0.3 ip host h4 172.16.1.4 ip host h5 172.16.1.5 ip host h6 172.16.1.6 ip host s1 10.0.0.7 ip host s2 10.0.0.8 ! feature interface-vlan ! interface mgmt0 no lldp transmit no lldp receive ! interface loopback0 no shutdown ip address 10.0.0.9/32 ! interface Ethernet1/1 no shutdown no switchport mac-address 52dc.cafe.0901 description s3 -> s2 mtu 1600 ip address 10.1.0.6/30 ! interface Ethernet1/2 no shutdown no switchport mac-address 52dc.cafe.0902 description s3 -> s1 mtu 1600 ip address 10.1.0.10/30 ! interface Ethernet1/3 no shutdown no switchport mac-address 52dc.cafe.0903 ! interface Ethernet1/4 no shutdown no switchport mac-address 52dc.cafe.0904 ! interface vlan1000 no shutdown description VLAN red (1000) -> [h1,s1,h2,s2,h3] ! interface vlan1001 no shutdown description VLAN blue (1001) -> [h4,s1,h5,s2,h6] ! ok: [s1] => msg: |- initial configuration for s1 ========================================= hostname s1 ! no ip domain-lookup ! feature lldp ! username vagrant password vagrant ! ip host h1 172.16.0.1 ip host h2 172.16.0.2 ip host h3 172.16.0.3 ip host h4 172.16.1.4 ip host h5 172.16.1.5 ip host h6 172.16.1.6 ip host s2 10.0.0.8 ip host s3 10.0.0.9 ! feature interface-vlan ! interface mgmt0 no lldp transmit no lldp receive ! interface loopback0 no shutdown ip address 10.0.0.7/32 ! interface Ethernet1/1 no shutdown no switchport mac-address 52dc.cafe.0701 description s1 -> s2 mtu 1600 ip address 10.1.0.1/30 ! interface Ethernet1/2 no shutdown no switchport mac-address 52dc.cafe.0702 description s1 -> s3 mtu 1600 ip address 10.1.0.9/30 ! interface Ethernet1/3 no shutdown no switchport mac-address 52dc.cafe.0703 ! interface Ethernet1/4 no shutdown no switchport mac-address 52dc.cafe.0704 ! interface vlan1000 no shutdown description VLAN red (1000) -> [h1,h2,s2,h3,s3] ! interface vlan1001 no shutdown description VLAN blue (1001) -> [h4,h5,s2,h6,s3] ! ok: [s2] => msg: |- initial configuration for s2 ========================================= hostname s2 ! no ip domain-lookup ! feature lldp ! username vagrant password vagrant ! ip host h1 172.16.0.1 ip host h2 172.16.0.2 ip host h3 172.16.0.3 ip host h4 172.16.1.4 ip host h5 172.16.1.5 ip host h6 172.16.1.6 ip host s1 10.0.0.7 ip host s3 10.0.0.9 ! feature interface-vlan ! interface mgmt0 no lldp transmit no lldp receive ! interface loopback0 no shutdown ip address 10.0.0.8/32 ! interface Ethernet1/1 no shutdown no switchport mac-address 52dc.cafe.0801 description s2 -> s1 mtu 1600 ip address 10.1.0.2/30 ! interface Ethernet1/2 no shutdown no switchport mac-address 52dc.cafe.0802 description s2 -> s3 mtu 1600 ip address 10.1.0.5/30 ! interface Ethernet1/3 no shutdown no switchport mac-address 52dc.cafe.0803 ! interface Ethernet1/4 no shutdown no switchport mac-address 52dc.cafe.0804 ! interface vlan1000 no shutdown description VLAN red (1000) -> [h1,s1,h2,h3,s3] ! interface vlan1001 no shutdown description VLAN blue (1001) -> [h4,s1,h5,h6,s3] ! TASK [Find configuration deployment deploy_script for initial] ***************** ok: [h1] ok: [h2] ok: [h4] ok: [h3] ok: [h5] ok: [h6] ok: [s1] ok: [s2] ok: [s3] TASK [Deploy initial configuration] ******************************************** included: /home/pipi/net101/tools/netsim/ansible/tasks/linux/initial-clab.yml for h1, h2, h3, h4, h5, h6 included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-config/nxos.yml for s1, s2, s3 TASK [set_fact] **************************************************************** ok: [h1] ok: [h2] ok: [h3] ok: [h4] ok: [h5] ok: [h6] TASK [Create initial container setup from /home/pipi/net101/tools/netsim/ansible/templates/initial/linux-clab.j2] *** changed: [h4 -> localhost] changed: [h1 -> localhost] changed: [h5 -> localhost] changed: [h3 -> localhost] changed: [h6 -> localhost] changed: [h2 -> localhost] TASK [Initial container configuration via /tmp/config-gBoJjxUP-h1.sh] ********** changed: [h3 -> localhost] changed: [h2 -> localhost] changed: [h1 -> localhost] changed: [h6 -> localhost] changed: [h4 -> localhost] changed: [h5 -> localhost] TASK [file] ******************************************************************** changed: [h6 -> localhost] changed: [h2 -> localhost] changed: [h4 -> localhost] changed: [h3 -> localhost] changed: [h1 -> localhost] changed: [h5 -> localhost] TASK [nxos_config: deploying initial from /home/pipi/net101/tools/netsim/ansible/templates/initial/nxos.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: [s3] changed: [s1] changed: [s2] PLAY [Deploy module-specific configurations] *********************************** TASK [Set variables that cannot be set with VARS] ****************************** ok: [s1] ok: [s2] ok: [s3] TASK [Deploy individual configuration modules] ********************************* included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-module.yml for s1, s2, s3 => (item=vlan) included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-module.yml for s1, s2, s3 => (item=ospf) included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-module.yml for s1, s2, s3 => (item=vxlan) TASK [Figure out whether to deploy the module vlan on current device] ********** ok: [s1] ok: [s2] ok: [s3] TASK [Find configuration template for vlan] ************************************ ok: [s2] ok: [s3] ok: [s1] TASK [Print deployed configuration when running in verbose mode] *************** ok: [s1] => msg: |- vlan configuration for s1 ========================================= vlan 1001 name blue ! vlan 1000 name red ! ! interface Ethernet1/3 switchport switchport mode access switchport access vlan 1000 ! interface Ethernet1/4 switchport switchport mode access switchport access vlan 1001 ! interface vlan1000 ! interface vlan1001 ok: [s2] => msg: |- vlan configuration for s2 ========================================= vlan 1001 name blue ! vlan 1000 name red ! ! interface Ethernet1/3 switchport switchport mode access switchport access vlan 1000 ! interface Ethernet1/4 switchport switchport mode access switchport access vlan 1001 ! interface vlan1000 ! interface vlan1001 ok: [s3] => msg: |- vlan configuration for s3 ========================================= vlan 1001 name blue ! vlan 1000 name red ! ! interface Ethernet1/3 switchport switchport mode access switchport access vlan 1000 ! interface Ethernet1/4 switchport switchport mode access switchport access vlan 1001 ! interface vlan1000 ! interface vlan1001 TASK [Find configuration deployment deploy_script for vlan] ******************** ok: [s1] ok: [s3] ok: [s2] TASK [Deploy vlan configuration] *********************************************** included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-config/nxos.yml for s1, s2, s3 TASK [nxos_config: deploying vlan from /home/pipi/net101/tools/netsim/ansible/templates/vlan/nxos.j2] *** changed: [s2] changed: [s3] changed: [s1] TASK [Figure out whether to deploy the module ospf on current device] ********** ok: [s1] ok: [s2] ok: [s3] TASK [Find configuration template for ospf] ************************************ ok: [s1] ok: [s2] ok: [s3] TASK [Print deployed configuration when running in verbose mode] *************** ok: [s1] => msg: |- ospf configuration for s1 ========================================= feature ospf ! router ospf 1 router-id 10.0.0.7 timers throttle spf 100 200 500 timers throttle lsa 0 100 500 ! interface loopback0 ip router ospf 1 area 0.0.0.0 ! interface Ethernet1/1 ! s1 -> s2 ip router ospf 1 area 0.0.0.0 ip ospf network point-to-point ! interface Ethernet1/2 ! s1 -> s3 ip router ospf 1 area 0.0.0.0 ip ospf network point-to-point ! ok: [s2] => msg: |- ospf configuration for s2 ========================================= feature ospf ! router ospf 1 router-id 10.0.0.8 timers throttle spf 100 200 500 timers throttle lsa 0 100 500 ! interface loopback0 ip router ospf 1 area 0.0.0.0 ! interface Ethernet1/1 ! s2 -> s1 ip router ospf 1 area 0.0.0.0 ip ospf network point-to-point ! interface Ethernet1/2 ! s2 -> s3 ip router ospf 1 area 0.0.0.0 ip ospf network point-to-point ! ok: [s3] => msg: |- ospf configuration for s3 ========================================= feature ospf ! router ospf 1 router-id 10.0.0.9 timers throttle spf 100 200 500 timers throttle lsa 0 100 500 ! interface loopback0 ip router ospf 1 area 0.0.0.0 ! interface Ethernet1/1 ! s3 -> s2 ip router ospf 1 area 0.0.0.0 ip ospf network point-to-point ! interface Ethernet1/2 ! s3 -> s1 ip router ospf 1 area 0.0.0.0 ip ospf network point-to-point ! TASK [Find configuration deployment deploy_script for ospf] ******************** ok: [s1] ok: [s2] ok: [s3] TASK [Deploy ospf configuration] *********************************************** included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-config/nxos.yml for s1, s2, s3 TASK [nxos_config: deploying ospf from /home/pipi/net101/tools/netsim/ansible/templates/ospf/nxos.j2] *** changed: [s1] changed: [s3] changed: [s2] TASK [Figure out whether to deploy the module vxlan on current device] ********* ok: [s1] ok: [s2] ok: [s3] TASK [Find configuration template for vxlan] *********************************** ok: [s3] ok: [s1] ok: [s2] TASK [Print deployed configuration when running in verbose mode] *************** ok: [s1] => msg: |- vxlan configuration for s1 ========================================= feature nv overlay feature vn-segment-vlan-based ! vlan 1001 vn-segment 101001 ! vlan 1000 vn-segment 101000 ! ! interface nve 1 source-interface loopback0 member vni 101000 ingress-replication protocol static peer-ip 10.0.0.8 peer-ip 10.0.0.9 member vni 101001 ingress-replication protocol static peer-ip 10.0.0.8 peer-ip 10.0.0.9 no shutdown ok: [s2] => msg: |- vxlan configuration for s2 ========================================= feature nv overlay feature vn-segment-vlan-based ! vlan 1001 vn-segment 101001 ! vlan 1000 vn-segment 101000 ! ! interface nve 1 source-interface loopback0 member vni 101000 ingress-replication protocol static peer-ip 10.0.0.7 peer-ip 10.0.0.9 member vni 101001 ingress-replication protocol static peer-ip 10.0.0.7 peer-ip 10.0.0.9 no shutdown ok: [s3] => msg: |- vxlan configuration for s3 ========================================= feature nv overlay feature vn-segment-vlan-based ! vlan 1001 vn-segment 101001 ! vlan 1000 vn-segment 101000 ! ! interface nve 1 source-interface loopback0 member vni 101000 ingress-replication protocol static peer-ip 10.0.0.7 peer-ip 10.0.0.8 member vni 101001 ingress-replication protocol static peer-ip 10.0.0.7 peer-ip 10.0.0.8 no shutdown TASK [Find configuration deployment deploy_script for vxlan] ******************* ok: [s1] ok: [s2] ok: [s3] TASK [Deploy vxlan configuration] ********************************************** included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-config/nxos.yml for s1, s2, s3 TASK [nxos_config: deploying vxlan from /home/pipi/net101/tools/netsim/ansible/templates/vxlan/nxos.j2] *** changed: [s1] changed: [s2] changed: [s3] PLAY [Deploy custom deployment templates] ************************************** skipping: no hosts matched PLAY RECAP ********************************************************************* h1 : ok=12 changed=3 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0 h2 : ok=12 changed=3 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0 h3 : ok=12 changed=3 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0 h4 : ok=12 changed=3 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0 h5 : ok=12 changed=3 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0 h6 : ok=12 changed=3 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0 s1 : ok=33 changed=4 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 s2 : ok=33 changed=4 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 s3 : ok=33 changed=4 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 This is the multi-node version of the vxlan-bridging lab. Use it to check that you don't have spanning tree problems in VXLAN overlay * h1, h2 and h3 should be able to ping each other * h4, h5 and h6 should be able to ping each other Please note it might take a while for the lab to work due to OSPF adjacency establishment and STP learning phase