[WARNING]: Could not match supplied host pattern, ignoring: unprovisioned PLAY [Deploy initial device configuration] ************************************* TASK [Set variables that cannot be set with VARS] ****************************** ok: [dut] ok: [x1] TASK [Find device readiness script] ******************************************** ok: [dut] ok: [x1] TASK [Wait for device to become ready] ***************************************** skipping: [dut] skipping: [x1] TASK [Normalize config on bridge-like devices] ********************************* included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-module.yml for dut, x1 TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [dut] ok: [x1] TASK [Find configuration template for normalize] ******************************* ok: [dut] ok: [x1] TASK [fail] ******************************************************************** skipping: [dut] skipping: [x1] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [dut] ok: [x1] => msg: |- normalize configuration for x1 ========================================= ! interface Ethernet1 shutdown mac-address 52dc.cafe.0201 TASK [Find configuration deployment deploy_script for normalize] *************** skipping: [dut] ok: [x1] TASK [Deploy normalize configuration] ****************************************** skipping: [dut] included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-config/eos.yml for x1 TASK [eos_config: deploying normalize from /home/pipi/net101/tools/netsim/ansible/templates/normalize/eos.j2] *** [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: [x1] TASK [Deploy initial configuration] ******************************************** included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-module.yml for dut, x1 TASK [Figure out whether to deploy the module initial on current device] ******* ok: [dut] ok: [x1] TASK [Find configuration template for initial] ********************************* ok: [dut] ok: [x1] TASK [fail] ******************************************************************** skipping: [dut] skipping: [x1] TASK [Print deployed configuration when running in verbose mode] *************** ok: [dut] => msg: |- initial configuration for dut ========================================= - set: system: hostname: dut config: snippet: system-mtu: file: /etc/network/ifupdown2/policy.d/mtu.json content: | { "address": { "defaults": { "mtu": "1500" } } } interface: eth0: ip: vrf: mgmt address: dhcp: {} type: eth swp1: type: swp link: state: up : {} description: "[Access VLAN red] dut -> x1" ip: ipv6: enable: off vlan42: type: svi link: state: up : {} description: "VLAN red (42) -> [x1]" ip: ipv6: enable: off - set: interface: lo: type: loopback ip: address: 10.0.0.1/32: {} ipv6: enable: off ok: [x1] => msg: |- initial configuration for x1 ========================================= hostname x1 ! logging monitor debugging aaa authorization exec default local ! lldp run ip routing ! ! ip host dut 10.0.0.1 ! interface Management1 no lldp transmit no lldp receive ! interface Loopback0 ip address 10.0.0.2/32 ! interface Ethernet1 no switchport description [Access VLAN red] x1 -> dut ! mac-address 52dc.cafe.0201 no shutdown ! interface Vlan42 description VLAN red (42) -> [dut] ! TASK [Find configuration deployment deploy_script for initial] ***************** ok: [dut] ok: [x1] TASK [Deploy initial configuration] ******************************************** included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-config/cumulus_nvue.yml for dut included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-config/eos.yml for x1 TASK [set_fact] **************************************************************** ok: [dut] TASK [copy the cumulus nvue YAML initial config file to switch (generated from /home/pipi/net101/tools/netsim/ansible/templates/initial/cumulus_nvue.j2)] *** changed: [dut] TASK [Wait for nvued to start] ************************************************* ok: [dut] TASK [set_fact] **************************************************************** ok: [dut] TASK [execute on cumulus: 'nv config patch' for initial config] **************** changed: [dut] TASK [execute on cumulus: 'nv config apply -y' for initial config] ************* changed: [dut] TASK [eos_config: deploying initial from /home/pipi/net101/tools/netsim/ansible/templates/initial/eos.j2] *** changed: [x1] PLAY [Deploy module-specific configurations] *********************************** TASK [Set variables that cannot be set with VARS] ****************************** ok: [dut] ok: [x1] TASK [Deploy individual configuration modules] ********************************* included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-module.yml for dut, x1 => (item=vlan) included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-module.yml for dut, x1 => (item=stp) TASK [Figure out whether to deploy the module vlan on current device] ********** ok: [dut] ok: [x1] TASK [Find configuration template for vlan] ************************************ ok: [dut] ok: [x1] TASK [fail] ******************************************************************** skipping: [dut] skipping: [x1] TASK [Print deployed configuration when running in verbose mode] *************** ok: [dut] => msg: |- vlan configuration for dut ========================================= - set: bridge: domain: br_default: type: vlan-aware mac-address: "08:4f:c2:a9:00:01" # The default 'auto' setting reads the MAC from the EEPROM, which is the same for all instances untagged: none vlan: '42': {} interface: swp1: bridge: domain: br_default: access: 42 ok: [x1] => msg: |- vlan configuration for x1 ========================================= vlan 42 name red ! ! interface Ethernet1 switchport switchport access vlan 42 ! interface Vlan42 TASK [Find configuration deployment deploy_script for vlan] ******************** ok: [dut] ok: [x1] TASK [Deploy vlan configuration] *********************************************** included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-config/cumulus_nvue.yml for dut included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-config/eos.yml for x1 TASK [set_fact] **************************************************************** ok: [dut] TASK [copy the cumulus nvue YAML vlan config file to switch (generated from /home/pipi/net101/tools/netsim/ansible/templates/vlan/cumulus_nvue.j2)] *** changed: [dut] TASK [Wait for nvued to start] ************************************************* skipping: [dut] TASK [set_fact] **************************************************************** ok: [dut] TASK [execute on cumulus: 'nv config patch' for vlan config] ******************* changed: [dut] TASK [execute on cumulus: 'nv config apply -y' for vlan config] **************** changed: [dut] TASK [eos_config: deploying vlan from /home/pipi/net101/tools/netsim/ansible/templates/vlan/eos.j2] *** changed: [x1] TASK [Figure out whether to deploy the module stp on current device] *********** ok: [dut] ok: [x1] TASK [Find configuration template for stp] ************************************* ok: [dut] ok: [x1] TASK [fail] ******************************************************************** skipping: [dut] skipping: [x1] TASK [Print deployed configuration when running in verbose mode] *************** ok: [dut] => msg: |- stp configuration for dut ========================================= - set: bridge: domain: br_default: stp: mode: rstp state: up: {} priority: 4096 ok: [x1] => msg: |- stp configuration for x1 ========================================= spanning-tree mode rstp TASK [Find configuration deployment deploy_script for stp] ********************* ok: [dut] ok: [x1] TASK [Deploy stp configuration] ************************************************ included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-config/cumulus_nvue.yml for dut included: /home/pipi/net101/tools/netsim/ansible/tasks/deploy-config/eos.yml for x1 TASK [set_fact] **************************************************************** ok: [dut] TASK [copy the cumulus nvue YAML stp config file to switch (generated from /home/pipi/net101/tools/netsim/ansible/templates/stp/cumulus_nvue.j2)] *** changed: [dut] TASK [Wait for nvued to start] ************************************************* skipping: [dut] TASK [set_fact] **************************************************************** ok: [dut] TASK [execute on cumulus: 'nv config patch' for stp config] ******************** changed: [dut] TASK [execute on cumulus: 'nv config apply -y' for stp config] ***************** changed: [dut] TASK [eos_config: deploying stp from /home/pipi/net101/tools/netsim/ansible/templates/stp/eos.j2] *** changed: [x1] PLAY [Deploy custom deployment templates] ************************************** skipping: no hosts matched PLAY RECAP ********************************************************************* dut : ok=40 changed=9 unreachable=0 failed=0 skipped=10 rescued=0 ignored=0 x1 : ok=31 changed=4 unreachable=0 failed=0 skipped=5 rescued=0 ignored=0 The device under test is connected to the probe with default STP root priority. Once the STP settles (the interconnecting link in red VLAN is forwarding), we can check that the priority of the root bridge is what we expect.