Creating Device configuration snippets [CREATED] dut: initial,vlan,gateway [CREATED] x1: initial,vlan,gateway [CREATED] h1: initial,routing [CREATED] h2: initial,routing [CREATED] h3: initial,routing [CREATED] th: initial,routing Checking Are lab devices ready to be configured? [INFO] Checking lab devices with an Ansible playbook [WARNING]: Could not match supplied host pattern, ignoring: netlab_ready_ssh [WARNING]: Found variable using reserved name: hosts PLAY [Wait for SSH servers] **************************************************** skipping: no hosts matched PLAY [Wait for device-specific conditions] ************************************* TASK [Set variables that cannot be set with VARS] ****************************** ok: [dut] TASK [Find device readiness script] ******************************************** ok: [dut] TASK [Wait for device to become ready] ***************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/readiness-check/junos.yml for dut TASK [set_fact] **************************************************************** ok: [dut] TASK [Wait for first interface (et-0/0/0)] ************************************* ok: [dut] PLAY RECAP ********************************************************************* dut : ok=5 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 Config Deploying device configurations [INFO] Executing initial configuration for node x1 [INFO] Executing initial configuration for node h1 [INFO] Executing initial configuration for node h2 [INFO] Executing initial configuration for node h3 [INFO] Executing initial configuration for node th (namespace clab- ml-17-th) [INFO] Executing routing configuration for node th (namespace clab- ml-17-th) [INFO] Executing routing configuration for node h1 [INFO] Executing routing configuration for node h2 [INFO] Executing routing configuration for node h3 [INFO] Executing vlan configuration for node x1 [INFO] Executing gateway configuration for node x1 [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=========================================\nsystem {\n host-name dut;\n static-host-mapping {\n x1 inet 10.0.0.2;\n h1 inet 172.16.33.3;\n h2 inet 172.16.33.4;\n h3 inet 172.16.33.5;\n th inet 172.16.44.6;\n }\n}\n\n\ninterfaces {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n}\ninterfaces {\n et-0/0/0 {\n mtu 1514;\n }\n et-0/0/1 {\n mtu 1514;\n }\n et-0/0/2 {\n mtu 1514;\n }\n et-0/0/3 {\n mtu 1514;\n }\n\n lo0.0 {\n \n family inet {\n address 10.0.0.1/32;\n }\n \n }\n et-0/0/0.0 {\n description \"dut -> [x1,th]\";\n \n family inet {\n address 172.16.44.1/24;\n }\n family inet6 {\n address 2001:db8:cafe:44::1/64;\n }\n \n }\n et-0/0/1.0 {\n description \"[Access VLAN edge] dut -> h1\";\n \n \n }\n et-0/0/2.0 {\n description \"[Access VLAN edge] dut -> h3\";\n \n \n }\n et-0/0/3.0 {\n description \"[Access VLAN edge] dut -> x1\";\n \n \n }\n irb.1000 {\n description \"VLAN edge (1000) -> [h1,h3,h2,x1]\";\n \n family inet {\n address 172.16.33.1/24;\n mtu 1500;\n }\n family inet6 {\n address 2001:db8:cafe:33::1/64;\n mtu 1500;\n }\n \n }\n}\nprotocols {\n lldp {\n interface re0:mgmt-0 {\n disable;\n }\n interface all;\n }\n router-advertisement {\n interface et-0/0/0.0;\n interface irb.1000;\n }\n}\n" } TASK [Deploy initial configuration] ******************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/junos.yml for dut TASK [junos_config: deploying initial from /work/netlab_cicd/node_files/dut/initial] *** [WARNING]: mgd: statement has no contents; ignored 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=vlan) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for dut => (item=gateway) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for dut => (item=routing) TASK [Figure out whether to deploy the module vlan on current device] ********** ok: [dut] TASK [Find configuration template for vlan] ************************************ ok: [dut] TASK [fail] ******************************************************************** skipping: [dut] TASK [Find configuration deployment deploy_script for vlan] ******************** ok: [dut] TASK [Print deployed configuration when running in verbose mode] *************** ok: [dut] => { "msg": "vlan configuration for dut\n=========================================\nvlans {\n edge {\n vlan-id 1000;\n\n l3-interface irb.1000;\n\n }\n}\n\ninterfaces {\n\n\n et-0/0/1.0 {\n family ethernet-switching {\n\n vlan {\n members edge;\n }\n\n }\n }\n\n\n\n et-0/0/2.0 {\n family ethernet-switching {\n\n vlan {\n members edge;\n }\n\n }\n }\n\n\n\n et-0/0/3.0 {\n family ethernet-switching {\n\n vlan {\n members edge;\n }\n\n }\n }\n\n\n}\n" } TASK [Deploy vlan configuration] *********************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/junos.yml for dut TASK [junos_config: deploying vlan from /work/netlab_cicd/node_files/dut/vlan] *** changed: [dut] TASK [Figure out whether to deploy the module gateway on current device] ******* ok: [dut] TASK [Find configuration template for gateway] ********************************* ok: [dut] TASK [fail] ******************************************************************** skipping: [dut] TASK [Find configuration deployment deploy_script for gateway] ***************** ok: [dut] TASK [Print deployed configuration when running in verbose mode] *************** ok: [dut] => { "msg": "gateway configuration for dut\n=========================================\nprotocols {\n vrrp {\n version-3;\n }\n}\n\n\ninterfaces {\n irb.1000 {\n virtual-gateway-accept-data;\n virtual-gateway-v4-mac 02:00:ca:fe:c0:01;\n family inet {\n address 172.16.33.1/24 {\n virtual-gateway-address 172.16.33.42;\n }\n }\n virtual-gateway-v6-mac 02:00:ca:fe:c0:01;\n family inet6 {\n address 2001:db8:cafe:33::1/64 {\n virtual-gateway-address 2001:db8:cafe:33::2a;\n }\n }\n }\n}\n" } TASK [Deploy gateway configuration] ******************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/junos.yml for dut TASK [junos_config: deploying gateway from /work/netlab_cicd/node_files/dut/gateway] *** 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] PLAY [Deploy custom deployment templates] ************************************** skipping: no hosts matched PLAY RECAP ********************************************************************* dut : ok=29 changed=3 unreachable=0 failed=0 skipped=11 rescued=0 ignored=0 Results of configuration script deployments ================================================================================ x1 Script: initial,vlan,gateway h1 Script: initial,routing h2 Script: initial,routing h3 Script: initial,routing th Script: initial,routing This lab tests the anycast gateway functionality. It checks whether the anycast IP is active, whether it has the correct MAC address, and whether the first device in the forwarding path intercepts the packets with the shared MAC address.