Creating Device configuration snippets [CREATED] r1: initial,ospf,ospf.areas [CREATED] r2: normalize,initial,ospf,ospf.areas [CREATED] r3: initial,ospf_cfg,cfglet/o_areas,rid.j2 [CREATED] r4: normalize,initial,ospf_cfg,cfglet/o_areas/eos.j2,rid [CREATED] h1: initial,cfglet/ipaddr/h1.j2 Checking Are lab devices ready to be configured? [INFO] Checking SSH server(s) on r2,r4 Config Deploying device configurations [INFO] Executing initial configuration for node r1 [INFO] Executing normalize configuration for node r2 [INFO] Executing initial configuration for node r3 [INFO] Executing normalize configuration for node r4 [INFO] Executing initial configuration for node h1 (namespace clab- ml-17-h1) [INFO] Executing ospf_cfg configuration for node r3 [INFO] Executing ospf configuration for node r1 [INFO] Executing cfglet/o_areas configuration for node r3 [INFO] Executing ospf.areas configuration for node r1 [INFO] Executing rid.j2 configuration for node r3 [INFO] Executing initial configuration for node r4 [INFO] Executing initial configuration for node r2 [INFO] Executing ospf_cfg configuration for node r4 [INFO] Executing ospf configuration for node r2 [INFO] Executing cfglet/o_areas/eos.j2 configuration for node r4 [INFO] Executing rid configuration for node r4 [INFO] Executing ospf.areas configuration for node r2 [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: [h1] TASK [Normalize config on bridge-like devices] ********************************* included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h1 TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [h1] TASK [Find configuration template for normalize] ******************************* ok: [h1] TASK [fail] ******************************************************************** skipping: [h1] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [h1] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h1] TASK [Deploy normalize configuration] ****************************************** skipping: [h1] TASK [Deploy initial configuration] ******************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h1 TASK [Figure out whether to deploy the module initial on current device] ******* ok: [h1] TASK [Find configuration template for initial] ********************************* skipping: [h1] TASK [fail] ******************************************************************** skipping: [h1] TASK [Find configuration deployment deploy_script for initial] ***************** skipping: [h1] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h1] TASK [Deploy initial configuration] ******************************************** skipping: [h1] PLAY [Deploy module-specific configurations] *********************************** skipping: no hosts matched PLAY [Deploy custom deployment templates] ************************************** TASK [Run custom configuration deployment scripts] ***************************** skipping: [h1] => (item=ospf.areas) skipping: [h1] => (item=ospf_cfg) skipping: [h1] => (item=cfglet/o_areas) skipping: [h1] => (item=cfglet/o_areas/eos.j2) skipping: [h1] => (item=rid.j2) skipping: [h1] => (item=rid) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-custom-config.yml for h1 => (item=cfglet/ipaddr/h1.j2) TASK [Find configuration template] ********************************************* ok: [h1] TASK [fail] ******************************************************************** skipping: [h1] TASK [Check is the configuration template is a file] *************************** ok: [h1 -> localhost] TASK [fail] ******************************************************************** skipping: [h1] TASK [Process template /work/netlab_cicd/node_files/h1/cfglet/ipaddr/h1.j2 for h1] *** skipping: [h1] TASK [Find custom configuration deployment script] ***************************** ok: [h1] TASK [Run the configuration deployment script] ********************************* included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/linux-clab.yml for h1 TASK [Define script filename and determine whether to execute in netns] ******** ok: [h1] TASK [Create a temporary file for the rendered script] ************************* changed: [h1 -> localhost] TASK [Create container setup script from /work/netlab_cicd/node_files/h1/cfglet/ipaddr/h1.j2] *** changed: [h1 -> localhost] TASK [Copy script into running container at /tmp/config-h1_h1.j2.sh] *********** changed: [h1 -> localhost] TASK [Execute /tmp/config-h1_h1.j2.sh to deploy h1.j2 config based on /work/netlab_cicd/node_files/h1/cfglet/ipaddr/h1.j2] *** changed: [h1] TASK [Container configuration for h1.j2 based on /work/netlab_cicd/node_files/h1/cfglet/ipaddr/h1.j2 executed in netns] *** skipping: [h1] TASK [Remove temporary file /tmp/h1_h1.j2-2pnomnbk.sh] ************************* changed: [h1 -> localhost] PLAY RECAP ********************************************************************* h1 : ok=18 changed=5 unreachable=0 failed=0 skipped=12 rescued=0 ignored=0 Results of configuration script deployments ================================================================================ r1 Script: initial,ospf,ospf.areas r2 Script: normalize,initial,ospf,ospf.areas r3 Script: initial,ospf_cfg,cfglet/o_areas,rid.j2 r4 Script: normalize,initial,ospf_cfg,cfglet/o_areas/eos.j2,rid h1 Script: initial This topology tests various custom configuration mechanisms for non-daemon devices