Creating Device configuration snippets [CREATED] h1: initial,routing [CREATED] h2: initial,routing [CREATED] r1: initial,eigrp [CREATED] r2: initial,eigrp Checking Are lab devices ready to be configured? [INFO] Checking SSH server(s) on r2 [SSH] SSH server on node r2 (device iol) is ready after 28.4 seconds 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 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: [r1] ok: [r2] TASK [Normalize config on bridge-like devices] ********************************* included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-module.yml for r1, r2 TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [r1] ok: [r2] TASK [Find configuration template for normalize] ******************************* ok: [r1] ok: [r2] TASK [fail] ******************************************************************** skipping: [r1] skipping: [r2] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [r1] ok: [r2] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [r1] skipping: [r2] TASK [Deploy normalize configuration] ****************************************** skipping: [r1] skipping: [r2] TASK [Deploy initial configuration] ******************************************** included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-module.yml for r1, r2 TASK [Figure out whether to deploy the module initial on current device] ******* ok: [r1] ok: [r2] TASK [Find configuration template for initial] ********************************* ok: [r1] ok: [r2] TASK [fail] ******************************************************************** skipping: [r1] skipping: [r2] TASK [Find configuration deployment deploy_script for initial] ***************** ok: [r1] ok: [r2] TASK [Print deployed configuration when running in verbose mode] *************** ok: [r1] => { "msg": "initial configuration for r1\n=========================================\nhostname r1\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 r2 10.0.0.4 10.1.0.2 172.16.1.4\n!\nip routing\n!\nno ipv6 unicast-routing\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 r1 -> h1 [stub]\n ip address 172.16.0.3 255.255.255.0\n no shutdown\n!\ninterface GigabitEthernet3\n description r1 -> r2\n ip address 10.1.0.1 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" } ok: [r2] => { "msg": "initial configuration for r2\n=========================================\nhostname r2\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.3 172.16.0.3 10.1.0.1\n!\nip routing\n!\nno ipv6 unicast-routing\n!\n!\ninterface Loopback0\n ip address 10.0.0.4 255.255.255.255\n!\ninterface Ethernet0/0\n no lldp transmit\n no lldp receive\n!\ninterface Ethernet0/1\n description r2 -> r1\n ip address 10.1.0.2 255.255.255.252\n no shutdown\n!\ninterface Ethernet0/2\n description r2 -> h2 [stub]\n ip address 172.16.1.4 255.255.255.0\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 r1, r2 TASK [ios_config: deploying initial from /work/netlab_cicd/other_vm/node_files/r1/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: [r1] changed: [r2] PLAY [Deploy module-specific configurations] *********************************** TASK [Set variables that cannot be set with VARS] ****************************** ok: [r1] ok: [r2] TASK [Deploy individual configuration modules] ********************************* included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-module.yml for r1, r2 => (item=routing) included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-module.yml for r1, r2 => (item=eigrp) TASK [Figure out whether to deploy the module routing on current device] ******* ok: [r1] ok: [r2] TASK [Find configuration template for routing] ********************************* skipping: [r1] skipping: [r2] TASK [fail] ******************************************************************** skipping: [r1] skipping: [r2] TASK [Find configuration deployment deploy_script for routing] ***************** skipping: [r1] skipping: [r2] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [r1] skipping: [r2] TASK [Deploy routing configuration] ******************************************** skipping: [r1] skipping: [r2] TASK [Figure out whether to deploy the module eigrp on current device] ********* ok: [r1] ok: [r2] TASK [Find configuration template for eigrp] *********************************** ok: [r1] ok: [r2] TASK [fail] ******************************************************************** skipping: [r1] skipping: [r2] TASK [Find configuration deployment deploy_script for eigrp] ******************* ok: [r1] ok: [r2] TASK [Print deployed configuration when running in verbose mode] *************** ok: [r1] => { "msg": "eigrp configuration for r1\n=========================================\nrouter eigrp 2\n eigrp router-id 10.0.0.3\n network 10.0.0.3 0.0.0.0\n network 172.16.0.3 0.0.0.0\n network 10.1.0.1 0.0.0.0\n passive-interface GigabitEthernet2\n passive-interface GigabitEthernet1\n!\n" } ok: [r2] => { "msg": "eigrp configuration for r2\n=========================================\nrouter eigrp 2\n eigrp router-id 10.0.0.4\n network 10.0.0.4 0.0.0.0\n network 10.1.0.2 0.0.0.0\n network 172.16.1.4 0.0.0.0\n passive-interface Ethernet0/2\n passive-interface Ethernet0/0\n!\n" } TASK [Deploy eigrp configuration] ********************************************** included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-config/ios.yml for r1, r2 TASK [ios_config: deploying eigrp from /work/netlab_cicd/other_vm/node_files/r1/eigrp] *** changed: [r1] changed: [r2] PLAY [Deploy custom deployment templates] ************************************** skipping: no hosts matched PLAY RECAP ********************************************************************* r1 : ok=22 changed=2 unreachable=0 failed=0 skipped=10 rescued=0 ignored=0 r2 : 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 Use this topology to test basic EIGRP IPv4 implementation and route propagation. Two routers (r1, r2) run EIGRP AS 2 and should establish adjacency and exchange routes, enabling end-to-end connectivity between two Linux hosts connected to the routers.