# STDOUT: ---v---v---v---v---v--- ansible-playbook 2.9.27 config file = /etc/ansible/ansible.cfg configured module search path = ['/home/jenkins/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /opt/ansible-2.9/lib/python3.9/site-packages/ansible executable location = /opt/ansible-2.9/bin/ansible-playbook python version = 3.9.18 (main, Sep 7 2023, 00:00:00) [GCC 11.4.1 20230605 (Red Hat 11.4.1-2)] Using /etc/ansible/ansible.cfg as config file Skipping callback 'actionable', as we already have a stdout callback. Skipping callback 'counter_enabled', as we already have a stdout callback. Skipping callback 'debug', as we already have a stdout callback. Skipping callback 'dense', as we already have a stdout callback. Skipping callback 'dense', as we already have a stdout callback. Skipping callback 'full_skip', as we already have a stdout callback. Skipping callback 'json', as we already have a stdout callback. Skipping callback 'minimal', as we already have a stdout callback. Skipping callback 'null', as we already have a stdout callback. Skipping callback 'oneline', as we already have a stdout callback. Skipping callback 'selective', as we already have a stdout callback. Skipping callback 'skippy', as we already have a stdout callback. Skipping callback 'stderr', as we already have a stdout callback. Skipping callback 'unixy', as we already have a stdout callback. Skipping callback 'yaml', as we already have a stdout callback. PLAYBOOK: tests_routing_rules_nm.yml ******************************************* 6 plays in /WORKDIR/git-bond_options_rewritekmhjglvp/tests/tests_routing_rules_nm.yml PLAY [Run playbook 'playbooks/tests_routing_rules.yml' with nm as provider] **** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/tests_routing_rules_nm.yml:6 Friday 09 February 2024 19:57:07 +0000 (0:00:00.012) 0:00:00.012 ******* ok: [sut] META: ran handlers TASK [Include the task 'el_repo_setup.yml'] ************************************ task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/tests_routing_rules_nm.yml:9 Friday 09 February 2024 19:57:08 +0000 (0:00:00.848) 0:00:00.860 ******* included: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/tasks/el_repo_setup.yml for sut TASK [Gather the minimum subset of ansible_facts required by the network role test] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/tasks/el_repo_setup.yml:3 Friday 09 February 2024 19:57:08 +0000 (0:00:00.015) 0:00:00.875 ******* ok: [sut] TASK [Check if system is ostree] *********************************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/tasks/el_repo_setup.yml:19 Friday 09 February 2024 19:57:08 +0000 (0:00:00.350) 0:00:01.225 ******* ok: [sut] => { "changed": false, "stat": { "exists": false } } TASK [Set flag to indicate system is ostree] *********************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/tasks/el_repo_setup.yml:24 Friday 09 February 2024 19:57:08 +0000 (0:00:00.283) 0:00:01.508 ******* ok: [sut] => { "ansible_facts": { "__network_is_ostree": false }, "changed": false } TASK [Fix CentOS6 Base repo] *************************************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/tasks/el_repo_setup.yml:28 Friday 09 February 2024 19:57:08 +0000 (0:00:00.055) 0:00:01.564 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Include the task 'enable_epel.yml'] ************************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/tasks/el_repo_setup.yml:53 Friday 09 February 2024 19:57:08 +0000 (0:00:00.022) 0:00:01.586 ******* included: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/tasks/enable_epel.yml for sut TASK [Create EPEL 9] *********************************************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/tasks/enable_epel.yml:8 Friday 09 February 2024 19:57:09 +0000 (0:00:00.036) 0:00:01.623 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Install yum-utils package] *********************************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/tasks/enable_epel.yml:24 Friday 09 February 2024 19:57:09 +0000 (0:00:00.025) 0:00:01.649 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Enable EPEL 7] *********************************************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/tasks/enable_epel.yml:30 Friday 09 February 2024 19:57:09 +0000 (0:00:00.032) 0:00:01.682 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Enable EPEL 8] *********************************************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/tasks/enable_epel.yml:35 Friday 09 February 2024 19:57:09 +0000 (0:00:00.039) 0:00:01.721 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Enable EPEL 6] *********************************************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/tasks/enable_epel.yml:40 Friday 09 February 2024 19:57:09 +0000 (0:00:00.035) 0:00:01.756 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Set network provider to 'nm'] ******************************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/tests_routing_rules_nm.yml:11 Friday 09 February 2024 19:57:09 +0000 (0:00:00.044) 0:00:01.801 ******* ok: [sut] => { "ansible_facts": { "network_provider": "nm" }, "changed": false } META: ran handlers META: ran handlers PLAY [Test for testing routing rules] ****************************************** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:3 Friday 09 February 2024 19:57:09 +0000 (0:00:00.015) 0:00:01.817 ******* ok: [sut] META: ran handlers TASK [Set type=veth and interface=ethtest0] ************************************ task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:10 Friday 09 February 2024 19:57:09 +0000 (0:00:00.554) 0:00:02.371 ******* ok: [sut] => { "ansible_facts": { "interface": "ethtest0", "type": "veth" }, "changed": false } TASK [Include the task 'show_interfaces.yml'] ********************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:14 Friday 09 February 2024 19:57:09 +0000 (0:00:00.019) 0:00:02.391 ******* included: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/show_interfaces.yml for sut TASK [Include the task 'get_current_interfaces.yml'] *************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/show_interfaces.yml:3 Friday 09 February 2024 19:57:09 +0000 (0:00:00.034) 0:00:02.425 ******* included: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/get_current_interfaces.yml for sut TASK [Gather current interface info] ******************************************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/get_current_interfaces.yml:3 Friday 09 February 2024 19:57:09 +0000 (0:00:00.015) 0:00:02.441 ******* ok: [sut] => { "changed": false, "cmd": [ "ls", "-1" ], "delta": "0:00:00.003193", "end": "2024-02-09 19:57:10.037414", "rc": 0, "start": "2024-02-09 19:57:10.034221" } STDOUT: bonding_masters eth0 lo rpltstbr TASK [Set current_interfaces] ************************************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/get_current_interfaces.yml:9 Friday 09 February 2024 19:57:10 +0000 (0:00:00.236) 0:00:02.677 ******* ok: [sut] => { "ansible_facts": { "current_interfaces": [ "bonding_masters", "eth0", "lo", "rpltstbr" ] }, "changed": false } TASK [Show current_interfaces] ************************************************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/show_interfaces.yml:5 Friday 09 February 2024 19:57:10 +0000 (0:00:00.014) 0:00:02.692 ******* ok: [sut] => {} MSG: current_interfaces: ['bonding_masters', 'eth0', 'lo', 'rpltstbr'] TASK [Include the task 'manage_test_interface.yml'] **************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:16 Friday 09 February 2024 19:57:10 +0000 (0:00:00.021) 0:00:02.714 ******* included: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/manage_test_interface.yml for sut TASK [Ensure state in ["present", "absent"]] *********************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/manage_test_interface.yml:3 Friday 09 February 2024 19:57:10 +0000 (0:00:00.022) 0:00:02.736 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Ensure type in ["dummy", "tap", "veth"]] ********************************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/manage_test_interface.yml:8 Friday 09 February 2024 19:57:10 +0000 (0:00:00.010) 0:00:02.747 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Include the task 'show_interfaces.yml'] ********************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/manage_test_interface.yml:13 Friday 09 February 2024 19:57:10 +0000 (0:00:00.009) 0:00:02.756 ******* included: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/show_interfaces.yml for sut TASK [Include the task 'get_current_interfaces.yml'] *************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/show_interfaces.yml:3 Friday 09 February 2024 19:57:10 +0000 (0:00:00.013) 0:00:02.769 ******* included: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/get_current_interfaces.yml for sut TASK [Gather current interface info] ******************************************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/get_current_interfaces.yml:3 Friday 09 February 2024 19:57:10 +0000 (0:00:00.023) 0:00:02.793 ******* ok: [sut] => { "changed": false, "cmd": [ "ls", "-1" ], "delta": "0:00:00.003228", "end": "2024-02-09 19:57:10.361874", "rc": 0, "start": "2024-02-09 19:57:10.358646" } STDOUT: bonding_masters eth0 lo rpltstbr TASK [Set current_interfaces] ************************************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/get_current_interfaces.yml:9 Friday 09 February 2024 19:57:10 +0000 (0:00:00.208) 0:00:03.002 ******* ok: [sut] => { "ansible_facts": { "current_interfaces": [ "bonding_masters", "eth0", "lo", "rpltstbr" ] }, "changed": false } TASK [Show current_interfaces] ************************************************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/show_interfaces.yml:5 Friday 09 February 2024 19:57:10 +0000 (0:00:00.021) 0:00:03.023 ******* ok: [sut] => {} MSG: current_interfaces: ['bonding_masters', 'eth0', 'lo', 'rpltstbr'] TASK [Install iproute] ********************************************************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/manage_test_interface.yml:16 Friday 09 February 2024 19:57:10 +0000 (0:00:00.018) 0:00:03.042 ******* ok: [sut] => { "attempts": 1, "changed": false, "rc": 0, "results": [] } MSG: Nothing to do TASK [Create veth interface ethtest0] ****************************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/manage_test_interface.yml:28 Friday 09 February 2024 19:57:11 +0000 (0:00:01.034) 0:00:04.076 ******* ok: [sut] => (item=ip link add ethtest0 type veth peer name peerethtest0) => { "ansible_loop_var": "item", "changed": false, "cmd": [ "ip", "link", "add", "ethtest0", "type", "veth", "peer", "name", "peerethtest0" ], "delta": "0:00:00.011272", "end": "2024-02-09 19:57:11.644195", "item": "ip link add ethtest0 type veth peer name peerethtest0", "rc": 0, "start": "2024-02-09 19:57:11.632923" } ok: [sut] => (item=ip link set peerethtest0 up) => { "ansible_loop_var": "item", "changed": false, "cmd": [ "ip", "link", "set", "peerethtest0", "up" ], "delta": "0:00:00.003690", "end": "2024-02-09 19:57:11.896810", "item": "ip link set peerethtest0 up", "rc": 0, "start": "2024-02-09 19:57:11.893120" } ok: [sut] => (item=ip link set ethtest0 up) => { "ansible_loop_var": "item", "changed": false, "cmd": [ "ip", "link", "set", "ethtest0", "up" ], "delta": "0:00:00.003516", "end": "2024-02-09 19:57:12.116093", "item": "ip link set ethtest0 up", "rc": 0, "start": "2024-02-09 19:57:12.112577" } TASK [Set up veth as managed by NetworkManager] ******************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/manage_test_interface.yml:37 Friday 09 February 2024 19:57:12 +0000 (0:00:00.687) 0:00:04.763 ******* ok: [sut] => { "changed": false, "cmd": [ "nmcli", "d", "set", "ethtest0", "managed", "true" ], "delta": "0:00:00.022279", "end": "2024-02-09 19:57:12.337538", "rc": 0, "start": "2024-02-09 19:57:12.315259" } TASK [Delete veth interface ethtest0] ****************************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/manage_test_interface.yml:45 Friday 09 February 2024 19:57:12 +0000 (0:00:00.226) 0:00:04.990 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Create dummy interface ethtest0] ***************************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/manage_test_interface.yml:52 Friday 09 February 2024 19:57:12 +0000 (0:00:00.025) 0:00:05.015 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Delete dummy interface ethtest0] ***************************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/manage_test_interface.yml:58 Friday 09 February 2024 19:57:12 +0000 (0:00:00.034) 0:00:05.050 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Create tap interface ethtest0] ******************************************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/manage_test_interface.yml:65 Friday 09 February 2024 19:57:12 +0000 (0:00:00.041) 0:00:05.092 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Delete tap interface ethtest0] ******************************************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/manage_test_interface.yml:71 Friday 09 February 2024 19:57:12 +0000 (0:00:00.039) 0:00:05.131 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Include the task 'assert_device_present.yml'] **************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:20 Friday 09 February 2024 19:57:12 +0000 (0:00:00.023) 0:00:05.155 ******* included: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/assert_device_present.yml for sut TASK [Include the task 'get_interface_stat.yml'] ******************************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/assert_device_present.yml:3 Friday 09 February 2024 19:57:12 +0000 (0:00:00.041) 0:00:05.197 ******* included: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/get_interface_stat.yml for sut TASK [Get stat for interface ethtest0] ***************************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/get_interface_stat.yml:3 Friday 09 February 2024 19:57:12 +0000 (0:00:00.047) 0:00:05.245 ******* ok: [sut] => { "changed": false, "stat": { "atime": 1707508631.6365821, "block_size": 4096, "blocks": 0, "ctime": 1707508631.6365821, "dev": 21, "device_type": 0, "executable": true, "exists": true, "gid": 0, "gr_name": "root", "inode": 30126, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": true, "isreg": false, "issock": false, "isuid": false, "lnk_source": "/sys/devices/virtual/net/ethtest0", "lnk_target": "../../devices/virtual/net/ethtest0", "mode": "0777", "mtime": 1707508631.6365821, "nlink": 1, "path": "/sys/class/net/ethtest0", "pw_name": "root", "readable": true, "rgrp": true, "roth": true, "rusr": true, "size": 0, "uid": 0, "wgrp": true, "woth": true, "writeable": true, "wusr": true, "xgrp": true, "xoth": true, "xusr": true } } TASK [Assert that the interface is present - 'ethtest0'] *********************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/assert_device_present.yml:5 Friday 09 February 2024 19:57:12 +0000 (0:00:00.201) 0:00:05.447 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Create a dedicated test file in `/etc/iproute2/rt_tables.d/` and add a new routing table] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:23 Friday 09 February 2024 19:57:12 +0000 (0:00:00.061) 0:00:05.508 ******* changed: [sut] => { "backup": "", "changed": true } MSG: line added TASK [linux-system-roles.network : Ensure ansible_facts used by role] ********** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:4 Friday 09 February 2024 19:57:13 +0000 (0:00:00.436) 0:00:05.945 ******* included: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml for sut TASK [linux-system-roles.network : Ensure ansible_facts used by role are present] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml:3 Friday 09 February 2024 19:57:13 +0000 (0:00:00.067) 0:00:06.012 ******* skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Check if system is ostree] ****************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml:13 Friday 09 February 2024 19:57:13 +0000 (0:00:00.012) 0:00:06.024 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Set flag to indicate system is ostree] ****** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml:18 Friday 09 February 2024 19:57:13 +0000 (0:00:00.009) 0:00:06.034 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Check which services are running] *********** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 Friday 09 February 2024 19:57:13 +0000 (0:00:00.011) 0:00:06.045 ******* ok: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Check which packages are installed] ********* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Friday 09 February 2024 19:57:14 +0000 (0:00:01.510) 0:00:07.556 ******* ok: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Print network provider] ********************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:7 Friday 09 February 2024 19:57:16 +0000 (0:00:01.155) 0:00:08.712 ******* ok: [sut] => {} MSG: Using network provider: nm TASK [linux-system-roles.network : Abort applying the network state configuration if using the `network_state` variable with the initscripts provider] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:11 Friday 09 February 2024 19:57:16 +0000 (0:00:00.027) 0:00:08.739 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Abort applying the network state configuration if the system version of the managed host is below 8] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:19 Friday 09 February 2024 19:57:16 +0000 (0:00:00.045) 0:00:08.785 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install packages] *************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:30 Friday 09 February 2024 19:57:16 +0000 (0:00:00.034) 0:00:08.820 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install NetworkManager and nmstate when using network_state variable] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:43 Friday 09 February 2024 19:57:16 +0000 (0:00:00.073) 0:00:08.893 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install python3-libnmstate when using network_state variable] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:58 Friday 09 February 2024 19:57:16 +0000 (0:00:00.022) 0:00:08.916 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Restart NetworkManager due to wireless or team interfaces] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:74 Friday 09 February 2024 19:57:16 +0000 (0:00:00.021) 0:00:08.938 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable and start NetworkManager] ************ task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:88 Friday 09 February 2024 19:57:16 +0000 (0:00:00.039) 0:00:08.978 ******* ok: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Enable and start wpa_supplicant] ************ task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:99 Friday 09 February 2024 19:57:16 +0000 (0:00:00.565) 0:00:09.543 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable network service] ********************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:108 Friday 09 February 2024 19:57:16 +0000 (0:00:00.031) 0:00:09.575 ******* skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Ensure initscripts network file dependency is present] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:116 Friday 09 February 2024 19:57:16 +0000 (0:00:00.025) 0:00:09.601 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Configure networking connection profiles] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:125 Friday 09 February 2024 19:57:17 +0000 (0:00:00.022) 0:00:09.624 ******* changed: [sut] => { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "autoconnect": true, "interface_name": "ethtest0", "ip": { "address": [ "198.51.100.3/26", "2001:db8::2/32" ], "dhcp4": false, "route": [ { "gateway": "198.51.100.6", "metric": 4, "network": "198.51.100.64", "prefix": 26, "table": 30200 }, { "gateway": "198.51.100.1", "metric": 2, "network": "198.51.100.128", "prefix": 26, "table": 30400 }, { "gateway": "2001:db8::1", "metric": 2, "network": "2001:db8::4", "prefix": 32, "table": 30600 } ], "routing_rule": [ { "from": "198.51.100.58/26", "priority": 30200, "table": 30200 }, { "family": "ipv4", "fwmark": 1, "fwmask": 1, "priority": 30201, "table": 30200 }, { "family": "ipv4", "ipproto": 6, "priority": 30202, "table": 30200 }, { "family": "ipv4", "priority": 30203, "sport": "128 - 256", "table": 30200 }, { "family": "ipv4", "priority": 30204, "table": 30200, "tos": 8 }, { "priority": 30400, "table": 30400, "to": "198.51.100.128/26" }, { "family": "ipv4", "iif": "iiftest", "priority": 30401, "table": 30400 }, { "family": "ipv4", "oif": "oiftest", "priority": 30402, "table": 30400 }, { "from": "0.0.0.0/0", "priority": 30403, "table": 30400, "to": "0.0.0.0/0" }, { "priority": 30600, "table": 30600, "to": "2001:db8::4/32" }, { "dport": "128 - 256", "family": "ipv6", "invert": true, "priority": 30601, "table": 30600 }, { "from": "::/0", "priority": 30602, "table": 30600, "to": "::/0" }, { "from": "198.51.100.56/26", "priority": 200, "table": "custom" } ] }, "name": "ethtest0", "state": "up", "type": "ethernet" } ], "force_state_change": false, "ignore_errors": false, "provider": "nm" } }, "changed": true } STDERR: [003] #0, state:up persistent_state:present, 'ethtest0': add connection ethtest0, 417585c5-ea55-4d23-af89-f423679c5722 [004] #0, state:up persistent_state:present, 'ethtest0': up connection ethtest0, 417585c5-ea55-4d23-af89-f423679c5722 (not-active) TASK [linux-system-roles.network : Configure networking state] ***************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:137 Friday 09 February 2024 19:57:17 +0000 (0:00:00.574) 0:00:10.199 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Show stderr messages for the network_connections] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:143 Friday 09 February 2024 19:57:17 +0000 (0:00:00.035) 0:00:10.234 ******* ok: [sut] => { "__network_connections_result.stderr_lines": [ "[003] #0, state:up persistent_state:present, 'ethtest0': add connection ethtest0, 417585c5-ea55-4d23-af89-f423679c5722", "[004] #0, state:up persistent_state:present, 'ethtest0': up connection ethtest0, 417585c5-ea55-4d23-af89-f423679c5722 (not-active)" ] } TASK [linux-system-roles.network : Show debug messages for the network_connections] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:147 Friday 09 February 2024 19:57:17 +0000 (0:00:00.081) 0:00:10.316 ******* ok: [sut] => { "__network_connections_result": { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "autoconnect": true, "interface_name": "ethtest0", "ip": { "address": [ "198.51.100.3/26", "2001:db8::2/32" ], "dhcp4": false, "route": [ { "gateway": "198.51.100.6", "metric": 4, "network": "198.51.100.64", "prefix": 26, "table": 30200 }, { "gateway": "198.51.100.1", "metric": 2, "network": "198.51.100.128", "prefix": 26, "table": 30400 }, { "gateway": "2001:db8::1", "metric": 2, "network": "2001:db8::4", "prefix": 32, "table": 30600 } ], "routing_rule": [ { "from": "198.51.100.58/26", "priority": 30200, "table": 30200 }, { "family": "ipv4", "fwmark": 1, "fwmask": 1, "priority": 30201, "table": 30200 }, { "family": "ipv4", "ipproto": 6, "priority": 30202, "table": 30200 }, { "family": "ipv4", "priority": 30203, "sport": "128 - 256", "table": 30200 }, { "family": "ipv4", "priority": 30204, "table": 30200, "tos": 8 }, { "priority": 30400, "table": 30400, "to": "198.51.100.128/26" }, { "family": "ipv4", "iif": "iiftest", "priority": 30401, "table": 30400 }, { "family": "ipv4", "oif": "oiftest", "priority": 30402, "table": 30400 }, { "from": "0.0.0.0/0", "priority": 30403, "table": 30400, "to": "0.0.0.0/0" }, { "priority": 30600, "table": 30600, "to": "2001:db8::4/32" }, { "dport": "128 - 256", "family": "ipv6", "invert": true, "priority": 30601, "table": 30600 }, { "from": "::/0", "priority": 30602, "table": 30600, "to": "::/0" }, { "from": "198.51.100.56/26", "priority": 200, "table": "custom" } ] }, "name": "ethtest0", "state": "up", "type": "ethernet" } ], "force_state_change": false, "ignore_errors": false, "provider": "nm" } }, "changed": true, "failed": false, "stderr": "[003] #0, state:up persistent_state:present, 'ethtest0': add connection ethtest0, 417585c5-ea55-4d23-af89-f423679c5722\n[004] #0, state:up persistent_state:present, 'ethtest0': up connection ethtest0, 417585c5-ea55-4d23-af89-f423679c5722 (not-active)\n", "stderr_lines": [ "[003] #0, state:up persistent_state:present, 'ethtest0': add connection ethtest0, 417585c5-ea55-4d23-af89-f423679c5722", "[004] #0, state:up persistent_state:present, 'ethtest0': up connection ethtest0, 417585c5-ea55-4d23-af89-f423679c5722 (not-active)" ] } } TASK [linux-system-roles.network : Show debug messages for the network_state] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:152 Friday 09 February 2024 19:57:17 +0000 (0:00:00.040) 0:00:10.357 ******* skipping: [sut] => {} TASK [linux-system-roles.network : Re-test connectivity] *********************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:158 Friday 09 February 2024 19:57:17 +0000 (0:00:00.032) 0:00:10.389 ******* ok: [sut] => { "changed": false, "ping": "pong" } TASK [Get the routing rule for looking up the table 30200] ********************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:117 Friday 09 February 2024 19:57:18 +0000 (0:00:00.352) 0:00:10.742 ******* ok: [sut] => { "changed": false, "cmd": [ "ip", "rule", "list", "table", "30200" ], "delta": "0:00:00.004630", "end": "2024-02-09 19:57:18.325139", "rc": 0, "start": "2024-02-09 19:57:18.320509" } STDOUT: 30200: from 198.51.100.58/26 lookup 30200 proto static 30201: from all fwmark 0x1/0x1 lookup 30200 proto static 30202: from all ipproto tcp lookup 30200 proto static 30203: from all sport 128-256 lookup 30200 proto static 30204: from all tos throughput lookup 30200 proto static TASK [Get the routing rule for looking up the table 30400] ********************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:124 Friday 09 February 2024 19:57:18 +0000 (0:00:00.254) 0:00:10.997 ******* ok: [sut] => { "changed": false, "cmd": [ "ip", "rule", "list", "table", "30400" ], "delta": "0:00:00.003634", "end": "2024-02-09 19:57:18.581662", "rc": 0, "start": "2024-02-09 19:57:18.578028" } STDOUT: 30400: from all to 198.51.100.128/26 lookup 30400 proto static 30401: from all iif iiftest [detached] lookup 30400 proto static 30402: from all oif oiftest [detached] lookup 30400 proto static 30403: from all lookup 30400 proto static TASK [Get the routing rule for looking up the table 30600] ********************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:131 Friday 09 February 2024 19:57:18 +0000 (0:00:00.254) 0:00:11.252 ******* ok: [sut] => { "changed": false, "cmd": [ "ip", "-6", "rule", "list", "table", "30600" ], "delta": "0:00:00.003560", "end": "2024-02-09 19:57:18.841873", "rc": 0, "start": "2024-02-09 19:57:18.838313" } STDOUT: 30600: from all to 2001:db8::4/32 lookup 30600 proto static 30601: not from all dport 128-256 lookup 30600 proto static 30602: from all lookup 30600 proto static TASK [Get the routing rule for looking up the table 'custom'] ****************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:138 Friday 09 February 2024 19:57:18 +0000 (0:00:00.270) 0:00:11.522 ******* ok: [sut] => { "changed": false, "cmd": [ "ip", "rule", "list", "table", "custom" ], "delta": "0:00:00.003551", "end": "2024-02-09 19:57:19.110029", "rc": 0, "start": "2024-02-09 19:57:19.106478" } STDOUT: 200: from 198.51.100.56/26 lookup custom proto static TASK [Get the IPv4 routing rule for the connection "ethtest0"] ***************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:145 Friday 09 February 2024 19:57:19 +0000 (0:00:00.251) 0:00:11.773 ******* ok: [sut] => { "changed": false, "cmd": [ "nmcli", "-f", "ipv4.routing-rules", "c", "show", "ethtest0" ], "delta": "0:00:00.020822", "end": "2024-02-09 19:57:19.367984", "rc": 0, "start": "2024-02-09 19:57:19.347162" } STDOUT: ipv4.routing-rules: priority 30200 from 198.51.100.58/26 table 30200, priority 30201 from 0.0.0.0/0 fwmark 0x1/0x1 table 30200, priority 30202 from 0.0.0.0/0 ipproto 6 table 30200, priority 30203 from 0.0.0.0/0 sport 128-256 table 30200, priority 30204 from 0.0.0.0/0 tos 0x08 table 30200, priority 30400 to 198.51.100.128/26 table 30400, priority 30401 from 0.0.0.0/0 iif iiftest table 30400, priority 30402 from 0.0.0.0/0 oif oiftest table 30400, priority 30403 from 0.0.0.0/0 table 30400, priority 200 from 198.51.100.56/26 table 200 TASK [Get the IPv6 routing rule for the connection "ethtest0"] ***************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:151 Friday 09 February 2024 19:57:19 +0000 (0:00:00.248) 0:00:12.022 ******* ok: [sut] => { "changed": false, "cmd": [ "nmcli", "-f", "ipv6.routing-rules", "c", "show", "ethtest0" ], "delta": "0:00:00.020763", "end": "2024-02-09 19:57:19.633722", "rc": 0, "start": "2024-02-09 19:57:19.612959" } STDOUT: ipv6.routing-rules: priority 30600 to 2001:db8::4/32 table 30600, priority 30601 not from ::/0 dport 128-256 table 30600, priority 30602 from ::/0 table 30600 TASK [Assert that the routing rule with table lookup 30200 matches the specified rule] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:157 Friday 09 February 2024 19:57:19 +0000 (0:00:00.273) 0:00:12.296 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Assert that the routing rule with table lookup 30400 matches the specified rule] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:175 Friday 09 February 2024 19:57:19 +0000 (0:00:00.057) 0:00:12.354 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Assert that the routing rule with table lookup 30600 matches the specified rule] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:189 Friday 09 February 2024 19:57:19 +0000 (0:00:00.057) 0:00:12.411 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Assert that the routing rule with 'custom' table lookup matches the specified rule] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:201 Friday 09 February 2024 19:57:19 +0000 (0:00:00.061) 0:00:12.473 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Assert that the specified IPv4 routing rule was configured in the connection "ethtest0"] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:211 Friday 09 February 2024 19:57:19 +0000 (0:00:00.064) 0:00:12.537 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Assert that the specified IPv6 routing rule was configured in the connection "ethtest0"] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:238 Friday 09 February 2024 19:57:20 +0000 (0:00:00.152) 0:00:12.690 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Remove the dedicated test file in `/etc/iproute2/rt_tables.d/`] ********** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:253 Friday 09 February 2024 19:57:20 +0000 (0:00:00.050) 0:00:12.740 ******* changed: [sut] => { "changed": true, "path": "/etc/iproute2/rt_tables.d/table.conf", "state": "absent" } META: ran handlers META: ran handlers PLAY [Set down {{ profile }}] ************************************************** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/down_profile.yml:3 Friday 09 February 2024 19:57:20 +0000 (0:00:00.291) 0:00:13.032 ******* ok: [sut] META: ran handlers TASK [linux-system-roles.network : Ensure ansible_facts used by role] ********** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:4 Friday 09 February 2024 19:57:20 +0000 (0:00:00.579) 0:00:13.612 ******* included: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml for sut TASK [linux-system-roles.network : Ensure ansible_facts used by role are present] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml:3 Friday 09 February 2024 19:57:21 +0000 (0:00:00.065) 0:00:13.677 ******* skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Check if system is ostree] ****************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml:13 Friday 09 February 2024 19:57:21 +0000 (0:00:00.033) 0:00:13.711 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Set flag to indicate system is ostree] ****** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml:18 Friday 09 February 2024 19:57:21 +0000 (0:00:00.025) 0:00:13.737 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Check which services are running] *********** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 Friday 09 February 2024 19:57:21 +0000 (0:00:00.021) 0:00:13.758 ******* ok: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Check which packages are installed] ********* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Friday 09 February 2024 19:57:22 +0000 (0:00:01.532) 0:00:15.291 ******* ok: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Print network provider] ********************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:7 Friday 09 February 2024 19:57:23 +0000 (0:00:01.006) 0:00:16.298 ******* ok: [sut] => {} MSG: Using network provider: nm TASK [linux-system-roles.network : Abort applying the network state configuration if using the `network_state` variable with the initscripts provider] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:11 Friday 09 February 2024 19:57:23 +0000 (0:00:00.042) 0:00:16.340 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Abort applying the network state configuration if the system version of the managed host is below 8] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:19 Friday 09 February 2024 19:57:23 +0000 (0:00:00.023) 0:00:16.364 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install packages] *************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:30 Friday 09 February 2024 19:57:23 +0000 (0:00:00.023) 0:00:16.388 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install NetworkManager and nmstate when using network_state variable] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:43 Friday 09 February 2024 19:57:23 +0000 (0:00:00.074) 0:00:16.462 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install python3-libnmstate when using network_state variable] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:58 Friday 09 February 2024 19:57:23 +0000 (0:00:00.030) 0:00:16.492 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Restart NetworkManager due to wireless or team interfaces] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:74 Friday 09 February 2024 19:57:23 +0000 (0:00:00.060) 0:00:16.553 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable and start NetworkManager] ************ task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:88 Friday 09 February 2024 19:57:23 +0000 (0:00:00.045) 0:00:16.598 ******* ok: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Enable and start wpa_supplicant] ************ task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:99 Friday 09 February 2024 19:57:24 +0000 (0:00:00.541) 0:00:17.140 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable network service] ********************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:108 Friday 09 February 2024 19:57:24 +0000 (0:00:00.052) 0:00:17.192 ******* skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Ensure initscripts network file dependency is present] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:116 Friday 09 February 2024 19:57:24 +0000 (0:00:00.036) 0:00:17.228 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Configure networking connection profiles] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:125 Friday 09 February 2024 19:57:24 +0000 (0:00:00.044) 0:00:17.273 ******* changed: [sut] => { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "name": "ethtest0", "state": "down" } ], "force_state_change": false, "ignore_errors": false, "provider": "nm" } }, "changed": true } STDERR: TASK [linux-system-roles.network : Configure networking state] ***************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:137 Friday 09 February 2024 19:57:25 +0000 (0:00:00.522) 0:00:17.795 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Show stderr messages for the network_connections] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:143 Friday 09 February 2024 19:57:25 +0000 (0:00:00.029) 0:00:17.825 ******* ok: [sut] => { "__network_connections_result.stderr_lines": [ "" ] } TASK [linux-system-roles.network : Show debug messages for the network_connections] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:147 Friday 09 February 2024 19:57:25 +0000 (0:00:00.049) 0:00:17.875 ******* ok: [sut] => { "__network_connections_result": { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "name": "ethtest0", "state": "down" } ], "force_state_change": false, "ignore_errors": false, "provider": "nm" } }, "changed": true, "failed": false, "stderr": "\n", "stderr_lines": [ "" ] } } TASK [linux-system-roles.network : Show debug messages for the network_state] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:152 Friday 09 February 2024 19:57:25 +0000 (0:00:00.028) 0:00:17.903 ******* skipping: [sut] => {} TASK [linux-system-roles.network : Re-test connectivity] *********************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:158 Friday 09 February 2024 19:57:25 +0000 (0:00:00.048) 0:00:17.952 ******* ok: [sut] => { "changed": false, "ping": "pong" } META: ran handlers META: ran handlers PLAY [Delete the interface] **************************************************** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/down_profile+delete_interface.yml:5 Friday 09 February 2024 19:57:25 +0000 (0:00:00.245) 0:00:18.197 ******* ok: [sut] META: ran handlers TASK [Include the task 'delete_interface.yml'] ********************************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/down_profile+delete_interface.yml:8 Friday 09 February 2024 19:57:26 +0000 (0:00:00.624) 0:00:18.821 ******* included: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/delete_interface.yml for sut TASK [Remove test interface if necessary] ************************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/delete_interface.yml:3 Friday 09 February 2024 19:57:26 +0000 (0:00:00.035) 0:00:18.857 ******* ok: [sut] => { "changed": false, "cmd": [ "ip", "link", "del", "ethtest0" ], "delta": "0:00:00.018646", "end": "2024-02-09 19:57:26.445138", "rc": 0, "start": "2024-02-09 19:57:26.426492" } META: ran handlers META: ran handlers PLAY [Remove {{ profile }}] **************************************************** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/remove_profile.yml:3 Friday 09 February 2024 19:57:26 +0000 (0:00:00.294) 0:00:19.152 ******* ok: [sut] META: ran handlers TASK [linux-system-roles.network : Ensure ansible_facts used by role] ********** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:4 Friday 09 February 2024 19:57:27 +0000 (0:00:00.744) 0:00:19.897 ******* included: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml for sut TASK [linux-system-roles.network : Ensure ansible_facts used by role are present] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml:3 Friday 09 February 2024 19:57:27 +0000 (0:00:00.051) 0:00:19.948 ******* skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Check if system is ostree] ****************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml:13 Friday 09 February 2024 19:57:27 +0000 (0:00:00.058) 0:00:20.007 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Set flag to indicate system is ostree] ****** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml:18 Friday 09 February 2024 19:57:27 +0000 (0:00:00.050) 0:00:20.057 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Check which services are running] *********** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 Friday 09 February 2024 19:57:27 +0000 (0:00:00.024) 0:00:20.082 ******* ok: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Check which packages are installed] ********* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Friday 09 February 2024 19:57:28 +0000 (0:00:01.485) 0:00:21.568 ******* ok: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Print network provider] ********************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:7 Friday 09 February 2024 19:57:29 +0000 (0:00:00.987) 0:00:22.555 ******* ok: [sut] => {} MSG: Using network provider: nm TASK [linux-system-roles.network : Abort applying the network state configuration if using the `network_state` variable with the initscripts provider] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:11 Friday 09 February 2024 19:57:29 +0000 (0:00:00.028) 0:00:22.583 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Abort applying the network state configuration if the system version of the managed host is below 8] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:19 Friday 09 February 2024 19:57:29 +0000 (0:00:00.029) 0:00:22.613 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install packages] *************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:30 Friday 09 February 2024 19:57:30 +0000 (0:00:00.039) 0:00:22.653 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install NetworkManager and nmstate when using network_state variable] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:43 Friday 09 February 2024 19:57:30 +0000 (0:00:00.057) 0:00:22.711 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install python3-libnmstate when using network_state variable] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:58 Friday 09 February 2024 19:57:30 +0000 (0:00:00.052) 0:00:22.763 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Restart NetworkManager due to wireless or team interfaces] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:74 Friday 09 February 2024 19:57:30 +0000 (0:00:00.023) 0:00:22.786 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable and start NetworkManager] ************ task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:88 Friday 09 February 2024 19:57:30 +0000 (0:00:00.031) 0:00:22.818 ******* ok: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Enable and start wpa_supplicant] ************ task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:99 Friday 09 February 2024 19:57:30 +0000 (0:00:00.372) 0:00:23.191 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable network service] ********************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:108 Friday 09 February 2024 19:57:30 +0000 (0:00:00.027) 0:00:23.218 ******* skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [linux-system-roles.network : Ensure initscripts network file dependency is present] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:116 Friday 09 February 2024 19:57:30 +0000 (0:00:00.020) 0:00:23.239 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Configure networking connection profiles] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:125 Friday 09 February 2024 19:57:30 +0000 (0:00:00.021) 0:00:23.261 ******* changed: [sut] => { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "name": "ethtest0", "persistent_state": "absent" } ], "force_state_change": false, "ignore_errors": false, "provider": "nm" } }, "changed": true } STDERR: TASK [linux-system-roles.network : Configure networking state] ***************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:137 Friday 09 February 2024 19:57:31 +0000 (0:00:00.385) 0:00:23.646 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Show stderr messages for the network_connections] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:143 Friday 09 February 2024 19:57:31 +0000 (0:00:00.036) 0:00:23.683 ******* ok: [sut] => { "__network_connections_result.stderr_lines": [ "" ] } TASK [linux-system-roles.network : Show debug messages for the network_connections] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:147 Friday 09 February 2024 19:57:31 +0000 (0:00:00.024) 0:00:23.707 ******* ok: [sut] => { "__network_connections_result": { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "name": "ethtest0", "persistent_state": "absent" } ], "force_state_change": false, "ignore_errors": false, "provider": "nm" } }, "changed": true, "failed": false, "stderr": "\n", "stderr_lines": [ "" ] } } TASK [linux-system-roles.network : Show debug messages for the network_state] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:152 Friday 09 February 2024 19:57:31 +0000 (0:00:00.026) 0:00:23.734 ******* skipping: [sut] => {} TASK [linux-system-roles.network : Re-test connectivity] *********************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:158 Friday 09 February 2024 19:57:31 +0000 (0:00:00.021) 0:00:23.756 ******* ok: [sut] => { "changed": false, "ping": "pong" } META: ran handlers META: ran handlers PLAY [Assert device and profile are absent] ************************************ TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:267 Friday 09 February 2024 19:57:31 +0000 (0:00:00.193) 0:00:23.950 ******* ok: [sut] META: ran handlers TASK [Include the task 'assert_profile_absent.yml'] **************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:270 Friday 09 February 2024 19:57:31 +0000 (0:00:00.542) 0:00:24.492 ******* included: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/assert_profile_absent.yml for sut TASK [Include the task 'get_profile_stat.yml'] ********************************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/assert_profile_absent.yml:3 Friday 09 February 2024 19:57:31 +0000 (0:00:00.049) 0:00:24.542 ******* included: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/get_profile_stat.yml for sut TASK [Initialize NM profile exist and ansible_managed comment flag] ************ task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/get_profile_stat.yml:3 Friday 09 February 2024 19:57:31 +0000 (0:00:00.057) 0:00:24.599 ******* ok: [sut] => { "ansible_facts": { "lsr_net_profile_ansible_managed": false, "lsr_net_profile_exists": false, "lsr_net_profile_fingerprint": false }, "changed": false } TASK [Stat profile file] ******************************************************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/get_profile_stat.yml:9 Friday 09 February 2024 19:57:32 +0000 (0:00:00.022) 0:00:24.622 ******* ok: [sut] => { "changed": false, "stat": { "exists": false } } TASK [Set NM profile exist flag based on the profile files] ******************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/get_profile_stat.yml:17 Friday 09 February 2024 19:57:32 +0000 (0:00:00.194) 0:00:24.817 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Get NM profile info] ***************************************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/get_profile_stat.yml:25 Friday 09 February 2024 19:57:32 +0000 (0:00:00.043) 0:00:24.861 ******* fatal: [sut]: FAILED! => { "changed": false, "cmd": "nmcli -f NAME,FILENAME connection show |grep ethtest0 | grep /etc", "delta": "0:00:00.020694", "end": "2024-02-09 19:57:32.453818", "rc": 1, "start": "2024-02-09 19:57:32.433124" } MSG: non-zero return code ...ignoring TASK [Set NM profile exist flag and ansible_managed flag true based on the nmcli output] *** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/get_profile_stat.yml:35 Friday 09 February 2024 19:57:32 +0000 (0:00:00.249) 0:00:25.110 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Get the ansible_managed comment in ifcfg-ethtest0] *********************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/get_profile_stat.yml:49 Friday 09 February 2024 19:57:32 +0000 (0:00:00.049) 0:00:25.159 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Verify the ansible_managed comment in ifcfg-ethtest0] ******************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/get_profile_stat.yml:56 Friday 09 February 2024 19:57:32 +0000 (0:00:00.036) 0:00:25.196 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Get the fingerprint comment in ifcfg-ethtest0] *************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/get_profile_stat.yml:62 Friday 09 February 2024 19:57:32 +0000 (0:00:00.045) 0:00:25.242 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Verify the fingerprint comment in ifcfg-ethtest0] ************************ task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/get_profile_stat.yml:69 Friday 09 February 2024 19:57:32 +0000 (0:00:00.033) 0:00:25.275 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Assert that the profile is absent - 'ethtest0'] ************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/assert_profile_absent.yml:5 Friday 09 February 2024 19:57:32 +0000 (0:00:00.029) 0:00:25.305 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Include the task 'assert_device_absent.yml'] ***************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:274 Friday 09 February 2024 19:57:32 +0000 (0:00:00.043) 0:00:25.348 ******* included: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/assert_device_absent.yml for sut TASK [Include the task 'get_interface_stat.yml'] ******************************* task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/assert_device_absent.yml:3 Friday 09 February 2024 19:57:32 +0000 (0:00:00.075) 0:00:25.424 ******* included: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/get_interface_stat.yml for sut TASK [Get stat for interface ethtest0] ***************************************** task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/get_interface_stat.yml:3 Friday 09 February 2024 19:57:32 +0000 (0:00:00.068) 0:00:25.493 ******* ok: [sut] => { "changed": false, "stat": { "exists": false } } TASK [Assert that the interface is absent - 'ethtest0'] ************************ task path: /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/assert_device_absent.yml:5 Friday 09 February 2024 19:57:33 +0000 (0:00:00.257) 0:00:25.750 ******* ok: [sut] => { "changed": false } MSG: All assertions passed META: ran handlers META: ran handlers PLAY RECAP ********************************************************************* sut : ok=84 changed=5 unreachable=0 failed=0 skipped=61 rescued=0 ignored=1 Friday 09 February 2024 19:57:33 +0000 (0:00:00.029) 0:00:25.779 ******* =============================================================================== linux-system-roles.network : Check which services are running ----------- 1.53s /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 linux-system-roles.network : Check which services are running ----------- 1.51s /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 linux-system-roles.network : Check which services are running ----------- 1.49s /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 linux-system-roles.network : Check which packages are installed --------- 1.16s /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Install iproute --------------------------------------------------------- 1.03s /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/manage_test_interface.yml:16 linux-system-roles.network : Check which packages are installed --------- 1.01s /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 linux-system-roles.network : Check which packages are installed --------- 0.99s /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Gathering Facts --------------------------------------------------------- 0.85s /WORKDIR/git-bond_options_rewritekmhjglvp/tests/tests_routing_rules_nm.yml:6 -- Gathering Facts --------------------------------------------------------- 0.74s /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/remove_profile.yml:3 Create veth interface ethtest0 ------------------------------------------ 0.69s /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tasks/manage_test_interface.yml:28 Gathering Facts --------------------------------------------------------- 0.62s /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/down_profile+delete_interface.yml:5 Gathering Facts --------------------------------------------------------- 0.58s /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/down_profile.yml:3 -- linux-system-roles.network : Configure networking connection profiles --- 0.57s /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:125 linux-system-roles.network : Enable and start NetworkManager ------------ 0.57s /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:88 Gathering Facts --------------------------------------------------------- 0.55s /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:3 Gathering Facts --------------------------------------------------------- 0.54s /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:267 linux-system-roles.network : Enable and start NetworkManager ------------ 0.54s /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:88 linux-system-roles.network : Configure networking connection profiles --- 0.52s /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:125 Create a dedicated test file in `/etc/iproute2/rt_tables.d/` and add a new routing table --- 0.44s /WORKDIR/git-bond_options_rewritekmhjglvp/tests/playbooks/tests_routing_rules.yml:23 linux-system-roles.network : Configure networking connection profiles --- 0.39s /WORKDIR/git-bond_options_rewritekmhjglvp/tests/roles/linux-system-roles.network/tasks/main.yml:125 ---^---^---^---^---^--- # STDERR: ---v---v---v---v---v--- ---^---^---^---^---^---