Creating Device configuration snippets [CREATED] dut: initial,ospf,bgp,vrf [CREATED] p1: initial,ospf [CREATED] p2: initial,ospf [CREATED] xf: initial,bgp Checking Are lab devices ready to be configured? [INFO] Checking SSH server(s) on dut [SSH] SSH server on node dut (device iosxr) is ready after 26.0 seconds Config Deploying device configurations [INFO] Executing initial configuration for node p1 [INFO] Executing initial configuration for node p2 [INFO] Executing initial configuration for node xf [INFO] Executing ospf configuration for node p1 [INFO] Executing ospf configuration for node p2 [INFO] Executing bgp configuration for node xf [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!\ndomain lookup disable\n!\nlldp\n no management enable\n!\ndomain ipv6 host p1 2001:db8:1:2::1\ndomain ipv6 host p2 2001:db8:1:3::1\ndomain ipv6 host xf 2001:db8:1:4::1\n!\ninterface Loopback0\n no shutdown\n ipv6 address 2001:db8:1:1::1/64\n!\ninterface GigabitEthernet0/0/0/0\n no shutdown\n description dut -> p1\n ipv6 address 2001:db8:3::1/64\n ipv6 nd ra-interval 5\n!\ninterface GigabitEthernet0/0/0/1\n no shutdown\n description dut -> p2\n ipv6 address 2001:db8:3:1::1/64\n ipv6 nd ra-interval 5\n!\ninterface GigabitEthernet0/0/0/2\n no shutdown\n description dut -> xf [external]\n ipv6 address 2001:db8:3:2::1/64\n ipv6 nd ra-interval 5\n!\ninterface Loopback1\n no shutdown\n description VRF Loopback d2\n ipv6 address 2001:db8:cafe:43::1/64\n!\n" } TASK [Deploy initial configuration] ******************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/iosxr.yml for dut TASK [iosxr_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=ospf) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for dut => (item=bgp) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for dut => (item=vrf) 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=========================================\n!\n" } TASK [Deploy ospf configuration] *********************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/iosxr.yml for dut TASK [iosxr_config: deploying ospf from /work/netlab_cicd/node_files/dut/ospf] *** ok: [dut] TASK [Figure out whether to deploy the module bgp on current device] *********** ok: [dut] TASK [Find configuration template for bgp] ************************************* ok: [dut] TASK [fail] ******************************************************************** skipping: [dut] TASK [Find configuration deployment deploy_script for bgp] ********************* ok: [dut] TASK [Print deployed configuration when running in verbose mode] *************** ok: [dut] => { "msg": "bgp configuration for dut\n=========================================\n!\n!\nrouter bgp 65000\n bgp unsafe-ebgp-policy\n bgp scan-time 5\n bgp update-delay 5\n bgp router-id 10.0.0.1\n\n!\n address-family ipv6 unicast\n bgp scan-time 5\n!\n network 2001:db8:1:1::/64\n!\n" } TASK [Deploy bgp configuration] ************************************************ included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/iosxr.yml for dut TASK [iosxr_config: deploying bgp from /work/netlab_cicd/node_files/dut/bgp] *** changed: [dut] TASK [Figure out whether to deploy the module vrf on current device] *********** ok: [dut] TASK [Find configuration template for vrf] ************************************* ok: [dut] TASK [fail] ******************************************************************** skipping: [dut] TASK [Find configuration deployment deploy_script for vrf] ********************* ok: [dut] TASK [Print deployed configuration when running in verbose mode] *************** ok: [dut] => { "msg": "vrf configuration for dut\n=========================================\nvrf d2\n rd 65000:2\n!\n address-family ipv6 unicast\n import route-target 65000:2\n export route-target 65000:2\n!\nvrf d1\n rd 65000:1\n!\n address-family ipv6 unicast\n import route-target 65000:1\n export route-target 65000:1\n!\ninterface GigabitEthernet0/0/0/0\n vrf d1\n!\ninterface GigabitEthernet0/0/0/1\n vrf d2\n!\ninterface GigabitEthernet0/0/0/2\n vrf d2\n!\ninterface Loopback1\n vrf d2\n!\n!\nrouter bgp 65000\n bgp unsafe-ebgp-policy\n bgp scan-time 5\n bgp update-delay 5\n bgp router-id 10.0.0.1\n\n address-family vpnv6 unicast\n bgp import-delay 0 0\n bgp scan-time 5\n vrf d2\n bgp unsafe-ebgp-policy\n!\n address-family ipv6 unicast\n redistribute connected\n redistribute ospf 101 match internal external nssa-external\n\n network 2001:db8:cafe:43::/64\n !\n neighbor 2001:db8:3:2::2\n remote-as 65100\n description xf\n session-open-mode both\n address-family ipv6 unicast\n send-community-ebgp\n\n vrf d1\n bgp unsafe-ebgp-policy\n!\n address-family ipv6 unicast\n redistribute connected\n redistribute ospf 100 match internal external nssa-external\n\nrouter ospfv3 101 vrf d2\n!\n! These throttle timers are probably too aggressive for a production network but\n! make labs run better ;)\n!\n timers throttle spf 10 20 100\n timers throttle lsa all 10 20 100\n router-id 10.0.0.1\n default-information originate\n\n redistribute bgp 65000\n redistribute connected\n\n area 0.0.0.0\n interface GigabitEthernet0/0/0/1\n network point-to-point\n interface Loopback1\n\nrouter ospfv3 100 vrf d1\n!\n! These throttle timers are probably too aggressive for a production network but\n! make labs run better ;)\n!\n timers throttle spf 10 20 100\n timers throttle lsa all 10 20 100\n router-id 10.0.0.1\n default-information originate always\n\n redistribute bgp 65000\n redistribute connected\n\n area 0.0.0.0\n interface GigabitEthernet0/0/0/0\n network point-to-point\n\n" } TASK [Deploy vrf configuration] ************************************************ included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/iosxr.yml for dut TASK [iosxr_config: deploying vrf from /work/netlab_cicd/node_files/dut/vrf] *** changed: [dut] PLAY [Deploy custom deployment templates] ************************************** skipping: no hosts matched PLAY RECAP ********************************************************************* dut : ok=34 changed=3 unreachable=0 failed=0 skipped=7 rescued=0 ignored=0 Results of configuration script deployments ================================================================================ p1 Script: initial,ospf p2 Script: initial,ospf xf Script: initial,bgp This lab tests the VRF OSPF default route origination. The device under test should originate the default route in multiple VRFs, one always, the other one based on BGP default route.