# STDOUT: ---v---v---v---v---v--- ansible-playbook [core 2.16.0] 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.16/lib/python3.11/site-packages/ansible ansible collection location = /WORKDIR/git-route_typedsakgcb_/.collection executable location = /opt/ansible-2.16/bin/ansible-playbook python version = 3.11.5 (main, Sep 7 2023, 00:00:00) [GCC 11.4.1 20230605 (Red Hat 11.4.1-2)] (/opt/ansible-2.16/bin/python) jinja version = 3.1.2 libyaml = True Using /etc/ansible/ansible.cfg as config file Skipping callback 'debug', as we already have a stdout callback. Skipping callback 'default', as we already have a stdout callback. Skipping callback 'minimal', as we already have a stdout callback. Skipping callback 'oneline', as we already have a stdout callback. PLAYBOOK: tests_ipv6_initscripts.yml ******************************************* 2 plays in /WORKDIR/git-route_typedsakgcb_/tests/tests_ipv6_initscripts.yml PLAY [Run playbook 'playbooks/tests_ipv6.yml' with initscripts as provider] **** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-route_typedsakgcb_/tests/tests_ipv6_initscripts.yml:4 Tuesday 19 December 2023 23:29:02 +0000 (0:00:00.012) 0:00:00.012 ****** ok: [sut] TASK [Include the task 'el_repo_setup.yml'] ************************************ task path: /WORKDIR/git-route_typedsakgcb_/tests/tests_ipv6_initscripts.yml:8 Tuesday 19 December 2023 23:29:02 +0000 (0:00:00.889) 0:00:00.901 ****** included: /WORKDIR/git-route_typedsakgcb_/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-route_typedsakgcb_/tests/tasks/el_repo_setup.yml:3 Tuesday 19 December 2023 23:29:02 +0000 (0:00:00.011) 0:00:00.912 ****** ok: [sut] TASK [Check if system is ostree] *********************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/tasks/el_repo_setup.yml:17 Tuesday 19 December 2023 23:29:03 +0000 (0:00:00.373) 0:00:01.286 ****** ok: [sut] => { "changed": false, "stat": { "exists": false } } TASK [Set flag to indicate system is ostree] *********************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/tasks/el_repo_setup.yml:22 Tuesday 19 December 2023 23:29:03 +0000 (0:00:00.253) 0:00:01.540 ****** ok: [sut] => { "ansible_facts": { "__network_is_ostree": false }, "changed": false } TASK [Fix CentOS6 Base repo] *************************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/tasks/el_repo_setup.yml:26 Tuesday 19 December 2023 23:29:03 +0000 (0:00:00.018) 0:00:01.558 ****** skipping: [sut] => { "changed": false, "false_condition": "ansible_distribution_major_version == '6'", "skip_reason": "Conditional result was False" } TASK [Include the task 'enable_epel.yml'] ************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/tasks/el_repo_setup.yml:51 Tuesday 19 December 2023 23:29:03 +0000 (0:00:00.008) 0:00:01.567 ****** included: /WORKDIR/git-route_typedsakgcb_/tests/tasks/enable_epel.yml for sut TASK [Create EPEL 8] *********************************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/tasks/enable_epel.yml:8 Tuesday 19 December 2023 23:29:03 +0000 (0:00:00.023) 0:00:01.591 ****** ok: [sut] => { "attempts": 1, "changed": false, "cmd": [ "rpm", "-iv", "https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm" ], "delta": null, "end": null, "rc": 0, "start": null } STDOUT: skipped, since /etc/yum.repos.d/epel.repo exists MSG: Did not run command since '/etc/yum.repos.d/epel.repo' exists TASK [Install yum-utils package] *********************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/tasks/enable_epel.yml:24 Tuesday 19 December 2023 23:29:03 +0000 (0:00:00.255) 0:00:01.847 ****** skipping: [sut] => { "changed": false, "false_condition": "ansible_distribution_major_version == '7'", "skip_reason": "Conditional result was False" } TASK [Enable EPEL 7] *********************************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/tasks/enable_epel.yml:30 Tuesday 19 December 2023 23:29:03 +0000 (0:00:00.010) 0:00:01.857 ****** skipping: [sut] => { "changed": false, "false_condition": "ansible_distribution_major_version == '7'", "skip_reason": "Conditional result was False" } TASK [Enable EPEL 8] *********************************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/tasks/enable_epel.yml:35 Tuesday 19 December 2023 23:29:03 +0000 (0:00:00.008) 0:00:01.866 ****** ok: [sut] => { "changed": false, "cmd": [ "dnf", "config-manager", "--set-enabled", "epel" ], "delta": "0:00:00.262721", "end": "2023-12-19 23:29:04.390188", "rc": 0, "start": "2023-12-19 23:29:04.127467" } TASK [Enable EPEL 6] *********************************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/tasks/enable_epel.yml:40 Tuesday 19 December 2023 23:29:04 +0000 (0:00:00.460) 0:00:02.327 ****** skipping: [sut] => { "changed": false, "false_condition": "ansible_distribution_major_version == '6'", "skip_reason": "Conditional result was False" } TASK [Set network provider to 'initscripts'] *********************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/tests_ipv6_initscripts.yml:10 Tuesday 19 December 2023 23:29:04 +0000 (0:00:00.010) 0:00:02.337 ****** ok: [sut] => { "ansible_facts": { "network_provider": "initscripts" }, "changed": false } PLAY [Play for testing IPv6 config] ******************************************** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tests_ipv6.yml:3 Tuesday 19 December 2023 23:29:04 +0000 (0:00:00.016) 0:00:02.354 ****** ok: [sut] TASK [Include the task 'show_interfaces.yml'] ********************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tests_ipv6.yml:9 Tuesday 19 December 2023 23:29:06 +0000 (0:00:01.759) 0:00:04.113 ****** included: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/show_interfaces.yml for sut TASK [Include the task 'get_current_interfaces.yml'] *************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/show_interfaces.yml:3 Tuesday 19 December 2023 23:29:06 +0000 (0:00:00.019) 0:00:04.133 ****** included: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/get_current_interfaces.yml for sut TASK [Gather current interface info] ******************************************* task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/get_current_interfaces.yml:3 Tuesday 19 December 2023 23:29:06 +0000 (0:00:00.019) 0:00:04.152 ****** ok: [sut] => { "changed": false, "cmd": [ "ls", "-1" ], "delta": "0:00:00.003532", "end": "2023-12-19 23:29:06.424017", "rc": 0, "start": "2023-12-19 23:29:06.420485" } STDOUT: bonding_masters eth0 lo TASK [Set current_interfaces] ************************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/get_current_interfaces.yml:9 Tuesday 19 December 2023 23:29:06 +0000 (0:00:00.207) 0:00:04.360 ****** ok: [sut] => { "ansible_facts": { "current_interfaces": [ "bonding_masters", "eth0", "lo" ] }, "changed": false } TASK [Show current_interfaces] ************************************************* task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/show_interfaces.yml:5 Tuesday 19 December 2023 23:29:06 +0000 (0:00:00.019) 0:00:04.380 ****** ok: [sut] => {} MSG: current_interfaces: ['bonding_masters', 'eth0', 'lo'] TASK [Include the task 'manage_test_interface.yml'] **************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tests_ipv6.yml:11 Tuesday 19 December 2023 23:29:06 +0000 (0:00:00.018) 0:00:04.398 ****** included: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml for sut TASK [Ensure state in ["present", "absent"]] *********************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:3 Tuesday 19 December 2023 23:29:06 +0000 (0:00:00.023) 0:00:04.421 ****** skipping: [sut] => { "changed": false, "false_condition": "state not in [\"present\", \"absent\"]", "skip_reason": "Conditional result was False" } TASK [Ensure type in ["dummy", "tap", "veth"]] ********************************* task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:8 Tuesday 19 December 2023 23:29:06 +0000 (0:00:00.016) 0:00:04.438 ****** skipping: [sut] => { "changed": false, "false_condition": "type not in [\"dummy\", \"tap\", \"veth\"]", "skip_reason": "Conditional result was False" } TASK [Include the task 'show_interfaces.yml'] ********************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:13 Tuesday 19 December 2023 23:29:06 +0000 (0:00:00.017) 0:00:04.455 ****** included: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/show_interfaces.yml for sut TASK [Include the task 'get_current_interfaces.yml'] *************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/show_interfaces.yml:3 Tuesday 19 December 2023 23:29:06 +0000 (0:00:00.021) 0:00:04.477 ****** included: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/get_current_interfaces.yml for sut TASK [Gather current interface info] ******************************************* task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/get_current_interfaces.yml:3 Tuesday 19 December 2023 23:29:06 +0000 (0:00:00.019) 0:00:04.496 ****** ok: [sut] => { "changed": false, "cmd": [ "ls", "-1" ], "delta": "0:00:00.003712", "end": "2023-12-19 23:29:06.768554", "rc": 0, "start": "2023-12-19 23:29:06.764842" } STDOUT: bonding_masters eth0 lo TASK [Set current_interfaces] ************************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/get_current_interfaces.yml:9 Tuesday 19 December 2023 23:29:06 +0000 (0:00:00.208) 0:00:04.705 ****** ok: [sut] => { "ansible_facts": { "current_interfaces": [ "bonding_masters", "eth0", "lo" ] }, "changed": false } TASK [Show current_interfaces] ************************************************* task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/show_interfaces.yml:5 Tuesday 19 December 2023 23:29:06 +0000 (0:00:00.025) 0:00:04.730 ****** ok: [sut] => {} MSG: current_interfaces: ['bonding_masters', 'eth0', 'lo'] TASK [Install iproute] ********************************************************* task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:16 Tuesday 19 December 2023 23:29:06 +0000 (0:00:00.019) 0:00:04.750 ****** ok: [sut] => { "changed": false, "rc": 0, "results": [] } MSG: Nothing to do TASK [Create veth interface veth0] ********************************************* task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:23 Tuesday 19 December 2023 23:29:10 +0000 (0:00:03.451) 0:00:08.201 ****** ok: [sut] => (item=ip link add veth0 type veth peer name peerveth0) => { "ansible_loop_var": "item", "changed": false, "cmd": [ "ip", "link", "add", "veth0", "type", "veth", "peer", "name", "peerveth0" ], "delta": "0:00:00.014274", "end": "2023-12-19 23:29:10.489234", "item": "ip link add veth0 type veth peer name peerveth0", "rc": 0, "start": "2023-12-19 23:29:10.474960" } ok: [sut] => (item=ip link set peerveth0 up) => { "ansible_loop_var": "item", "changed": false, "cmd": [ "ip", "link", "set", "peerveth0", "up" ], "delta": "0:00:00.004222", "end": "2023-12-19 23:29:10.723647", "item": "ip link set peerveth0 up", "rc": 0, "start": "2023-12-19 23:29:10.719425" } ok: [sut] => (item=ip link set veth0 up) => { "ansible_loop_var": "item", "changed": false, "cmd": [ "ip", "link", "set", "veth0", "up" ], "delta": "0:00:00.004894", "end": "2023-12-19 23:29:10.919543", "item": "ip link set veth0 up", "rc": 0, "start": "2023-12-19 23:29:10.914649" } TASK [Set up veth as managed by NetworkManager] ******************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:31 Tuesday 19 December 2023 23:29:10 +0000 (0:00:00.655) 0:00:08.857 ****** ok: [sut] => { "changed": false, "cmd": [ "nmcli", "d", "set", "veth0", "managed", "true" ], "delta": "0:00:00.024968", "end": "2023-12-19 23:29:11.154184", "rc": 0, "start": "2023-12-19 23:29:11.129216" } TASK [Delete veth interface veth0] ********************************************* task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:39 Tuesday 19 December 2023 23:29:11 +0000 (0:00:00.234) 0:00:09.091 ****** skipping: [sut] => { "changed": false, "false_condition": "type == 'veth' and state == 'absent' and interface in current_interfaces", "skip_reason": "Conditional result was False" } TASK [Create dummy interface veth0] ******************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:45 Tuesday 19 December 2023 23:29:11 +0000 (0:00:00.019) 0:00:09.110 ****** skipping: [sut] => { "changed": false, "false_condition": "type == 'dummy' and state == 'present' and interface not in current_interfaces", "skip_reason": "Conditional result was False" } TASK [Delete dummy interface veth0] ******************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:50 Tuesday 19 December 2023 23:29:11 +0000 (0:00:00.017) 0:00:09.128 ****** skipping: [sut] => { "changed": false, "false_condition": "type == 'dummy' and state == 'absent' and interface in current_interfaces", "skip_reason": "Conditional result was False" } TASK [Create tap interface veth0] ********************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:56 Tuesday 19 December 2023 23:29:11 +0000 (0:00:00.017) 0:00:09.145 ****** skipping: [sut] => { "changed": false, "false_condition": "type == 'tap' and state == 'present' and interface not in current_interfaces", "skip_reason": "Conditional result was False" } TASK [Delete tap interface veth0] ********************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:61 Tuesday 19 December 2023 23:29:11 +0000 (0:00:00.017) 0:00:09.163 ****** skipping: [sut] => { "changed": false, "false_condition": "type == 'tap' and state == 'absent' and interface in current_interfaces", "skip_reason": "Conditional result was False" } TASK [Set up gateway ip on veth peer] ****************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tests_ipv6.yml:15 Tuesday 19 December 2023 23:29:11 +0000 (0:00:00.017) 0:00:09.181 ****** ok: [sut] => { "changed": false, "cmd": "ip netns add ns1\nip link set peerveth0 netns ns1\nip netns exec ns1 ip -6 addr add 2001:db8::1/32 dev peerveth0\nip netns exec ns1 ip link set peerveth0 up\n", "delta": "0:00:00.040909", "end": "2023-12-19 23:29:11.490842", "rc": 0, "start": "2023-12-19 23:29:11.449933" } TASK [TEST: I can configure an interface with static ipv6 config] ************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tests_ipv6.yml:27 Tuesday 19 December 2023 23:29:11 +0000 (0:00:00.245) 0:00:09.426 ****** ok: [sut] => {} MSG: ################################################## TASK [fedora.linux_system_roles.network : Ensure ansible_facts used by role] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:4 Tuesday 19 December 2023 23:29:11 +0000 (0:00:00.018) 0:00:09.445 ****** included: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/set_facts.yml for sut TASK [fedora.linux_system_roles.network : Ensure ansible_facts used by role are present] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/set_facts.yml:3 Tuesday 19 December 2023 23:29:11 +0000 (0:00:00.024) 0:00:09.470 ****** skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [fedora.linux_system_roles.network : Check if system is ostree] *********** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/set_facts.yml:12 Tuesday 19 December 2023 23:29:11 +0000 (0:00:00.019) 0:00:09.490 ****** skipping: [sut] => { "changed": false, "false_condition": "not __network_is_ostree is defined", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.network : Set flag to indicate system is ostree] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/set_facts.yml:17 Tuesday 19 December 2023 23:29:11 +0000 (0:00:00.027) 0:00:09.517 ****** skipping: [sut] => { "changed": false, "false_condition": "not __network_is_ostree is defined", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.network : Check which services are running] **** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/set_facts.yml:21 Tuesday 19 December 2023 23:29:11 +0000 (0:00:00.021) 0:00:09.538 ****** ok: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [fedora.linux_system_roles.network : Check which packages are installed] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/set_facts.yml:26 Tuesday 19 December 2023 23:29:13 +0000 (0:00:01.846) 0:00:11.385 ****** ok: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [fedora.linux_system_roles.network : Print network provider] ************** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:7 Tuesday 19 December 2023 23:29:14 +0000 (0:00:01.514) 0:00:12.899 ****** ok: [sut] => {} MSG: Using network provider: initscripts TASK [fedora.linux_system_roles.network : Abort applying the network state configuration if using the `network_state` variable with the initscripts provider] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:11 Tuesday 19 December 2023 23:29:15 +0000 (0:00:00.030) 0:00:12.929 ****** skipping: [sut] => { "changed": false, "false_condition": "network_state is defined", "skip_reason": "Conditional result was False" } TASK [fedora.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-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:18 Tuesday 19 December 2023 23:29:15 +0000 (0:00:00.029) 0:00:12.958 ****** skipping: [sut] => { "changed": false, "false_condition": "network_state is defined", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.network : Install packages] ******************** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:27 Tuesday 19 December 2023 23:29:15 +0000 (0:00:00.030) 0:00:12.988 ****** skipping: [sut] => { "changed": false, "false_condition": "not network_packages is subset(ansible_facts.packages.keys())", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.network : Install NetworkManager and nmstate when using network_state variable] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:36 Tuesday 19 December 2023 23:29:15 +0000 (0:00:00.054) 0:00:13.043 ****** skipping: [sut] => { "changed": false, "false_condition": "network_state is defined", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.network : Install python3-libnmstate when using network_state variable] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:47 Tuesday 19 December 2023 23:29:15 +0000 (0:00:00.029) 0:00:13.073 ****** skipping: [sut] => { "changed": false, "false_condition": "network_state is defined", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.network : Restart NetworkManager due to wireless or team interfaces] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:59 Tuesday 19 December 2023 23:29:15 +0000 (0:00:00.032) 0:00:13.105 ****** skipping: [sut] => { "changed": false, "false_condition": "__network_wireless_connections_defined or __network_team_connections_defined", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.network : Enable and start NetworkManager] ***** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:72 Tuesday 19 December 2023 23:29:15 +0000 (0:00:00.035) 0:00:13.141 ****** skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [fedora.linux_system_roles.network : Enable and start wpa_supplicant] ***** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:83 Tuesday 19 December 2023 23:29:15 +0000 (0:00:00.050) 0:00:13.192 ****** skipping: [sut] => { "changed": false, "false_condition": "network_provider == \"nm\"", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.network : Enable network service] ************** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:92 Tuesday 19 December 2023 23:29:15 +0000 (0:00:00.027) 0:00:13.220 ****** ok: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [fedora.linux_system_roles.network : Ensure initscripts network file dependency is present] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:100 Tuesday 19 December 2023 23:29:15 +0000 (0:00:00.563) 0:00:13.783 ****** ok: [sut] => { "changed": false, "dest": "/etc/sysconfig/network", "src": "/home/jenkins/.ansible/tmp/ansible-local-9413pkobw7ej/tmpb4mjrwzk" } TASK [fedora.linux_system_roles.network : Configure networking connection profiles] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:109 Tuesday 19 December 2023 23:29:16 +0000 (0:00:00.334) 0:00:14.117 ****** changed: [sut] => { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "ip": { "address": [ "2001:db8::2/32", "2001:db8::3/32", "2001:db8::4/32" ], "auto6": false, "dhcp4": false, "gateway6": "2001:db8::1" }, "name": "veth0", "state": "up", "type": "ethernet" } ], "force_state_change": false, "ignore_errors": false, "provider": "initscripts" } }, "changed": true } STDERR: [003] #0, state:up persistent_state:present, 'veth0': add ifcfg-rh profile 'veth0' [004] #0, state:up persistent_state:present, 'veth0': up connection veth0 (is-modified) [005] #0, state:up persistent_state:present, 'veth0': call 'ifup veth0': rc=0, out='b"INFO : [ipv6_wait_tentative] Waiting for interface veth0 IPv6 address(es) to leave the 'tentative' state\nINFO : [ipv6_wait_tentative] Waiting for interface veth0 IPv6 address(es) to leave the 'tentative' state\n"', err='b"WARN : [ifup] You are using 'ifup' script provided by 'network-scripts', which are now deprecated.\nWARN : [ifup] 'network-scripts' will be removed in one of the next major releases of RHEL.\nWARN : [ifup] It is advised to switch to 'NetworkManager' instead - it provides 'ifup/ifdown' scripts as well.\n"' TASK [fedora.linux_system_roles.network : Configure networking state] ********** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:121 Tuesday 19 December 2023 23:29:18 +0000 (0:00:02.719) 0:00:16.836 ****** skipping: [sut] => { "changed": false, "false_condition": "network_state is defined", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.network : Show stderr messages for the network_connections] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:127 Tuesday 19 December 2023 23:29:18 +0000 (0:00:00.030) 0:00:16.867 ****** ok: [sut] => { "__network_connections_result.stderr_lines": [ "[003] #0, state:up persistent_state:present, 'veth0': add ifcfg-rh profile 'veth0'", "[004] #0, state:up persistent_state:present, 'veth0': up connection veth0 (is-modified)", "[005] #0, state:up persistent_state:present, 'veth0': call 'ifup veth0': rc=0, out='b\"INFO : [ipv6_wait_tentative] Waiting for interface veth0 IPv6 address(es) to leave the 'tentative' state\\nINFO : [ipv6_wait_tentative] Waiting for interface veth0 IPv6 address(es) to leave the 'tentative' state\\n\"', err='b\"WARN : [ifup] You are using 'ifup' script provided by 'network-scripts', which are now deprecated.\\nWARN : [ifup] 'network-scripts' will be removed in one of the next major releases of RHEL.\\nWARN : [ifup] It is advised to switch to 'NetworkManager' instead - it provides 'ifup/ifdown' scripts as well.\\n\"'" ] } TASK [fedora.linux_system_roles.network : Show debug messages for the network_connections] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:131 Tuesday 19 December 2023 23:29:18 +0000 (0:00:00.031) 0:00:16.898 ****** ok: [sut] => { "__network_connections_result": { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "ip": { "address": [ "2001:db8::2/32", "2001:db8::3/32", "2001:db8::4/32" ], "auto6": false, "dhcp4": false, "gateway6": "2001:db8::1" }, "name": "veth0", "state": "up", "type": "ethernet" } ], "force_state_change": false, "ignore_errors": false, "provider": "initscripts" } }, "changed": true, "failed": false, "stderr": "[003] #0, state:up persistent_state:present, 'veth0': add ifcfg-rh profile 'veth0'\n[004] #0, state:up persistent_state:present, 'veth0': up connection veth0 (is-modified)\n[005] #0, state:up persistent_state:present, 'veth0': call 'ifup veth0': rc=0, out='b\"INFO : [ipv6_wait_tentative] Waiting for interface veth0 IPv6 address(es) to leave the 'tentative' state\\nINFO : [ipv6_wait_tentative] Waiting for interface veth0 IPv6 address(es) to leave the 'tentative' state\\n\"', err='b\"WARN : [ifup] You are using 'ifup' script provided by 'network-scripts', which are now deprecated.\\nWARN : [ifup] 'network-scripts' will be removed in one of the next major releases of RHEL.\\nWARN : [ifup] It is advised to switch to 'NetworkManager' instead - it provides 'ifup/ifdown' scripts as well.\\n\"'\n", "stderr_lines": [ "[003] #0, state:up persistent_state:present, 'veth0': add ifcfg-rh profile 'veth0'", "[004] #0, state:up persistent_state:present, 'veth0': up connection veth0 (is-modified)", "[005] #0, state:up persistent_state:present, 'veth0': call 'ifup veth0': rc=0, out='b\"INFO : [ipv6_wait_tentative] Waiting for interface veth0 IPv6 address(es) to leave the 'tentative' state\\nINFO : [ipv6_wait_tentative] Waiting for interface veth0 IPv6 address(es) to leave the 'tentative' state\\n\"', err='b\"WARN : [ifup] You are using 'ifup' script provided by 'network-scripts', which are now deprecated.\\nWARN : [ifup] 'network-scripts' will be removed in one of the next major releases of RHEL.\\nWARN : [ifup] It is advised to switch to 'NetworkManager' instead - it provides 'ifup/ifdown' scripts as well.\\n\"'" ] } } TASK [fedora.linux_system_roles.network : Show debug messages for the network_state] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:136 Tuesday 19 December 2023 23:29:19 +0000 (0:00:00.031) 0:00:16.929 ****** skipping: [sut] => { "false_condition": "network_state is defined" } TASK [fedora.linux_system_roles.network : Re-test connectivity] **************** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:142 Tuesday 19 December 2023 23:29:19 +0000 (0:00:00.031) 0:00:16.960 ****** ok: [sut] => { "changed": false, "ping": "pong" } TASK [Include the task 'assert_device_present.yml'] **************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tests_ipv6.yml:47 Tuesday 19 December 2023 23:29:19 +0000 (0:00:00.309) 0:00:17.270 ****** included: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/assert_device_present.yml for sut TASK [Include the task 'get_interface_stat.yml'] ******************************* task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/assert_device_present.yml:3 Tuesday 19 December 2023 23:29:19 +0000 (0:00:00.044) 0:00:17.314 ****** included: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/get_interface_stat.yml for sut TASK [Get stat for interface veth0] ******************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/get_interface_stat.yml:3 Tuesday 19 December 2023 23:29:19 +0000 (0:00:00.047) 0:00:17.362 ****** ok: [sut] => { "changed": false, "stat": { "atime": 1703028550.4789565, "block_size": 4096, "blocks": 0, "ctime": 1703028550.4789565, "dev": 21, "device_type": 0, "executable": true, "exists": true, "gid": 0, "gr_name": "root", "inode": 34442, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": true, "isreg": false, "issock": false, "isuid": false, "lnk_source": "/sys/devices/virtual/net/veth0", "lnk_target": "../../devices/virtual/net/veth0", "mode": "0777", "mtime": 1703028550.4789565, "nlink": 1, "path": "/sys/class/net/veth0", "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 - 'veth0'] ************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/assert_device_present.yml:5 Tuesday 19 December 2023 23:29:19 +0000 (0:00:00.214) 0:00:17.576 ****** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Include the task 'assert_profile_present.yml'] *************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tests_ipv6.yml:49 Tuesday 19 December 2023 23:29:19 +0000 (0:00:00.057) 0:00:17.634 ****** included: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/assert_profile_present.yml for sut TASK [Include the task 'get_profile_stat.yml'] ********************************* task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/assert_profile_present.yml:3 Tuesday 19 December 2023 23:29:19 +0000 (0:00:00.045) 0:00:17.680 ****** included: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/get_profile_stat.yml for sut TASK [Initialize NM profile exist and ansible_managed comment flag] ************ task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/get_profile_stat.yml:3 Tuesday 19 December 2023 23:29:19 +0000 (0:00:00.040) 0:00:17.720 ****** 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-route_typedsakgcb_/tests/playbooks/tasks/get_profile_stat.yml:9 Tuesday 19 December 2023 23:29:19 +0000 (0:00:00.031) 0:00:17.752 ****** ok: [sut] => { "changed": false, "stat": { "atime": 1703028556.6967473, "block_size": 4096, "blocks": 8, "ctime": 1703028556.6757474, "dev": 51713, "device_type": 0, "executable": false, "exists": true, "gid": 0, "gr_name": "root", "inode": 5533388, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mode": "0644", "mtime": 1703028556.6757474, "nlink": 1, "path": "/etc/sysconfig/network-scripts/ifcfg-veth0", "pw_name": "root", "readable": true, "rgrp": true, "roth": true, "rusr": true, "size": 253, "uid": 0, "wgrp": false, "woth": false, "writeable": true, "wusr": true, "xgrp": false, "xoth": false, "xusr": false } } TASK [Set NM profile exist flag based on the profile files] ******************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/get_profile_stat.yml:17 Tuesday 19 December 2023 23:29:20 +0000 (0:00:00.217) 0:00:17.969 ****** ok: [sut] => { "ansible_facts": { "lsr_net_profile_exists": true }, "changed": false } TASK [Get NM profile info] ***************************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/get_profile_stat.yml:25 Tuesday 19 December 2023 23:29:20 +0000 (0:00:00.029) 0:00:17.999 ****** fatal: [sut]: FAILED! => { "changed": false, "cmd": "nmcli -f NAME,FILENAME connection show |grep veth0 | grep /etc", "delta": "0:00:00.022323", "end": "2023-12-19 23:29:20.295808", "rc": 1, "start": "2023-12-19 23:29:20.273485" } 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-route_typedsakgcb_/tests/playbooks/tasks/get_profile_stat.yml:35 Tuesday 19 December 2023 23:29:20 +0000 (0:00:00.248) 0:00:18.247 ****** skipping: [sut] => { "changed": false, "false_condition": "nm_profile_exists.rc == 0", "skip_reason": "Conditional result was False" } TASK [Get the ansible_managed comment in ifcfg-veth0] ************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/get_profile_stat.yml:49 Tuesday 19 December 2023 23:29:20 +0000 (0:00:00.044) 0:00:18.292 ****** ok: [sut] => { "changed": false, "cmd": [ "grep", "^# Ansible managed", "/etc/sysconfig/network-scripts/ifcfg-veth0" ], "delta": "0:00:00.003458", "end": "2023-12-19 23:29:20.578241", "rc": 0, "start": "2023-12-19 23:29:20.574783" } STDOUT: # Ansible managed TASK [Verify the ansible_managed comment in ifcfg-veth0] *********************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/get_profile_stat.yml:56 Tuesday 19 December 2023 23:29:20 +0000 (0:00:00.233) 0:00:18.525 ****** ok: [sut] => { "ansible_facts": { "lsr_net_profile_ansible_managed": true }, "changed": false } TASK [Get the fingerprint comment in ifcfg-veth0] ****************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/get_profile_stat.yml:62 Tuesday 19 December 2023 23:29:20 +0000 (0:00:00.035) 0:00:18.560 ****** ok: [sut] => { "changed": false, "cmd": [ "grep", "^# system_role:network", "/etc/sysconfig/network-scripts/ifcfg-veth0" ], "delta": "0:00:00.003646", "end": "2023-12-19 23:29:20.839582", "rc": 0, "start": "2023-12-19 23:29:20.835936" } STDOUT: # system_role:network TASK [Verify the fingerprint comment in ifcfg-veth0] *************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/get_profile_stat.yml:69 Tuesday 19 December 2023 23:29:20 +0000 (0:00:00.228) 0:00:18.789 ****** ok: [sut] => { "ansible_facts": { "lsr_net_profile_fingerprint": true }, "changed": false } TASK [Assert that the profile is present - 'veth0'] **************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/assert_profile_present.yml:5 Tuesday 19 December 2023 23:29:20 +0000 (0:00:00.035) 0:00:18.824 ****** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Assert that the ansible managed comment is present in 'veth0'] *********** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/assert_profile_present.yml:10 Tuesday 19 December 2023 23:29:20 +0000 (0:00:00.035) 0:00:18.860 ****** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Assert that the fingerprint comment is present in veth0] ***************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/assert_profile_present.yml:15 Tuesday 19 December 2023 23:29:20 +0000 (0:00:00.031) 0:00:18.892 ****** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Get ip address information] ********************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tests_ipv6.yml:53 Tuesday 19 December 2023 23:29:21 +0000 (0:00:00.029) 0:00:18.921 ****** ok: [sut] => { "changed": false, "cmd": [ "ip", "addr", "show", "veth0" ], "delta": "0:00:00.004061", "end": "2023-12-19 23:29:21.198614", "rc": 0, "start": "2023-12-19 23:29:21.194553" } STDOUT: 48: veth0@if47: mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether e2:a1:82:b1:fe:00 brd ff:ff:ff:ff:ff:ff link-netns ns1 inet6 2001:db8::4/32 scope global valid_lft forever preferred_lft forever inet6 2001:db8::3/32 scope global valid_lft forever preferred_lft forever inet6 2001:db8::2/32 scope global valid_lft forever preferred_lft forever inet6 fe80::e0a1:82ff:feb1:fe00/64 scope link valid_lft forever preferred_lft forever TASK [Show ip_addr] ************************************************************ task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tests_ipv6.yml:57 Tuesday 19 December 2023 23:29:21 +0000 (0:00:00.249) 0:00:19.170 ****** ok: [sut] => { "ip_addr.stdout": "48: veth0@if47: mtu 1500 qdisc noqueue state UP group default qlen 1000\n link/ether e2:a1:82:b1:fe:00 brd ff:ff:ff:ff:ff:ff link-netns ns1\n inet6 2001:db8::4/32 scope global \n valid_lft forever preferred_lft forever\n inet6 2001:db8::3/32 scope global \n valid_lft forever preferred_lft forever\n inet6 2001:db8::2/32 scope global \n valid_lft forever preferred_lft forever\n inet6 fe80::e0a1:82ff:feb1:fe00/64 scope link \n valid_lft forever preferred_lft forever" } TASK [Assert ipv6 addresses are correctly set] ********************************* task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tests_ipv6.yml:60 Tuesday 19 December 2023 23:29:21 +0000 (0:00:00.030) 0:00:19.201 ****** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Get ipv6 routes] ********************************************************* task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tests_ipv6.yml:69 Tuesday 19 December 2023 23:29:21 +0000 (0:00:00.030) 0:00:19.231 ****** ok: [sut] => { "changed": false, "cmd": [ "ip", "-6", "route" ], "delta": "0:00:00.004109", "end": "2023-12-19 23:29:21.505535", "rc": 0, "start": "2023-12-19 23:29:21.501426" } STDOUT: ::1 dev lo proto kernel metric 256 pref medium 2001:db8::/32 dev veth0 proto kernel metric 256 pref medium fe80::/64 dev eth0 proto kernel metric 256 pref medium fe80::/64 dev veth0 proto kernel metric 256 pref medium default via 2001:db8::1 dev veth0 metric 1 pref medium TASK [Show ipv6_route] ********************************************************* task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tests_ipv6.yml:73 Tuesday 19 December 2023 23:29:21 +0000 (0:00:00.219) 0:00:19.451 ****** ok: [sut] => { "ipv6_route.stdout": "::1 dev lo proto kernel metric 256 pref medium\n2001:db8::/32 dev veth0 proto kernel metric 256 pref medium\nfe80::/64 dev eth0 proto kernel metric 256 pref medium\nfe80::/64 dev veth0 proto kernel metric 256 pref medium\ndefault via 2001:db8::1 dev veth0 metric 1 pref medium" } TASK [Assert default ipv6 route is set] **************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tests_ipv6.yml:76 Tuesday 19 December 2023 23:29:21 +0000 (0:00:00.030) 0:00:19.482 ****** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Ensure ping6 command is present] ***************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tests_ipv6.yml:82 Tuesday 19 December 2023 23:29:21 +0000 (0:00:00.030) 0:00:19.512 ****** ok: [sut] => { "changed": false, "rc": 0, "results": [] } MSG: Nothing to do TASK [Test gateway can be pinged] ********************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tests_ipv6.yml:87 Tuesday 19 December 2023 23:29:24 +0000 (0:00:03.108) 0:00:22.621 ****** ok: [sut] => { "changed": false, "cmd": [ "ping6", "-c1", "2001:db8::1" ], "delta": "0:00:00.004848", "end": "2023-12-19 23:29:24.905247", "rc": 0, "start": "2023-12-19 23:29:24.900399" } STDOUT: PING 2001:db8::1(2001:db8::1) 56 data bytes 64 bytes from 2001:db8::1: icmp_seq=1 ttl=64 time=0.052 ms --- 2001:db8::1 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.052/0.052/0.052/0.000 ms TASK [TEARDOWN: remove profiles.] ********************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tests_ipv6.yml:93 Tuesday 19 December 2023 23:29:24 +0000 (0:00:00.232) 0:00:22.854 ****** ok: [sut] => {} MSG: ################################################## TASK [fedora.linux_system_roles.network : Ensure ansible_facts used by role] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:4 Tuesday 19 December 2023 23:29:24 +0000 (0:00:00.037) 0:00:22.891 ****** included: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/set_facts.yml for sut TASK [fedora.linux_system_roles.network : Ensure ansible_facts used by role are present] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/set_facts.yml:3 Tuesday 19 December 2023 23:29:25 +0000 (0:00:00.049) 0:00:22.941 ****** skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [fedora.linux_system_roles.network : Check if system is ostree] *********** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/set_facts.yml:12 Tuesday 19 December 2023 23:29:25 +0000 (0:00:00.036) 0:00:22.977 ****** skipping: [sut] => { "changed": false, "false_condition": "not __network_is_ostree is defined", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.network : Set flag to indicate system is ostree] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/set_facts.yml:17 Tuesday 19 December 2023 23:29:25 +0000 (0:00:00.032) 0:00:23.010 ****** skipping: [sut] => { "changed": false, "false_condition": "not __network_is_ostree is defined", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.network : Check which services are running] **** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/set_facts.yml:21 Tuesday 19 December 2023 23:29:25 +0000 (0:00:00.030) 0:00:23.041 ****** ok: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [fedora.linux_system_roles.network : Check which packages are installed] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/set_facts.yml:26 Tuesday 19 December 2023 23:29:26 +0000 (0:00:01.752) 0:00:24.794 ****** ok: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [fedora.linux_system_roles.network : Print network provider] ************** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:7 Tuesday 19 December 2023 23:29:28 +0000 (0:00:01.417) 0:00:26.211 ****** ok: [sut] => {} MSG: Using network provider: initscripts TASK [fedora.linux_system_roles.network : Abort applying the network state configuration if using the `network_state` variable with the initscripts provider] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:11 Tuesday 19 December 2023 23:29:28 +0000 (0:00:00.031) 0:00:26.243 ****** skipping: [sut] => { "changed": false, "false_condition": "network_state is defined", "skip_reason": "Conditional result was False" } TASK [fedora.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-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:18 Tuesday 19 December 2023 23:29:28 +0000 (0:00:00.030) 0:00:26.274 ****** skipping: [sut] => { "changed": false, "false_condition": "network_state is defined", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.network : Install packages] ******************** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:27 Tuesday 19 December 2023 23:29:28 +0000 (0:00:00.036) 0:00:26.311 ****** skipping: [sut] => { "changed": false, "false_condition": "not network_packages is subset(ansible_facts.packages.keys())", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.network : Install NetworkManager and nmstate when using network_state variable] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:36 Tuesday 19 December 2023 23:29:28 +0000 (0:00:00.055) 0:00:26.366 ****** skipping: [sut] => { "changed": false, "false_condition": "network_state is defined", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.network : Install python3-libnmstate when using network_state variable] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:47 Tuesday 19 December 2023 23:29:28 +0000 (0:00:00.036) 0:00:26.403 ****** skipping: [sut] => { "changed": false, "false_condition": "network_state is defined", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.network : Restart NetworkManager due to wireless or team interfaces] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:59 Tuesday 19 December 2023 23:29:28 +0000 (0:00:00.033) 0:00:26.437 ****** skipping: [sut] => { "changed": false, "false_condition": "__network_wireless_connections_defined or __network_team_connections_defined", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.network : Enable and start NetworkManager] ***** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:72 Tuesday 19 December 2023 23:29:28 +0000 (0:00:00.042) 0:00:26.479 ****** skipping: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [fedora.linux_system_roles.network : Enable and start wpa_supplicant] ***** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:83 Tuesday 19 December 2023 23:29:28 +0000 (0:00:00.035) 0:00:26.514 ****** skipping: [sut] => { "changed": false, "false_condition": "network_provider == \"nm\"", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.network : Enable network service] ************** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:92 Tuesday 19 December 2023 23:29:28 +0000 (0:00:00.031) 0:00:26.546 ****** ok: [sut] => { "censored": "the output has been hidden due to the fact that 'no_log: true' was specified for this result", "changed": false } TASK [fedora.linux_system_roles.network : Ensure initscripts network file dependency is present] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:100 Tuesday 19 December 2023 23:29:29 +0000 (0:00:00.408) 0:00:26.954 ****** ok: [sut] => { "changed": false, "dest": "/etc/sysconfig/network", "src": "/home/jenkins/.ansible/tmp/ansible-local-9413pkobw7ej/tmp4jso76t8" } TASK [fedora.linux_system_roles.network : Configure networking connection profiles] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:109 Tuesday 19 December 2023 23:29:29 +0000 (0:00:00.327) 0:00:27.282 ****** changed: [sut] => { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "name": "veth0", "persistent_state": "absent", "state": "down" } ], "force_state_change": false, "ignore_errors": false, "provider": "initscripts" } }, "changed": true } STDERR: [003] #0, state:down persistent_state:absent, 'veth0': up connection veth0 (active) [004] #0, state:down persistent_state:absent, 'veth0': call 'ifdown veth0': rc=0, out='b''', err='b"WARN : [ifdown] You are using 'ifdown' script provided by 'network-scripts', which are now deprecated.\nWARN : [ifdown] 'network-scripts' will be removed in one of the next major releases of RHEL.\nWARN : [ifdown] It is advised to switch to 'NetworkManager' instead - it provides 'ifup/ifdown' scripts as well.\n"' [005] #0, state:down persistent_state:absent, 'veth0': delete ifcfg-rh file '/etc/sysconfig/network-scripts/ifcfg-veth0' TASK [fedora.linux_system_roles.network : Configure networking state] ********** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:121 Tuesday 19 December 2023 23:29:29 +0000 (0:00:00.453) 0:00:27.735 ****** skipping: [sut] => { "changed": false, "false_condition": "network_state is defined", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.network : Show stderr messages for the network_connections] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:127 Tuesday 19 December 2023 23:29:29 +0000 (0:00:00.030) 0:00:27.766 ****** ok: [sut] => { "__network_connections_result.stderr_lines": [ "[003] #0, state:down persistent_state:absent, 'veth0': up connection veth0 (active)", "[004] #0, state:down persistent_state:absent, 'veth0': call 'ifdown veth0': rc=0, out='b''', err='b\"WARN : [ifdown] You are using 'ifdown' script provided by 'network-scripts', which are now deprecated.\\nWARN : [ifdown] 'network-scripts' will be removed in one of the next major releases of RHEL.\\nWARN : [ifdown] It is advised to switch to 'NetworkManager' instead - it provides 'ifup/ifdown' scripts as well.\\n\"'", "[005] #0, state:down persistent_state:absent, 'veth0': delete ifcfg-rh file '/etc/sysconfig/network-scripts/ifcfg-veth0'" ] } TASK [fedora.linux_system_roles.network : Show debug messages for the network_connections] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:131 Tuesday 19 December 2023 23:29:29 +0000 (0:00:00.031) 0:00:27.797 ****** ok: [sut] => { "__network_connections_result": { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "name": "veth0", "persistent_state": "absent", "state": "down" } ], "force_state_change": false, "ignore_errors": false, "provider": "initscripts" } }, "changed": true, "failed": false, "stderr": "[003] #0, state:down persistent_state:absent, 'veth0': up connection veth0 (active)\n[004] #0, state:down persistent_state:absent, 'veth0': call 'ifdown veth0': rc=0, out='b''', err='b\"WARN : [ifdown] You are using 'ifdown' script provided by 'network-scripts', which are now deprecated.\\nWARN : [ifdown] 'network-scripts' will be removed in one of the next major releases of RHEL.\\nWARN : [ifdown] It is advised to switch to 'NetworkManager' instead - it provides 'ifup/ifdown' scripts as well.\\n\"'\n[005] #0, state:down persistent_state:absent, 'veth0': delete ifcfg-rh file '/etc/sysconfig/network-scripts/ifcfg-veth0'\n", "stderr_lines": [ "[003] #0, state:down persistent_state:absent, 'veth0': up connection veth0 (active)", "[004] #0, state:down persistent_state:absent, 'veth0': call 'ifdown veth0': rc=0, out='b''', err='b\"WARN : [ifdown] You are using 'ifdown' script provided by 'network-scripts', which are now deprecated.\\nWARN : [ifdown] 'network-scripts' will be removed in one of the next major releases of RHEL.\\nWARN : [ifdown] It is advised to switch to 'NetworkManager' instead - it provides 'ifup/ifdown' scripts as well.\\n\"'", "[005] #0, state:down persistent_state:absent, 'veth0': delete ifcfg-rh file '/etc/sysconfig/network-scripts/ifcfg-veth0'" ] } } TASK [fedora.linux_system_roles.network : Show debug messages for the network_state] *** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:136 Tuesday 19 December 2023 23:29:29 +0000 (0:00:00.061) 0:00:27.859 ****** skipping: [sut] => { "false_condition": "network_state is defined" } TASK [fedora.linux_system_roles.network : Re-test connectivity] **************** task path: /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:142 Tuesday 19 December 2023 23:29:29 +0000 (0:00:00.032) 0:00:27.892 ****** ok: [sut] => { "changed": false, "ping": "pong" } TASK [Include the task 'manage_test_interface.yml'] **************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tests_ipv6.yml:105 Tuesday 19 December 2023 23:29:30 +0000 (0:00:00.229) 0:00:28.122 ****** included: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml for sut TASK [Ensure state in ["present", "absent"]] *********************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:3 Tuesday 19 December 2023 23:29:30 +0000 (0:00:00.060) 0:00:28.182 ****** skipping: [sut] => { "changed": false, "false_condition": "state not in [\"present\", \"absent\"]", "skip_reason": "Conditional result was False" } TASK [Ensure type in ["dummy", "tap", "veth"]] ********************************* task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:8 Tuesday 19 December 2023 23:29:30 +0000 (0:00:00.043) 0:00:28.226 ****** skipping: [sut] => { "changed": false, "false_condition": "type not in [\"dummy\", \"tap\", \"veth\"]", "skip_reason": "Conditional result was False" } TASK [Include the task 'show_interfaces.yml'] ********************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:13 Tuesday 19 December 2023 23:29:30 +0000 (0:00:00.030) 0:00:28.256 ****** included: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/show_interfaces.yml for sut TASK [Include the task 'get_current_interfaces.yml'] *************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/show_interfaces.yml:3 Tuesday 19 December 2023 23:29:30 +0000 (0:00:00.046) 0:00:28.302 ****** included: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/get_current_interfaces.yml for sut TASK [Gather current interface info] ******************************************* task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/get_current_interfaces.yml:3 Tuesday 19 December 2023 23:29:30 +0000 (0:00:00.037) 0:00:28.340 ****** ok: [sut] => { "changed": false, "cmd": [ "ls", "-1" ], "delta": "0:00:00.003631", "end": "2023-12-19 23:29:30.613248", "rc": 0, "start": "2023-12-19 23:29:30.609617" } STDOUT: bonding_masters eth0 lo veth0 TASK [Set current_interfaces] ************************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/get_current_interfaces.yml:9 Tuesday 19 December 2023 23:29:30 +0000 (0:00:00.244) 0:00:28.585 ****** ok: [sut] => { "ansible_facts": { "current_interfaces": [ "bonding_masters", "eth0", "lo", "veth0" ] }, "changed": false } TASK [Show current_interfaces] ************************************************* task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/show_interfaces.yml:5 Tuesday 19 December 2023 23:29:30 +0000 (0:00:00.032) 0:00:28.618 ****** ok: [sut] => {} MSG: current_interfaces: ['bonding_masters', 'eth0', 'lo', 'veth0'] TASK [Install iproute] ********************************************************* task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:16 Tuesday 19 December 2023 23:29:30 +0000 (0:00:00.035) 0:00:28.653 ****** ok: [sut] => { "changed": false, "rc": 0, "results": [] } MSG: Nothing to do TASK [Create veth interface veth0] ********************************************* task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:23 Tuesday 19 December 2023 23:29:33 +0000 (0:00:03.107) 0:00:31.760 ****** skipping: [sut] => (item=ip link add veth0 type veth peer name peerveth0) => { "ansible_loop_var": "item", "changed": false, "false_condition": "type == 'veth' and state == 'present' and interface not in current_interfaces", "item": "ip link add veth0 type veth peer name peerveth0", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=ip link set peerveth0 up) => { "ansible_loop_var": "item", "changed": false, "false_condition": "type == 'veth' and state == 'present' and interface not in current_interfaces", "item": "ip link set peerveth0 up", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=ip link set veth0 up) => { "ansible_loop_var": "item", "changed": false, "false_condition": "type == 'veth' and state == 'present' and interface not in current_interfaces", "item": "ip link set veth0 up", "skip_reason": "Conditional result was False" } skipping: [sut] => { "changed": false } MSG: All items skipped TASK [Set up veth as managed by NetworkManager] ******************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:31 Tuesday 19 December 2023 23:29:33 +0000 (0:00:00.070) 0:00:31.830 ****** skipping: [sut] => { "changed": false, "false_condition": "type == 'veth' and state == 'present'", "skip_reason": "Conditional result was False" } TASK [Delete veth interface veth0] ********************************************* task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:39 Tuesday 19 December 2023 23:29:33 +0000 (0:00:00.063) 0:00:31.894 ****** ok: [sut] => { "changed": false, "cmd": [ "ip", "link", "del", "veth0", "type", "veth" ], "delta": "0:00:00.009269", "end": "2023-12-19 23:29:34.176137", "rc": 0, "start": "2023-12-19 23:29:34.166868" } TASK [Create dummy interface veth0] ******************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:45 Tuesday 19 December 2023 23:29:34 +0000 (0:00:00.250) 0:00:32.144 ****** skipping: [sut] => { "changed": false, "false_condition": "type == 'dummy' and state == 'present' and interface not in current_interfaces", "skip_reason": "Conditional result was False" } TASK [Delete dummy interface veth0] ******************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:50 Tuesday 19 December 2023 23:29:34 +0000 (0:00:00.055) 0:00:32.199 ****** skipping: [sut] => { "changed": false, "false_condition": "type == 'dummy' and state == 'absent' and interface in current_interfaces", "skip_reason": "Conditional result was False" } TASK [Create tap interface veth0] ********************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:56 Tuesday 19 December 2023 23:29:34 +0000 (0:00:00.048) 0:00:32.248 ****** skipping: [sut] => { "changed": false, "false_condition": "type == 'tap' and state == 'present' and interface not in current_interfaces", "skip_reason": "Conditional result was False" } TASK [Delete tap interface veth0] ********************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:61 Tuesday 19 December 2023 23:29:34 +0000 (0:00:00.053) 0:00:32.302 ****** skipping: [sut] => { "changed": false, "false_condition": "type == 'tap' and state == 'absent' and interface in current_interfaces", "skip_reason": "Conditional result was False" } TASK [Clean up namespace] ****************************************************** task path: /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tests_ipv6.yml:109 Tuesday 19 December 2023 23:29:34 +0000 (0:00:00.034) 0:00:32.337 ****** ok: [sut] => { "changed": false, "cmd": [ "ip", "netns", "delete", "ns1" ], "delta": "0:00:00.007703", "end": "2023-12-19 23:29:34.616021", "rc": 0, "start": "2023-12-19 23:29:34.608318" } PLAY RECAP ********************************************************************* sut : ok=81 changed=2 unreachable=0 failed=0 skipped=46 rescued=0 ignored=1 Tuesday 19 December 2023 23:29:34 +0000 (0:00:00.258) 0:00:32.595 ****** =============================================================================== Install iproute --------------------------------------------------------- 3.45s /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:16 Ensure ping6 command is present ----------------------------------------- 3.11s /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tests_ipv6.yml:82 ------------- Install iproute --------------------------------------------------------- 3.11s /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:16 fedora.linux_system_roles.network : Configure networking connection profiles --- 2.72s /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:109 fedora.linux_system_roles.network : Check which services are running ---- 1.85s /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/set_facts.yml:21 Gathering Facts --------------------------------------------------------- 1.76s /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tests_ipv6.yml:3 -------------- fedora.linux_system_roles.network : Check which services are running ---- 1.75s /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/set_facts.yml:21 fedora.linux_system_roles.network : Check which packages are installed --- 1.51s /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/set_facts.yml:26 fedora.linux_system_roles.network : Check which packages are installed --- 1.42s /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/set_facts.yml:26 Gathering Facts --------------------------------------------------------- 0.89s /WORKDIR/git-route_typedsakgcb_/tests/tests_ipv6_initscripts.yml:4 ------------ Create veth interface veth0 --------------------------------------------- 0.66s /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tasks/manage_test_interface.yml:23 fedora.linux_system_roles.network : Enable network service -------------- 0.56s /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:92 Enable EPEL 8 ----------------------------------------------------------- 0.46s /WORKDIR/git-route_typedsakgcb_/tests/tasks/enable_epel.yml:35 ---------------- fedora.linux_system_roles.network : Configure networking connection profiles --- 0.45s /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:109 fedora.linux_system_roles.network : Enable network service -------------- 0.41s /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:92 Gather the minimum subset of ansible_facts required by the network role test --- 0.37s /WORKDIR/git-route_typedsakgcb_/tests/tasks/el_repo_setup.yml:3 --------------- fedora.linux_system_roles.network : Ensure initscripts network file dependency is present --- 0.33s /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:100 fedora.linux_system_roles.network : Ensure initscripts network file dependency is present --- 0.33s /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:100 fedora.linux_system_roles.network : Re-test connectivity ---------------- 0.31s /WORKDIR/git-route_typedsakgcb_/.collection/ansible_collections/fedora/linux_system_roles/roles/network/tasks/main.yml:142 Clean up namespace ------------------------------------------------------ 0.26s /WORKDIR/git-route_typedsakgcb_/tests/playbooks/tests_ipv6.yml:109 ------------ ---^---^---^---^---^--- # STDERR: ---v---v---v---v---v--- [DEPRECATION WARNING]: ANSIBLE_COLLECTIONS_PATHS option, does not fit var naming standard, use the singular form ANSIBLE_COLLECTIONS_PATH instead. This feature will be removed from ansible-core in version 2.19. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. ---^---^---^---^---^---