Creating Device configuration snippets [CREATED] h1: initial,routing [CREATED] h2: initial,routing [CREATED] pe1: initial,ospf,sr,bgp [CREATED] pe2: initial,ospf,sr,bgp [CREATED] dut: initial,ospf,sr [CREATED] p2: initial,ospf,sr Checking Are lab devices ready to be configured? [INFO] Checking SSH server(s) on dut [SSH] SSH server on node dut (device iol) is ready after 25.3 seconds Config Deploying device configurations [INFO] Executing initial configuration for node h1 (namespace clab- ml-17-h1) [INFO] Executing initial configuration for node h2 (namespace clab- ml-17-h2) [INFO] Executing initial configuration for node pe1 [INFO] Executing initial configuration for node pe2 [INFO] Executing initial configuration for node p2 [INFO] Executing routing configuration for node h1 (namespace clab- ml-17-h1) [INFO] Executing routing configuration for node h2 (namespace clab- ml-17-h2) [INFO] Executing ospf configuration for node pe2 [INFO] Executing ospf configuration for node pe1 [INFO] Executing ospf configuration for node p2 [INFO] Executing sr configuration for node pe2 [INFO] Executing sr configuration for node pe1 [INFO] Executing sr configuration for node p2 [INFO] Executing bgp configuration for node pe1 [INFO] Executing bgp configuration for node pe2 [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: [dut] TASK [Normalize config on bridge-like devices] ********************************* included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for dut TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [dut] TASK [Find configuration template for normalize] ******************************* ok: [dut] TASK [fail] ******************************************************************** skipping: [dut] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [dut] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [dut] TASK [Deploy normalize configuration] ****************************************** skipping: [dut] TASK [Deploy initial configuration] ******************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for dut TASK [Figure out whether to deploy the module initial on current device] ******* ok: [dut] TASK [Find configuration template for initial] ********************************* ok: [dut] TASK [fail] ******************************************************************** skipping: [dut] TASK [Find configuration deployment deploy_script for initial] ***************** ok: [dut] TASK [Print deployed configuration when running in verbose mode] *************** ok: [dut] => { "msg": "initial configuration for dut\n=========================================\nhostname dut\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 p2 10.0.0.6 10.1.0.6 10.1.0.9\nip host pe1 10.0.0.3 172.16.0.3 10.1.0.2\nip host pe2 10.0.0.4 10.1.0.10 172.16.1.4\n!\nip routing\n!\nno ipv6 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 dut -> pe1\n ip address 10.1.0.1 255.255.255.252\n no shutdown\n!\ninterface Ethernet0/2\n description dut -> p2\n ip address 10.1.0.5 255.255.255.252\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 dut TASK [ios_config: deploying initial from /work/netlab_cicd/node_files/dut/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: [dut] PLAY [Deploy module-specific configurations] *********************************** TASK [Set variables that cannot be set with VARS] ****************************** ok: [dut] TASK [Deploy individual configuration modules] ********************************* included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for dut => (item=sr) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for dut => (item=routing) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for dut => (item=ospf) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for dut => (item=bgp) TASK [Figure out whether to deploy the module sr on current device] ************ ok: [dut] TASK [Find configuration template for sr] ************************************** ok: [dut] TASK [fail] ******************************************************************** skipping: [dut] TASK [Find configuration deployment deploy_script for sr] ********************** ok: [dut] TASK [Print deployed configuration when running in verbose mode] *************** ok: [dut] => { "msg": "sr configuration for dut\n=========================================\nmpls ip\n!\nsegment-routing mpls\n !\n set-attributes\n address-family ipv4\n explicit-null\n !\n connected-prefix-sid-map\n address-family ipv4\n 10.0.0.5/32 index 5 range 1\n!\nrouter ospf 1\n segment-routing mpls\n" } TASK [Deploy sr configuration] ************************************************* included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/ios.yml for dut TASK [ios_config: deploying sr from /work/netlab_cicd/node_files/dut/sr] ******* changed: [dut] TASK [Figure out whether to deploy the module routing on current device] ******* ok: [dut] TASK [Find configuration template for routing] ********************************* skipping: [dut] TASK [fail] ******************************************************************** skipping: [dut] TASK [Find configuration deployment deploy_script for routing] ***************** skipping: [dut] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [dut] TASK [Deploy routing configuration] ******************************************** skipping: [dut] TASK [Figure out whether to deploy the module ospf on current device] ********** ok: [dut] TASK [Find configuration template for ospf] ************************************ ok: [dut] TASK [fail] ******************************************************************** skipping: [dut] TASK [Find configuration deployment deploy_script for ospf] ******************** ok: [dut] TASK [Print deployed configuration when running in verbose mode] *************** ok: [dut] => { "msg": "ospf configuration for dut\n=========================================\nrouter ospf 1\n router-id 10.0.0.5\n\n!\ninterface Loopback0\n! \n ip ospf 1 area 0.0.0.0\n!\ninterface Ethernet0/1\n! dut -> pe1\n ip ospf 1 area 0.0.0.0\n ip ospf network point-to-point\n!\ninterface Ethernet0/2\n! dut -> p2\n ip ospf 1 area 0.0.0.0\n ip ospf network point-to-point\n!\n\n" } TASK [Deploy ospf configuration] *********************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/ios.yml for dut TASK [ios_config: deploying ospf from /work/netlab_cicd/node_files/dut/ospf] *** changed: [dut] TASK [Figure out whether to deploy the module bgp on current device] *********** ok: [dut] TASK [Find configuration template for bgp] ************************************* skipping: [dut] TASK [fail] ******************************************************************** skipping: [dut] TASK [Find configuration deployment deploy_script for bgp] ********************* skipping: [dut] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [dut] TASK [Deploy bgp configuration] ************************************************ skipping: [dut] PLAY [Deploy custom deployment templates] ************************************** skipping: no hosts matched PLAY RECAP ********************************************************************* dut : ok=31 changed=3 unreachable=0 failed=0 skipped=16 rescued=0 ignored=0 Results of configuration script deployments ================================================================================ h1 Script: initial,routing h2 Script: initial,routing pe1 Script: initial,ospf,sr,bgp pe2 Script: initial,ospf,sr,bgp p2 Script: initial,ospf,sr The tested device (DUT) is a P-router running OSPFv2 and SR-MPLS in an IPv4-only network. The validation test checks end-to-end connectivity across a BGP-free MPLS core.