Creating Device configuration snippets [CREATED] h1: initial,routing [CREATED] h2: initial,routing [CREATED] s1: initial,vlan [CREATED] s2: initial,vlan [CREATED] r1: initial Config Deploying device configurations [INFO] Executing initial configuration for node h1 (namespace clab- ml-85-h1) [INFO] Executing initial configuration for node h2 (namespace clab- ml-85-h2) [INFO] Executing initial configuration for node r1 [INFO] Executing routing configuration for node h1 (namespace clab- ml-85-h1) [INFO] Executing routing configuration for node h2 (namespace clab- ml-85-h2) [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: [s1] ok: [s2] TASK [Normalize config on bridge-like devices] ********************************* included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-module.yml for s1, s2 TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [s1] ok: [s2] TASK [Find configuration template for normalize] ******************************* ok: [s1] ok: [s2] TASK [fail] ******************************************************************** skipping: [s1] skipping: [s2] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [s1] ok: [s2] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [s1] skipping: [s2] TASK [Deploy normalize configuration] ****************************************** skipping: [s1] skipping: [s2] TASK [Deploy initial configuration] ******************************************** included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-module.yml for s1, s2 TASK [Figure out whether to deploy the module initial on current device] ******* ok: [s1] ok: [s2] TASK [Find configuration template for initial] ********************************* ok: [s1] ok: [s2] TASK [fail] ******************************************************************** skipping: [s1] skipping: [s2] TASK [Find configuration deployment deploy_script for initial] ***************** ok: [s1] ok: [s2] TASK [Print deployed configuration when running in verbose mode] *************** ok: [s1] => { "msg": "initial configuration for s1\n=========================================\nhostname s1\n!\nno ip domain lookup\nlogging buffered 256000\n\n!\nlldp run\n!\nip host h1 172.16.0.1\nip host h2 172.16.1.2\nip host r1 10.0.0.5 172.16.0.5 172.16.1.5\nip host s2 10.0.0.4\n!\nip routing\n!\nno ipv6 unicast-routing\n!\n\n!\n!\ninterface Loopback0\n ip address 10.0.0.3 255.255.255.255\n!\ninterface GigabitEthernet1\n no lldp transmit\n no lldp receive\n!\ninterface GigabitEthernet2\n description s1 -> s2\n no shutdown\n!\ninterface GigabitEthernet3\n description [Access VLAN red] s1 -> h1\n no shutdown\n!\ninterface GigabitEthernet4\n description [Access VLAN blue] s1 -> h2\n no shutdown\n!\ninterface BDI700\n description VLAN red (700) -> [h1,r1,s2]\n no shutdown\n!\ninterface BDI701\n description VLAN blue (701) -> [h2,r1,s2]\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: [s2] => { "msg": "initial configuration for s2\n=========================================\nhostname s2\n!\nno ip domain lookup\nlogging buffered 256000\n\n!\nlldp run\n!\nip host h1 172.16.0.1\nip host h2 172.16.1.2\nip host r1 10.0.0.5 172.16.0.5 172.16.1.5\nip host s1 10.0.0.3\n!\nip routing\n!\nno ipv6 unicast-routing\n!\n\n!\n!\ninterface Loopback0\n ip address 10.0.0.4 255.255.255.255\n!\ninterface GigabitEthernet1\n no lldp transmit\n no lldp receive\n!\ninterface GigabitEthernet2\n description s2 -> s1\n no shutdown\n!\ninterface GigabitEthernet3\n description [Access VLAN red] s2 -> r1\n no shutdown\n!\ninterface GigabitEthernet4\n description [Access VLAN blue] s2 -> r1\n no shutdown\n!\ninterface BDI700\n description VLAN red (700) -> [h1,s1,r1]\n no shutdown\n!\ninterface BDI701\n description VLAN blue (701) -> [h2,s1,r1]\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/net101/tools/netsim/ansible/tasks/deploy-config/ios.yml for s1, s2 TASK [ios_config: deploying initial from /work/netlab_cicd/other_vm/node_files/s1/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: [s1] changed: [s2] PLAY [Deploy module-specific configurations] *********************************** TASK [Set variables that cannot be set with VARS] ****************************** ok: [s1] ok: [s2] TASK [Deploy individual configuration modules] ********************************* included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-module.yml for s1, s2 => (item=vlan) included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-module.yml for s1, s2 => (item=routing) TASK [Figure out whether to deploy the module vlan on current device] ********** ok: [s1] ok: [s2] TASK [Find configuration template for vlan] ************************************ ok: [s1] ok: [s2] TASK [fail] ******************************************************************** skipping: [s1] skipping: [s2] TASK [Find configuration deployment deploy_script for vlan] ******************** ok: [s1] ok: [s2] TASK [Print deployed configuration when running in verbose mode] *************** ok: [s1] => { "msg": "vlan configuration for s1\n=========================================\n!\nbridge-domain 700\n member GigabitEthernet2 service-instance 700\n member GigabitEthernet3 service-instance 700\n!\nbridge-domain 701\n member GigabitEthernet2 service-instance 701\n member GigabitEthernet4 service-instance 701\n!\ninterface GigabitEthernet2\n service instance 700 ethernet\n encapsulation dot1q 700\n rewrite ingress tag pop 1\n rewrite egress tag push dot1q 700\n service instance 701 ethernet\n encapsulation dot1q 701\n rewrite ingress tag pop 1\n rewrite egress tag push dot1q 701\n!\ninterface GigabitEthernet3\n service instance 700 ethernet\n encapsulation untagged\n!\ninterface GigabitEthernet4\n service instance 701 ethernet\n encapsulation untagged\n" } ok: [s2] => { "msg": "vlan configuration for s2\n=========================================\n!\nbridge-domain 700\n member GigabitEthernet2 service-instance 700\n member GigabitEthernet3 service-instance 700\n!\nbridge-domain 701\n member GigabitEthernet2 service-instance 701\n member GigabitEthernet4 service-instance 701\n!\ninterface GigabitEthernet2\n service instance 700 ethernet\n encapsulation dot1q 700\n rewrite ingress tag pop 1\n rewrite egress tag push dot1q 700\n service instance 701 ethernet\n encapsulation dot1q 701\n rewrite ingress tag pop 1\n rewrite egress tag push dot1q 701\n!\ninterface GigabitEthernet3\n service instance 700 ethernet\n encapsulation untagged\n!\ninterface GigabitEthernet4\n service instance 701 ethernet\n encapsulation untagged\n" } TASK [Deploy vlan configuration] *********************************************** included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-config/ios.yml for s1, s2 TASK [ios_config: deploying vlan from /work/netlab_cicd/other_vm/node_files/s1/vlan] *** changed: [s2] changed: [s1] TASK [Figure out whether to deploy the module routing on current device] ******* ok: [s2] ok: [s1] TASK [Find configuration template for routing] ********************************* skipping: [s1] skipping: [s2] TASK [fail] ******************************************************************** skipping: [s1] skipping: [s2] TASK [Find configuration deployment deploy_script for routing] ***************** skipping: [s1] skipping: [s2] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [s1] skipping: [s2] TASK [Deploy routing configuration] ******************************************** skipping: [s1] skipping: [s2] PLAY [Deploy custom deployment templates] ************************************** skipping: no hosts matched PLAY RECAP ********************************************************************* s1 : ok=22 changed=2 unreachable=0 failed=0 skipped=10 rescued=0 ignored=0 s2 : ok=22 changed=2 unreachable=0 failed=0 skipped=10 rescued=0 ignored=0 Results of configuration script deployments ================================================================================ h1 Script: initial,routing h2 Script: initial,routing r1 Script: initial The devices under test are simple bridges with a VLAN trunk between them. An external router with two interfaces (one per VLAN) is attached to one of them. * h1 and h2 should be able to ping each other Please note it might take a while for the lab to work due to STP learning phase