[INFO] Executing initial configuration for node h1 (namespace clab- ml_17-h1) [INFO] Executing routing configuration for node h1 (namespace clab- ml_17-h1) [INFO] Executing initial configuration for node h2 (namespace clab- ml_17-h2) [INFO] Executing routing configuration for node h2 (namespace clab- ml_17-h2) [INFO] Executing initial configuration for node h3 (namespace clab- ml_17-h3) [INFO] Executing routing configuration for node h3 (namespace clab- ml_17-h3) [INFO] Executing initial configuration for node h4 (namespace clab- ml_17-h4) [INFO] Executing routing configuration for node h4 (namespace clab- ml_17-h4) [INFO] Starting Ansible playbook to deploy the rest of the configurations /home/pipi/.local/lib/python3.10/site-packages/paramiko/pkey.py:100: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0. "cipher": algorithms.TripleDES, /home/pipi/.local/lib/python3.10/site-packages/paramiko/transport.py:259: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from cryptography.hazmat.primitives.ciphers.algorithms in 48.0.0. "class": algorithms.TripleDES, [WARNING]: Could not match supplied host pattern, ignoring: unprovisioned [WARNING]: Found variable using reserved name: hosts PLAY [Deploy initial device configuration] ************************************* TASK [Set variables that cannot be set with VARS] ****************************** ok: [h1] ok: [h2] ok: [h3] ok: [h4] ok: [s1] TASK [Generic readiness tests] ************************************************* skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] skipping: [s1] TASK [Find device readiness script] ******************************************** ok: [h1] ok: [h2] ok: [h3] ok: [h4] ok: [s1] TASK [Wait for device to become ready] ***************************************** skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] included: /home/pipi/netlab_gh/netsim/ansible/tasks/readiness-check/cumulus_nvue.yml for s1 TASK [Wait for nvued to start] ************************************************* ok: [s1] TASK [Normalize config on bridge-like devices] ********************************* included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h1, h2, h3, h4, s1 TASK [Figure out whether to deploy the module normalize on current device] ***** ok: [h1] ok: [h2] ok: [h3] ok: [h4] ok: [s1] TASK [Find configuration template for normalize] ******************************* ok: [h1] ok: [h2] ok: [h3] ok: [h4] ok: [s1] TASK [fail] ******************************************************************** skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] skipping: [s1] TASK [Find configuration deployment deploy_script for normalize] *************** ok: [h1] ok: [h2] ok: [h3] ok: [s1] ok: [h4] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] skipping: [s1] TASK [Deploy normalize configuration] ****************************************** skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] skipping: [s1] TASK [Deploy initial configuration] ******************************************** included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h1, h2, h3, h4, s1 TASK [Figure out whether to deploy the module initial on current device] ******* ok: [h1] ok: [h2] ok: [h3] ok: [h4] ok: [s1] TASK [Find configuration template for initial] ********************************* skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] ok: [s1] TASK [fail] ******************************************************************** skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] skipping: [s1] TASK [Find configuration deployment deploy_script for initial] ***************** skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] ok: [s1] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] ok: [s1] => msg: |- initial configuration for s1 ========================================= - set: system: hostname: s1 global: system-mac: ca:fe:00:05:00:00 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] s1 -> h1" ip: ipv6: enable: off swp2: type: swp link: state: up : {} description: "[Access VLAN red] s1 -> h2" ip: ipv6: enable: off swp3: type: swp link: state: up : {} description: "[Access VLAN blue] s1 -> h3" ip: ipv6: enable: off swp4: type: swp link: state: up : {} description: "[Access VLAN green] s1 -> h4" ip: ipv6: enable: off vlan700: type: svi link: state: up : {} description: "VLAN red (700) -> [h1,h2] [stub]" ip: ipv6: enable: off vlan701: type: svi link: state: up : {} description: "VLAN blue (701) -> [h3] [stub]" ip: address: 172.16.1.5/24: {} ipv6: enable: off vlan702: type: svi link: state: up : {} description: "VLAN green (702) -> [h4] [stub]" ip: address: 172.16.2.5/24: {} ipv6: enable: off - set: interface: lo: type: loopback ip: address: 10.0.0.5/32: {} ipv6: enable: off TASK [Deploy initial configuration] ******************************************** skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/cumulus_nvue.yml for s1 TASK [set_fact] **************************************************************** ok: [s1] TASK [copy the cumulus nvue YAML initial config file to switch (generated from /home/pipi/netlab_gh/netsim/ansible/templates/initial/cumulus_nvue.j2)] *** changed: [s1] TASK [execute on cumulus: 'nv config patch' for initial config] **************** changed: [s1] TASK [execute on cumulus: 'nv config apply -y' for initial config] ************* changed: [s1] PLAY [Deploy module-specific configurations] *********************************** TASK [Set variables that cannot be set with VARS] ****************************** ok: [h1] ok: [h2] ok: [h3] ok: [h4] ok: [s1] TASK [Deploy individual configuration modules] ********************************* included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h1, h2, h3, h4, s1 => (item=vlan) included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-module.yml for h1, h2, h3, h4, s1 => (item=routing) TASK [Figure out whether to deploy the module vlan on current device] ********** ok: [h1] ok: [h2] ok: [h3] ok: [h4] ok: [s1] TASK [Find configuration template for vlan] ************************************ skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] ok: [s1] TASK [fail] ******************************************************************** skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] skipping: [s1] TASK [Find configuration deployment deploy_script for vlan] ******************** skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] ok: [s1] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] ok: [s1] => msg: |- vlan configuration for s1 ========================================= - set: bridge: domain: br_default: type: vlan-aware vlan: '700': {} '701': {} '702': {} - set: interface: swp1: bridge: domain: br_default: access: 700 - set: interface: swp2: bridge: domain: br_default: access: 700 - set: interface: swp3: bridge: domain: br_default: access: 701 - set: interface: swp4: bridge: domain: br_default: access: 702 TASK [Deploy vlan configuration] *********************************************** skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] included: /home/pipi/netlab_gh/netsim/ansible/tasks/deploy-config/cumulus_nvue.yml for s1 TASK [set_fact] **************************************************************** ok: [s1] TASK [copy the cumulus nvue YAML vlan config file to switch (generated from /home/pipi/netlab_gh/netsim/ansible/templates/vlan/cumulus_nvue.j2)] *** changed: [s1] TASK [execute on cumulus: 'nv config patch' for vlan config] ******************* changed: [s1] TASK [execute on cumulus: 'nv config apply -y' for vlan config] **************** changed: [s1] TASK [Figure out whether to deploy the module routing on current device] ******* ok: [h1] ok: [h2] ok: [h3] ok: [h4] ok: [s1] TASK [Find configuration template for routing] ********************************* skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] skipping: [s1] TASK [fail] ******************************************************************** skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] skipping: [s1] TASK [Find configuration deployment deploy_script for routing] ***************** skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] skipping: [s1] TASK [Print deployed configuration when running in verbose mode] *************** skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] skipping: [s1] TASK [Deploy routing configuration] ******************************************** skipping: [h1] skipping: [h2] skipping: [h3] skipping: [h4] skipping: [s1] PLAY [Deploy custom deployment templates] ************************************** skipping: no hosts matched PLAY RECAP ********************************************************************* h1 : ok=13 changed=0 unreachable=0 failed=0 skipped=20 rescued=0 ignored=0 h2 : ok=13 changed=0 unreachable=0 failed=0 skipped=20 rescued=0 ignored=0 h3 : ok=13 changed=0 unreachable=0 failed=0 skipped=20 rescued=0 ignored=0 h4 : ok=13 changed=0 unreachable=0 failed=0 skipped=20 rescued=0 ignored=0 s1 : ok=31 changed=6 unreachable=0 failed=0 skipped=11 rescued=0 ignored=0 Results of configuration script deployments ================================================================================ h1 OK=2 h2 OK=2 h3 OK=2 h4 OK=2 The device under test is a mixed layer-2/layer-3 switch. Red VLAN is a layer-2-only VLAN, the device acts as a L2/L3 switch on all other VLANs h1 and h2 should be able to ping each other, but not h3 or h4 h3 and h4 should be able to ping each other, but not h1 or h2