# 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_reapply_nm.yml ************************************************* 2 plays in /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/tests_reapply_nm.yml PLAY [Run playbook 'playbooks/tests_reapply.yml' with nm as provider] ********** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/tests_reapply_nm.yml:6 Friday 09 February 2024 13:49:28 +0000 (0:00:00.017) 0:00:00.017 ******* ok: [sut] META: ran handlers TASK [Include the task 'el_repo_setup.yml'] ************************************ task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/tests_reapply_nm.yml:9 Friday 09 February 2024 13:49:29 +0000 (0:00:00.618) 0:00:00.635 ******* included: /WORKDIR/git-bond_options_rewritekh3yrgl7/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_rewritekh3yrgl7/tests/tasks/el_repo_setup.yml:3 Friday 09 February 2024 13:49:29 +0000 (0:00:00.012) 0:00:00.648 ******* ok: [sut] TASK [Check if system is ostree] *********************************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/tasks/el_repo_setup.yml:19 Friday 09 February 2024 13:49:29 +0000 (0:00:00.327) 0:00:00.975 ******* ok: [sut] => { "changed": false, "stat": { "exists": false } } TASK [Set flag to indicate system is ostree] *********************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/tasks/el_repo_setup.yml:24 Friday 09 February 2024 13:49:29 +0000 (0:00:00.252) 0:00:01.228 ******* ok: [sut] => { "ansible_facts": { "__network_is_ostree": false }, "changed": false } TASK [Fix CentOS6 Base repo] *************************************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/tasks/el_repo_setup.yml:28 Friday 09 February 2024 13:49:29 +0000 (0:00:00.020) 0:00:01.248 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Include the task 'enable_epel.yml'] ************************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/tasks/el_repo_setup.yml:53 Friday 09 February 2024 13:49:29 +0000 (0:00:00.018) 0:00:01.267 ******* included: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/tasks/enable_epel.yml for sut TASK [Create EPEL 8] *********************************************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/tasks/enable_epel.yml:8 Friday 09 February 2024 13:49:29 +0000 (0:00:00.030) 0:00:01.298 ******* ok: [sut] => { "attempts": 1, "changed": false, "cmd": [ "rpm", "-iv", "https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm" ], "rc": 0 } STDOUT: skipped, since /etc/yum.repos.d/epel.repo exists TASK [Install yum-utils package] *********************************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/tasks/enable_epel.yml:24 Friday 09 February 2024 13:49:29 +0000 (0:00:00.244) 0:00:01.542 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Enable EPEL 7] *********************************************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/tasks/enable_epel.yml:30 Friday 09 February 2024 13:49:29 +0000 (0:00:00.023) 0:00:01.565 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Enable EPEL 8] *********************************************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/tasks/enable_epel.yml:35 Friday 09 February 2024 13:49:30 +0000 (0:00:00.013) 0:00:01.579 ******* ok: [sut] => { "changed": false, "cmd": [ "dnf", "config-manager", "--set-enabled", "epel" ], "delta": "0:00:00.242225", "end": "2024-02-09 13:49:30.410841", "rc": 0, "start": "2024-02-09 13:49:30.168616" } TASK [Enable EPEL 6] *********************************************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/tasks/enable_epel.yml:40 Friday 09 February 2024 13:49:30 +0000 (0:00:00.425) 0:00:02.005 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Set network provider to 'nm'] ******************************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/tests_reapply_nm.yml:11 Friday 09 February 2024 13:49:30 +0000 (0:00:00.010) 0:00:02.015 ******* ok: [sut] => { "ansible_facts": { "network_provider": "nm" }, "changed": false } META: ran handlers META: ran handlers PLAY [Play for testing reapplying the connection] ****************************** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tests_reapply.yml:7 Friday 09 February 2024 13:49:30 +0000 (0:00:00.010) 0:00:02.026 ******* ok: [sut] TASK [Show test banner] ******************************************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tests_reapply.yml:14 Friday 09 February 2024 13:49:30 +0000 (0:00:00.459) 0:00:02.485 ******* ok: [sut] => {} MSG: Inside states tests TASK [Include the task 'show_interfaces.yml'] ********************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tests_reapply.yml:17 Friday 09 February 2024 13:49:30 +0000 (0:00:00.011) 0:00:02.496 ******* included: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/show_interfaces.yml for sut TASK [Include the task 'get_current_interfaces.yml'] *************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/show_interfaces.yml:3 Friday 09 February 2024 13:49:30 +0000 (0:00:00.012) 0:00:02.509 ******* included: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/get_current_interfaces.yml for sut TASK [Gather current interface info] ******************************************* task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/get_current_interfaces.yml:3 Friday 09 February 2024 13:49:30 +0000 (0:00:00.027) 0:00:02.537 ******* ok: [sut] => { "changed": false, "cmd": [ "ls", "-1" ], "delta": "0:00:00.002907", "end": "2024-02-09 13:49:31.127003", "rc": 0, "start": "2024-02-09 13:49:31.124096" } STDOUT: bonding_masters eth0 lo TASK [Set current_interfaces] ************************************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/get_current_interfaces.yml:9 Friday 09 February 2024 13:49:31 +0000 (0:00:00.182) 0:00:02.720 ******* ok: [sut] => { "ansible_facts": { "current_interfaces": [ "bonding_masters", "eth0", "lo" ] }, "changed": false } TASK [Show current_interfaces] ************************************************* task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/show_interfaces.yml:5 Friday 09 February 2024 13:49:31 +0000 (0:00:00.012) 0:00:02.732 ******* ok: [sut] => {} MSG: current_interfaces: ['bonding_masters', 'eth0', 'lo'] TASK [Include the task 'assert_device_absent.yml'] ***************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tests_reapply.yml:19 Friday 09 February 2024 13:49:31 +0000 (0:00:00.011) 0:00:02.744 ******* included: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/assert_device_absent.yml for sut TASK [Include the task 'get_interface_stat.yml'] ******************************* task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/assert_device_absent.yml:3 Friday 09 February 2024 13:49:31 +0000 (0:00:00.013) 0:00:02.758 ******* included: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/get_interface_stat.yml for sut TASK [Get stat for interface rpltstbr] ***************************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/get_interface_stat.yml:3 Friday 09 February 2024 13:49:31 +0000 (0:00:00.015) 0:00:02.773 ******* ok: [sut] => { "changed": false, "stat": { "exists": false } } TASK [Assert that the interface is absent - 'rpltstbr'] ************************ task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/assert_device_absent.yml:5 Friday 09 February 2024 13:49:31 +0000 (0:00:00.185) 0:00:02.958 ******* ok: [sut] => { "changed": false } MSG: All assertions passed META: ran handlers TASK [linux-system-roles.network : Ensure ansible_facts used by role] ********** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:4 Friday 09 February 2024 13:49:31 +0000 (0:00:00.017) 0:00:02.976 ******* included: /WORKDIR/git-bond_options_rewritekh3yrgl7/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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/set_facts.yml:3 Friday 09 February 2024 13:49:31 +0000 (0:00:00.068) 0:00:03.044 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/set_facts.yml:13 Friday 09 February 2024 13:49:31 +0000 (0:00:00.029) 0:00:03.073 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/set_facts.yml:18 Friday 09 February 2024 13:49:31 +0000 (0:00:00.012) 0:00:03.085 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 Friday 09 February 2024 13:49:31 +0000 (0:00:00.015) 0:00:03.100 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Friday 09 February 2024 13:49:33 +0000 (0:00:01.570) 0:00:04.671 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:7 Friday 09 February 2024 13:49:34 +0000 (0:00:01.447) 0:00:06.118 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:11 Friday 09 February 2024 13:49:34 +0000 (0:00:00.023) 0:00:06.142 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:19 Friday 09 February 2024 13:49:34 +0000 (0:00:00.024) 0:00:06.166 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install packages] *************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:30 Friday 09 February 2024 13:49:34 +0000 (0:00:00.022) 0:00:06.188 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:43 Friday 09 February 2024 13:49:34 +0000 (0:00:00.043) 0:00:06.231 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:58 Friday 09 February 2024 13:49:34 +0000 (0:00:00.020) 0:00:06.251 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:74 Friday 09 February 2024 13:49:34 +0000 (0:00:00.022) 0:00:06.274 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:88 Friday 09 February 2024 13:49:34 +0000 (0:00:00.025) 0:00:06.300 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:99 Friday 09 February 2024 13:49:35 +0000 (0:00:00.473) 0:00:06.773 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable network service] ********************* task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:108 Friday 09 February 2024 13:49:35 +0000 (0:00:00.025) 0:00:06.799 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:116 Friday 09 February 2024 13:49:35 +0000 (0:00:00.023) 0:00:06.822 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:125 Friday 09 February 2024 13:49:35 +0000 (0:00:00.022) 0:00:06.844 ******* ok: [sut] => { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [], "force_state_change": false, "ignore_errors": false, "provider": "nm" } }, "changed": false } STDERR: TASK [linux-system-roles.network : Configure networking state] ***************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:137 Friday 09 February 2024 13:49:35 +0000 (0:00:00.467) 0:00:07.312 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:143 Friday 09 February 2024 13:49:35 +0000 (0:00:00.055) 0:00:07.367 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:147 Friday 09 February 2024 13:49:35 +0000 (0:00:00.025) 0:00:07.393 ******* ok: [sut] => { "__network_connections_result": { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [], "force_state_change": false, "ignore_errors": false, "provider": "nm" } }, "changed": false, "failed": false, "stderr": "\n", "stderr_lines": [ "" ] } } TASK [linux-system-roles.network : Show debug messages for the network_state] *** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:152 Friday 09 February 2024 13:49:35 +0000 (0:00:00.038) 0:00:07.431 ******* skipping: [sut] => {} TASK [linux-system-roles.network : Re-test connectivity] *********************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:158 Friday 09 February 2024 13:49:35 +0000 (0:00:00.024) 0:00:07.456 ******* ok: [sut] => { "changed": false, "ping": "pong" } TASK [Include network role] **************************************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tests_reapply.yml:27 Friday 09 February 2024 13:49:36 +0000 (0:00:00.302) 0:00:07.758 ******* TASK [linux-system-roles.network : Ensure ansible_facts used by role] ********** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:4 Friday 09 February 2024 13:49:36 +0000 (0:00:00.043) 0:00:07.802 ******* included: /WORKDIR/git-bond_options_rewritekh3yrgl7/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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/set_facts.yml:3 Friday 09 February 2024 13:49:36 +0000 (0:00:00.066) 0:00:07.868 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/set_facts.yml:13 Friday 09 February 2024 13:49:36 +0000 (0:00:00.042) 0:00:07.911 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/set_facts.yml:18 Friday 09 February 2024 13:49:36 +0000 (0:00:00.033) 0:00:07.944 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 Friday 09 February 2024 13:49:36 +0000 (0:00:00.035) 0:00:07.979 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Friday 09 February 2024 13:49:37 +0000 (0:00:01.476) 0:00:09.456 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:7 Friday 09 February 2024 13:49:39 +0000 (0:00:01.280) 0:00:10.736 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:11 Friday 09 February 2024 13:49:39 +0000 (0:00:00.024) 0:00:10.761 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:19 Friday 09 February 2024 13:49:39 +0000 (0:00:00.028) 0:00:10.789 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install packages] *************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:30 Friday 09 February 2024 13:49:39 +0000 (0:00:00.023) 0:00:10.813 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:43 Friday 09 February 2024 13:49:39 +0000 (0:00:00.055) 0:00:10.869 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:58 Friday 09 February 2024 13:49:39 +0000 (0:00:00.022) 0:00:10.891 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:74 Friday 09 February 2024 13:49:39 +0000 (0:00:00.050) 0:00:10.941 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:88 Friday 09 February 2024 13:49:39 +0000 (0:00:00.031) 0:00:10.973 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:99 Friday 09 February 2024 13:49:39 +0000 (0:00:00.339) 0:00:11.312 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable network service] ********************* task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:108 Friday 09 February 2024 13:49:39 +0000 (0:00:00.028) 0:00:11.341 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:116 Friday 09 February 2024 13:49:39 +0000 (0:00:00.022) 0:00:11.363 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:125 Friday 09 February 2024 13:49:39 +0000 (0:00:00.021) 0:00:11.385 ******* changed: [sut] => { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "ip": { "auto6": false, "dhcp4": false }, "name": "rpltstbr", "state": "up", "type": "bridge" } ], "force_state_change": false, "ignore_errors": false, "provider": "nm" } }, "changed": true } STDERR: [003] #0, state:up persistent_state:present, 'rpltstbr': add connection rpltstbr, ef806d8d-7028-4ddb-a50f-6ea972eaa51f [004] #0, state:up persistent_state:present, 'rpltstbr': up connection rpltstbr, ef806d8d-7028-4ddb-a50f-6ea972eaa51f (is-modified) TASK [linux-system-roles.network : Configure networking state] ***************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:137 Friday 09 February 2024 13:49:40 +0000 (0:00:00.392) 0:00:11.777 ******* 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_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:143 Friday 09 February 2024 13:49:40 +0000 (0:00:00.024) 0:00:11.801 ******* ok: [sut] => { "__network_connections_result.stderr_lines": [ "[003] #0, state:up persistent_state:present, 'rpltstbr': add connection rpltstbr, ef806d8d-7028-4ddb-a50f-6ea972eaa51f", "[004] #0, state:up persistent_state:present, 'rpltstbr': up connection rpltstbr, ef806d8d-7028-4ddb-a50f-6ea972eaa51f (is-modified)" ] } TASK [linux-system-roles.network : Show debug messages for the network_connections] *** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:147 Friday 09 February 2024 13:49:40 +0000 (0:00:00.023) 0:00:11.825 ******* ok: [sut] => { "__network_connections_result": { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "ip": { "auto6": false, "dhcp4": false }, "name": "rpltstbr", "state": "up", "type": "bridge" } ], "force_state_change": false, "ignore_errors": false, "provider": "nm" } }, "changed": true, "failed": false, "stderr": "[003] #0, state:up persistent_state:present, 'rpltstbr': add connection rpltstbr, ef806d8d-7028-4ddb-a50f-6ea972eaa51f\n[004] #0, state:up persistent_state:present, 'rpltstbr': up connection rpltstbr, ef806d8d-7028-4ddb-a50f-6ea972eaa51f (is-modified)\n", "stderr_lines": [ "[003] #0, state:up persistent_state:present, 'rpltstbr': add connection rpltstbr, ef806d8d-7028-4ddb-a50f-6ea972eaa51f", "[004] #0, state:up persistent_state:present, 'rpltstbr': up connection rpltstbr, ef806d8d-7028-4ddb-a50f-6ea972eaa51f (is-modified)" ] } } TASK [linux-system-roles.network : Show debug messages for the network_state] *** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:152 Friday 09 February 2024 13:49:40 +0000 (0:00:00.045) 0:00:11.871 ******* skipping: [sut] => {} TASK [linux-system-roles.network : Re-test connectivity] *********************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:158 Friday 09 February 2024 13:49:40 +0000 (0:00:00.023) 0:00:11.894 ******* ok: [sut] => { "changed": false, "ping": "pong" } TASK [Include the task 'assert_device_present.yml'] **************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tests_reapply.yml:38 Friday 09 February 2024 13:49:40 +0000 (0:00:00.197) 0:00:12.092 ******* included: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/assert_device_present.yml for sut TASK [Include the task 'get_interface_stat.yml'] ******************************* task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/assert_device_present.yml:3 Friday 09 February 2024 13:49:40 +0000 (0:00:00.068) 0:00:12.160 ******* included: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/get_interface_stat.yml for sut TASK [Get stat for interface rpltstbr] ***************************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/get_interface_stat.yml:3 Friday 09 February 2024 13:49:40 +0000 (0:00:00.041) 0:00:12.201 ******* ok: [sut] => { "changed": false, "stat": { "atime": 1707486580.108964, "block_size": 4096, "blocks": 0, "ctime": 1707486580.108964, "dev": 21, "device_type": 0, "executable": true, "exists": true, "gid": 0, "gr_name": "root", "inode": 24533, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": true, "isreg": false, "issock": false, "isuid": false, "lnk_source": "/sys/devices/virtual/net/rpltstbr", "lnk_target": "../../devices/virtual/net/rpltstbr", "mode": "0777", "mtime": 1707486580.108964, "nlink": 1, "path": "/sys/class/net/rpltstbr", "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 - 'rpltstbr'] *********************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/assert_device_present.yml:5 Friday 09 February 2024 13:49:40 +0000 (0:00:00.218) 0:00:12.420 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Include the task 'assert_profile_present.yml'] *************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tests_reapply.yml:40 Friday 09 February 2024 13:49:40 +0000 (0:00:00.053) 0:00:12.473 ******* included: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/assert_profile_present.yml for sut TASK [Include the task 'get_profile_stat.yml'] ********************************* task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/assert_profile_present.yml:3 Friday 09 February 2024 13:49:40 +0000 (0:00:00.044) 0:00:12.517 ******* included: /WORKDIR/git-bond_options_rewritekh3yrgl7/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_rewritekh3yrgl7/tests/playbooks/tasks/get_profile_stat.yml:3 Friday 09 February 2024 13:49:40 +0000 (0:00:00.048) 0:00:12.566 ******* 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_rewritekh3yrgl7/tests/playbooks/tasks/get_profile_stat.yml:9 Friday 09 February 2024 13:49:41 +0000 (0:00:00.026) 0:00:12.593 ******* ok: [sut] => { "changed": false, "stat": { "atime": 1707486580.1625946, "block_size": 4096, "blocks": 8, "ctime": 1707486580.1075947, "dev": 51713, "device_type": 0, "executable": false, "exists": true, "gid": 0, "gr_name": "root", "inode": 5899596, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mode": "0644", "mtime": 1707486580.1075947, "nlink": 1, "path": "/etc/sysconfig/network-scripts/ifcfg-rpltstbr", "pw_name": "root", "readable": true, "rgrp": true, "roth": true, "rusr": true, "size": 223, "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-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/get_profile_stat.yml:17 Friday 09 February 2024 13:49:41 +0000 (0:00:00.195) 0:00:12.788 ******* ok: [sut] => { "ansible_facts": { "lsr_net_profile_exists": true }, "changed": false } TASK [Get NM profile info] ***************************************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/get_profile_stat.yml:25 Friday 09 February 2024 13:49:41 +0000 (0:00:00.023) 0:00:12.812 ******* ok: [sut] => { "changed": false, "cmd": "nmcli -f NAME,FILENAME connection show |grep rpltstbr | grep /etc", "delta": "0:00:00.019991", "end": "2024-02-09 13:49:41.421266", "rc": 0, "start": "2024-02-09 13:49:41.401275" } STDOUT: rpltstbr /etc/sysconfig/network-scripts/ifcfg-rpltstbr TASK [Set NM profile exist flag and ansible_managed flag true based on the nmcli output] *** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/get_profile_stat.yml:35 Friday 09 February 2024 13:49:41 +0000 (0:00:00.214) 0:00:13.027 ******* ok: [sut] => { "ansible_facts": { "lsr_net_profile_ansible_managed": true, "lsr_net_profile_exists": true, "lsr_net_profile_fingerprint": true }, "changed": false } TASK [Get the ansible_managed comment in ifcfg-rpltstbr] *********************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/get_profile_stat.yml:49 Friday 09 February 2024 13:49:41 +0000 (0:00:00.026) 0:00:13.053 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Verify the ansible_managed comment in ifcfg-rpltstbr] ******************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/get_profile_stat.yml:56 Friday 09 February 2024 13:49:41 +0000 (0:00:00.025) 0:00:13.078 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Get the fingerprint comment in ifcfg-rpltstbr] *************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/get_profile_stat.yml:62 Friday 09 February 2024 13:49:41 +0000 (0:00:00.053) 0:00:13.132 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Verify the fingerprint comment in ifcfg-rpltstbr] ************************ task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/get_profile_stat.yml:69 Friday 09 February 2024 13:49:41 +0000 (0:00:00.025) 0:00:13.157 ******* skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Assert that the profile is present - 'rpltstbr'] ************************* task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/assert_profile_present.yml:5 Friday 09 February 2024 13:49:41 +0000 (0:00:00.024) 0:00:13.182 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Assert that the ansible managed comment is present in 'rpltstbr'] ******** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/assert_profile_present.yml:10 Friday 09 February 2024 13:49:41 +0000 (0:00:00.026) 0:00:13.209 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Assert that the fingerprint comment is present in rpltstbr] ************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/assert_profile_present.yml:15 Friday 09 February 2024 13:49:41 +0000 (0:00:00.027) 0:00:13.236 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Get network_connections output] ****************************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tests_reapply.yml:43 Friday 09 February 2024 13:49:41 +0000 (0:00:00.025) 0:00:13.261 ******* changed: [sut] => { "_invocation": { "module_args": { "__debug_flags": "", "__header": "# Ansible managed test header", "connections": [ { "ip": { "address": [ "192.0.2.72/31" ], "auto6": false, "dhcp4": false }, "name": "rpltstbr", "state": "up", "type": "bridge" } ], "force_state_change": false, "ignore_errors": false, "provider": "nm" } }, "changed": true } STDERR: [003] #0, state:up persistent_state:present, 'rpltstbr': update connection rpltstbr, ef806d8d-7028-4ddb-a50f-6ea972eaa51f [004] #0, state:up persistent_state:present, 'rpltstbr': up connection rpltstbr, ef806d8d-7028-4ddb-a50f-6ea972eaa51f (is-modified) [005] #0, state:up persistent_state:present, 'rpltstbr': connection reapplied TASK [Show test_module_run] **************************************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tests_reapply.yml:58 Friday 09 February 2024 13:49:41 +0000 (0:00:00.307) 0:00:13.568 ******* ok: [sut] => { "test_module_run": { "_invocation": { "module_args": { "__debug_flags": "", "__header": "# Ansible managed test header", "connections": [ { "ip": { "address": [ "192.0.2.72/31" ], "auto6": false, "dhcp4": false }, "name": "rpltstbr", "state": "up", "type": "bridge" } ], "force_state_change": false, "ignore_errors": false, "provider": "nm" } }, "changed": true, "failed": false, "stderr": "[003] #0, state:up persistent_state:present, 'rpltstbr': update connection rpltstbr, ef806d8d-7028-4ddb-a50f-6ea972eaa51f\n[004] #0, state:up persistent_state:present, 'rpltstbr': up connection rpltstbr, ef806d8d-7028-4ddb-a50f-6ea972eaa51f (is-modified)\n[005] #0, state:up persistent_state:present, 'rpltstbr': connection reapplied\n", "stderr_lines": [ "[003] #0, state:up persistent_state:present, 'rpltstbr': update connection rpltstbr, ef806d8d-7028-4ddb-a50f-6ea972eaa51f", "[004] #0, state:up persistent_state:present, 'rpltstbr': up connection rpltstbr, ef806d8d-7028-4ddb-a50f-6ea972eaa51f (is-modified)", "[005] #0, state:up persistent_state:present, 'rpltstbr': connection reapplied" ] } } TASK [Assert that reapply is found in log output] ****************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tests_reapply.yml:61 Friday 09 February 2024 13:49:42 +0000 (0:00:00.024) 0:00:13.592 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Deactivate the connection and remove the connection profile] ************* task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tests_reapply.yml:72 Friday 09 February 2024 13:49:42 +0000 (0:00:00.026) 0:00:13.619 ******* fatal: [sut]: FAILED! => { "changed": false } MSG: missing required arguments: __header ...ignoring TASK [Delete the device 'rpltstbr'] ******************************************** task path: /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tests_reapply.yml:79 Friday 09 February 2024 13:49:42 +0000 (0:00:00.245) 0:00:13.865 ******* ok: [sut] => { "changed": false, "cmd": [ "ip", "link", "del", "rpltstbr" ], "delta": "0:00:00.013811", "end": "2024-02-09 13:49:42.468501", "rc": 0, "start": "2024-02-09 13:49:42.454690" } META: ran handlers META: ran handlers PLAY RECAP ********************************************************************* sut : ok=57 changed=2 unreachable=0 failed=0 skipped=36 rescued=0 ignored=1 Friday 09 February 2024 13:49:42 +0000 (0:00:00.201) 0:00:14.066 ******* =============================================================================== linux-system-roles.network : Check which services are running ----------- 1.57s /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 linux-system-roles.network : Check which services are running ----------- 1.48s /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 linux-system-roles.network : Check which packages are installed --------- 1.45s /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 linux-system-roles.network : Check which packages are installed --------- 1.28s /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Gathering Facts --------------------------------------------------------- 0.62s /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/tests_reapply_nm.yml:6 -------- linux-system-roles.network : Enable and start NetworkManager ------------ 0.47s /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:88 linux-system-roles.network : Configure networking connection profiles --- 0.47s /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:125 Gathering Facts --------------------------------------------------------- 0.46s /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tests_reapply.yml:7 - Enable EPEL 8 ----------------------------------------------------------- 0.43s /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/tasks/enable_epel.yml:35 ------ linux-system-roles.network : Configure networking connection profiles --- 0.39s /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:125 linux-system-roles.network : Enable and start NetworkManager ------------ 0.34s /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:88 Gather the minimum subset of ansible_facts required by the network role test --- 0.33s /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/tasks/el_repo_setup.yml:3 ----- Get network_connections output ------------------------------------------ 0.31s /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tests_reapply.yml:43 linux-system-roles.network : Re-test connectivity ----------------------- 0.30s /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/roles/linux-system-roles.network/tasks/main.yml:158 Check if system is ostree ----------------------------------------------- 0.25s /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/tasks/el_repo_setup.yml:19 ---- Deactivate the connection and remove the connection profile ------------- 0.25s /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tests_reapply.yml:72 Create EPEL 8 ----------------------------------------------------------- 0.24s /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/tasks/enable_epel.yml:8 ------- Get stat for interface rpltstbr ----------------------------------------- 0.22s /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/get_interface_stat.yml:3 Get NM profile info ----------------------------------------------------- 0.21s /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tasks/get_profile_stat.yml:25 Delete the device 'rpltstbr' -------------------------------------------- 0.20s /WORKDIR/git-bond_options_rewritekh3yrgl7/tests/playbooks/tests_reapply.yml:79 ---^---^---^---^---^--- # STDERR: ---v---v---v---v---v--- [WARNING]: Consider using the dnf module rather than running 'dnf'. If you need to use command because dnf is insufficient you can add 'warn: false' to this command task or set 'command_warnings=False' in ansible.cfg to get rid of this message. ---^---^---^---^---^---