# 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-route_typet_anjwbk/tests/tests_reapply_nm.yml PLAY [Run playbook 'playbooks/tests_reapply.yml' with nm as provider] ********** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-route_typet_anjwbk/tests/tests_reapply_nm.yml:6 Monday 08 January 2024 14:15:31 +0000 (0:00:00.012) 0:00:00.012 ******** ok: [sut] META: ran handlers TASK [Include the task 'el_repo_setup.yml'] ************************************ task path: /WORKDIR/git-route_typet_anjwbk/tests/tests_reapply_nm.yml:9 Monday 08 January 2024 14:15:32 +0000 (0:00:00.529) 0:00:00.541 ******** included: /WORKDIR/git-route_typet_anjwbk/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_typet_anjwbk/tests/tasks/el_repo_setup.yml:3 Monday 08 January 2024 14:15:32 +0000 (0:00:00.011) 0:00:00.552 ******** ok: [sut] TASK [Check if system is ostree] *********************************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/tasks/el_repo_setup.yml:19 Monday 08 January 2024 14:15:32 +0000 (0:00:00.220) 0:00:00.773 ******** ok: [sut] => { "changed": false, "stat": { "exists": false } } TASK [Set flag to indicate system is ostree] *********************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/tasks/el_repo_setup.yml:24 Monday 08 January 2024 14:15:32 +0000 (0:00:00.197) 0:00:00.971 ******** ok: [sut] => { "ansible_facts": { "__network_is_ostree": false }, "changed": false } TASK [Fix CentOS6 Base repo] *************************************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/tasks/el_repo_setup.yml:28 Monday 08 January 2024 14:15:32 +0000 (0:00:00.026) 0:00:00.997 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Include the task 'enable_epel.yml'] ************************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/tasks/el_repo_setup.yml:53 Monday 08 January 2024 14:15:32 +0000 (0:00:00.018) 0:00:01.016 ******** included: /WORKDIR/git-route_typet_anjwbk/tests/tasks/enable_epel.yml for sut TASK [Create EPEL 7] *********************************************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/tasks/enable_epel.yml:8 Monday 08 January 2024 14:15:32 +0000 (0:00:00.030) 0:00:01.047 ******** ok: [sut] => { "attempts": 1, "changed": false, "cmd": [ "rpm", "-iv", "https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm" ], "rc": 0 } STDOUT: skipped, since /etc/yum.repos.d/epel.repo exists TASK [Install yum-utils package] *********************************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/tasks/enable_epel.yml:24 Monday 08 January 2024 14:15:32 +0000 (0:00:00.189) 0:00:01.236 ******** ok: [sut] => { "changed": false, "rc": 0, "results": [ "yum-utils-1.1.31-54.el7_8.noarch providing yum-utils is already installed" ] } TASK [Enable EPEL 7] *********************************************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/tasks/enable_epel.yml:30 Monday 08 January 2024 14:15:33 +0000 (0:00:00.467) 0:00:01.704 ******** ok: [sut] => { "changed": false, "cmd": [ "yum-config-manager", "--enable", "epel" ], "delta": "0:00:00.186622", "end": "2024-01-08 14:15:33.659672", "rc": 0, "start": "2024-01-08 14:15:33.473050" } STDOUT: Loaded plugins: fastestmirror ================================== repo: epel ================================== [epel] async = True bandwidth = 0 base_persistdir = /var/lib/yum/repos/x86_64/7 baseurl = cache = 0 cachedir = /var/cache/yum/x86_64/7/epel check_config_file_age = True compare_providers_priority = 80 cost = 1000 deltarpm_metadata_percentage = 100 deltarpm_percentage = enabled = True enablegroups = True exclude = failovermethod = priority ftp_disable_epsv = False gpgcadir = /var/lib/yum/repos/x86_64/7/epel/gpgcadir gpgcakey = gpgcheck = True gpgdir = /var/lib/yum/repos/x86_64/7/epel/gpgdir gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 hdrdir = /var/cache/yum/x86_64/7/epel/headers http_caching = all includepkgs = ip_resolve = keepalive = True keepcache = False mddownloadpolicy = sqlite mdpolicy = group:small mediaid = metadata_expire = 21600 metadata_expire_filter = read-only:present metalink = https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=x86_64&infra=stock&content=centos minrate = 0 mirrorlist = mirrorlist_expire = 86400 name = Extra Packages for Enterprise Linux 7 - x86_64 old_base_cache_dir = password = persistdir = /var/lib/yum/repos/x86_64/7/epel pkgdir = /var/cache/yum/x86_64/7/epel/packages proxy = False proxy_dict = proxy_password = proxy_username = repo_gpgcheck = False retries = 10 skip_if_unavailable = False ssl_check_cert_permissions = True sslcacert = sslclientcert = sslclientkey = sslverify = True throttle = 0 timeout = 30.0 ui_id = epel/x86_64 ui_repoid_vars = releasever, basearch username = TASK [Enable EPEL 8] *********************************************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/tasks/enable_epel.yml:35 Monday 08 January 2024 14:15:33 +0000 (0:00:00.318) 0:00:02.022 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Enable EPEL 6] *********************************************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/tasks/enable_epel.yml:40 Monday 08 January 2024 14:15:33 +0000 (0:00:00.010) 0:00:02.033 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Set network provider to 'nm'] ******************************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/tests_reapply_nm.yml:11 Monday 08 January 2024 14:15:33 +0000 (0:00:00.009) 0:00:02.042 ******** 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-route_typet_anjwbk/tests/playbooks/tests_reapply.yml:7 Monday 08 January 2024 14:15:33 +0000 (0:00:00.010) 0:00:02.053 ******** ok: [sut] TASK [Show test banner] ******************************************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tests_reapply.yml:14 Monday 08 January 2024 14:15:34 +0000 (0:00:00.369) 0:00:02.422 ******** ok: [sut] => {} MSG: Inside states tests TASK [Include the task 'show_interfaces.yml'] ********************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tests_reapply.yml:17 Monday 08 January 2024 14:15:34 +0000 (0:00:00.010) 0:00:02.433 ******** included: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/show_interfaces.yml for sut TASK [Include the task 'get_current_interfaces.yml'] *************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/show_interfaces.yml:3 Monday 08 January 2024 14:15:34 +0000 (0:00:00.011) 0:00:02.445 ******** included: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/get_current_interfaces.yml for sut TASK [Gather current interface info] ******************************************* task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/get_current_interfaces.yml:3 Monday 08 January 2024 14:15:34 +0000 (0:00:00.012) 0:00:02.457 ******** ok: [sut] => { "changed": false, "cmd": [ "ls", "-1" ], "delta": "0:00:00.003750", "end": "2024-01-08 14:15:34.227503", "rc": 0, "start": "2024-01-08 14:15:34.223753" } STDOUT: bonding_masters eth0 lo TASK [Set current_interfaces] ************************************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/get_current_interfaces.yml:9 Monday 08 January 2024 14:15:34 +0000 (0:00:00.135) 0:00:02.593 ******** ok: [sut] => { "ansible_facts": { "current_interfaces": [ "bonding_masters", "eth0", "lo" ] }, "changed": false } TASK [Show current_interfaces] ************************************************* task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/show_interfaces.yml:5 Monday 08 January 2024 14:15:34 +0000 (0:00:00.014) 0:00:02.608 ******** ok: [sut] => {} MSG: current_interfaces: ['bonding_masters', 'eth0', 'lo'] TASK [Include the task 'assert_device_absent.yml'] ***************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tests_reapply.yml:19 Monday 08 January 2024 14:15:34 +0000 (0:00:00.011) 0:00:02.619 ******** included: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/assert_device_absent.yml for sut TASK [Include the task 'get_interface_stat.yml'] ******************************* task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/assert_device_absent.yml:3 Monday 08 January 2024 14:15:34 +0000 (0:00:00.015) 0:00:02.635 ******** included: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/get_interface_stat.yml for sut TASK [Get stat for interface rpltstbr] ***************************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/get_interface_stat.yml:3 Monday 08 January 2024 14:15:34 +0000 (0:00:00.014) 0:00:02.649 ******** ok: [sut] => { "changed": false, "stat": { "exists": false } } TASK [Assert that the interface is absent - 'rpltstbr'] ************************ task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/assert_device_absent.yml:5 Monday 08 January 2024 14:15:34 +0000 (0:00:00.130) 0:00:02.780 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:4 Monday 08 January 2024 14:15:34 +0000 (0:00:00.014) 0:00:02.794 ******** included: /WORKDIR/git-route_typet_anjwbk/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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/set_facts.yml:3 Monday 08 January 2024 14:15:34 +0000 (0:00:00.067) 0:00:02.862 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/set_facts.yml:13 Monday 08 January 2024 14:15:34 +0000 (0:00:00.012) 0:00:02.875 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/set_facts.yml:18 Monday 08 January 2024 14:15:34 +0000 (0:00:00.015) 0:00:02.891 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Check which services are running] *********** task path: /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 Monday 08 January 2024 14:15:34 +0000 (0:00:00.011) 0:00:02.903 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Monday 08 January 2024 14:15:35 +0000 (0:00:00.856) 0:00:03.759 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:7 Monday 08 January 2024 14:15:36 +0000 (0:00:01.094) 0:00:04.854 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:11 Monday 08 January 2024 14:15:36 +0000 (0:00:00.037) 0:00:04.891 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:19 Monday 08 January 2024 14:15:36 +0000 (0:00:00.021) 0:00:04.913 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install packages] *************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:30 Monday 08 January 2024 14:15:36 +0000 (0:00:00.020) 0:00:04.934 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:40 Monday 08 January 2024 14:15:36 +0000 (0:00:00.045) 0:00:04.979 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:55 Monday 08 January 2024 14:15:36 +0000 (0:00:00.049) 0:00:05.028 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:71 Monday 08 January 2024 14:15:36 +0000 (0:00:00.029) 0:00:05.058 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable and start NetworkManager] ************ task path: /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:85 Monday 08 January 2024 14:15:36 +0000 (0:00:00.071) 0:00:05.130 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:96 Monday 08 January 2024 14:15:37 +0000 (0:00:00.387) 0:00:05.517 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable network service] ********************* task path: /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:105 Monday 08 January 2024 14:15:37 +0000 (0:00:00.027) 0:00:05.545 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:113 Monday 08 January 2024 14:15:37 +0000 (0:00:00.019) 0:00:05.564 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Configure networking connection profiles] *** task path: /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:122 Monday 08 January 2024 14:15:37 +0000 (0:00:00.020) 0:00:05.585 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:134 Monday 08 January 2024 14:15:37 +0000 (0:00:00.394) 0:00:05.980 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:140 Monday 08 January 2024 14:15:37 +0000 (0:00:00.022) 0:00:06.003 ******** ok: [sut] => { "__network_connections_result.stderr_lines": [ "" ] } TASK [linux-system-roles.network : Show debug messages for the network_connections] *** task path: /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:144 Monday 08 January 2024 14:15:37 +0000 (0:00:00.024) 0:00:06.027 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:149 Monday 08 January 2024 14:15:37 +0000 (0:00:00.021) 0:00:06.049 ******** skipping: [sut] => {} TASK [linux-system-roles.network : Re-test connectivity] *********************** task path: /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:155 Monday 08 January 2024 14:15:37 +0000 (0:00:00.044) 0:00:06.093 ******** ok: [sut] => { "changed": false, "ping": "pong" } TASK [Include network role] **************************************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tests_reapply.yml:27 Monday 08 January 2024 14:15:37 +0000 (0:00:00.202) 0:00:06.295 ******** TASK [linux-system-roles.network : Ensure ansible_facts used by role] ********** task path: /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:4 Monday 08 January 2024 14:15:37 +0000 (0:00:00.039) 0:00:06.335 ******** included: /WORKDIR/git-route_typet_anjwbk/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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/set_facts.yml:3 Monday 08 January 2024 14:15:38 +0000 (0:00:00.037) 0:00:06.372 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/set_facts.yml:13 Monday 08 January 2024 14:15:38 +0000 (0:00:00.027) 0:00:06.399 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/set_facts.yml:18 Monday 08 January 2024 14:15:38 +0000 (0:00:00.022) 0:00:06.421 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Check which services are running] *********** task path: /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 Monday 08 January 2024 14:15:38 +0000 (0:00:00.023) 0:00:06.445 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Monday 08 January 2024 14:15:38 +0000 (0:00:00.766) 0:00:07.211 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:7 Monday 08 January 2024 14:15:39 +0000 (0:00:00.976) 0:00:08.187 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:11 Monday 08 January 2024 14:15:39 +0000 (0:00:00.047) 0:00:08.235 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:19 Monday 08 January 2024 14:15:39 +0000 (0:00:00.028) 0:00:08.264 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install packages] *************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:30 Monday 08 January 2024 14:15:39 +0000 (0:00:00.025) 0:00:08.289 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:40 Monday 08 January 2024 14:15:39 +0000 (0:00:00.047) 0:00:08.336 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:55 Monday 08 January 2024 14:15:40 +0000 (0:00:00.021) 0:00:08.358 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:71 Monday 08 January 2024 14:15:40 +0000 (0:00:00.020) 0:00:08.378 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable and start NetworkManager] ************ task path: /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:85 Monday 08 January 2024 14:15:40 +0000 (0:00:00.023) 0:00:08.401 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:96 Monday 08 January 2024 14:15:40 +0000 (0:00:00.235) 0:00:08.636 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable network service] ********************* task path: /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:105 Monday 08 January 2024 14:15:40 +0000 (0:00:00.047) 0:00:08.683 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:113 Monday 08 January 2024 14:15:40 +0000 (0:00:00.022) 0:00:08.706 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Configure networking connection profiles] *** task path: /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:122 Monday 08 January 2024 14:15:40 +0000 (0:00:00.021) 0:00:08.728 ******** 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, 4cdf4cd5-b8dc-4bf2-8a6d-e4f00e007e73 [004] #0, state:up persistent_state:present, 'rpltstbr': up connection rpltstbr, 4cdf4cd5-b8dc-4bf2-8a6d-e4f00e007e73 (not-active) TASK [linux-system-roles.network : Configure networking state] ***************** task path: /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:134 Monday 08 January 2024 14:15:40 +0000 (0:00:00.435) 0:00:09.163 ******** 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-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:140 Monday 08 January 2024 14:15:40 +0000 (0:00:00.032) 0:00:09.195 ******** ok: [sut] => { "__network_connections_result.stderr_lines": [ "[003] #0, state:up persistent_state:present, 'rpltstbr': add connection rpltstbr, 4cdf4cd5-b8dc-4bf2-8a6d-e4f00e007e73", "[004] #0, state:up persistent_state:present, 'rpltstbr': up connection rpltstbr, 4cdf4cd5-b8dc-4bf2-8a6d-e4f00e007e73 (not-active)" ] } TASK [linux-system-roles.network : Show debug messages for the network_connections] *** task path: /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:144 Monday 08 January 2024 14:15:40 +0000 (0:00:00.054) 0:00:09.250 ******** 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, 4cdf4cd5-b8dc-4bf2-8a6d-e4f00e007e73\n[004] #0, state:up persistent_state:present, 'rpltstbr': up connection rpltstbr, 4cdf4cd5-b8dc-4bf2-8a6d-e4f00e007e73 (not-active)\n", "stderr_lines": [ "[003] #0, state:up persistent_state:present, 'rpltstbr': add connection rpltstbr, 4cdf4cd5-b8dc-4bf2-8a6d-e4f00e007e73", "[004] #0, state:up persistent_state:present, 'rpltstbr': up connection rpltstbr, 4cdf4cd5-b8dc-4bf2-8a6d-e4f00e007e73 (not-active)" ] } } TASK [linux-system-roles.network : Show debug messages for the network_state] *** task path: /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:149 Monday 08 January 2024 14:15:40 +0000 (0:00:00.023) 0:00:09.273 ******** skipping: [sut] => {} TASK [linux-system-roles.network : Re-test connectivity] *********************** task path: /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:155 Monday 08 January 2024 14:15:40 +0000 (0:00:00.040) 0:00:09.313 ******** ok: [sut] => { "changed": false, "ping": "pong" } TASK [Include the task 'assert_device_present.yml'] **************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tests_reapply.yml:38 Monday 08 January 2024 14:15:41 +0000 (0:00:00.155) 0:00:09.469 ******** included: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/assert_device_present.yml for sut TASK [Include the task 'get_interface_stat.yml'] ******************************* task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/assert_device_present.yml:3 Monday 08 January 2024 14:15:41 +0000 (0:00:00.051) 0:00:09.521 ******** included: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/get_interface_stat.yml for sut TASK [Get stat for interface rpltstbr] ***************************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/get_interface_stat.yml:3 Monday 08 January 2024 14:15:41 +0000 (0:00:00.046) 0:00:09.568 ******** ok: [sut] => { "changed": false, "stat": { "atime": 1704723340.6723173, "block_size": 4096, "blocks": 0, "ctime": 1704723340.671317, "dev": 18, "device_type": 0, "executable": true, "exists": true, "gid": 0, "gr_name": "root", "inode": 17685, "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": 1704723340.671317, "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-route_typet_anjwbk/tests/playbooks/tasks/assert_device_present.yml:5 Monday 08 January 2024 14:15:41 +0000 (0:00:00.179) 0:00:09.747 ******** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Include the task 'assert_profile_present.yml'] *************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tests_reapply.yml:40 Monday 08 January 2024 14:15:41 +0000 (0:00:00.054) 0:00:09.802 ******** included: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/assert_profile_present.yml for sut TASK [Include the task 'get_profile_stat.yml'] ********************************* task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/assert_profile_present.yml:3 Monday 08 January 2024 14:15:41 +0000 (0:00:00.040) 0:00:09.843 ******** included: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/get_profile_stat.yml for sut TASK [Initialize NM profile exist and ansible_managed comment flag] ************ task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/get_profile_stat.yml:3 Monday 08 January 2024 14:15:41 +0000 (0:00:00.055) 0:00:09.898 ******** 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_typet_anjwbk/tests/playbooks/tasks/get_profile_stat.yml:9 Monday 08 January 2024 14:15:41 +0000 (0:00:00.029) 0:00:09.928 ******** ok: [sut] => { "changed": false, "stat": { "atime": 1704723340.6693172, "block_size": 4096, "blocks": 8, "ctime": 1704723340.668317, "dev": 51713, "device_type": 0, "executable": false, "exists": true, "gid": 0, "gr_name": "root", "inode": 25429, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mode": "0644", "mtime": 1704723340.668317, "nlink": 1, "path": "/etc/sysconfig/network-scripts/ifcfg-rpltstbr", "pw_name": "root", "readable": true, "rgrp": true, "roth": true, "rusr": true, "size": 148, "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_typet_anjwbk/tests/playbooks/tasks/get_profile_stat.yml:17 Monday 08 January 2024 14:15:41 +0000 (0:00:00.181) 0:00:10.109 ******** ok: [sut] => { "ansible_facts": { "lsr_net_profile_exists": true }, "changed": false } TASK [Get NM profile info] ***************************************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/get_profile_stat.yml:25 Monday 08 January 2024 14:15:41 +0000 (0:00:00.027) 0:00:10.136 ******** ok: [sut] => { "changed": false, "cmd": "nmcli -f NAME,FILENAME connection show |grep rpltstbr | grep /etc", "delta": "0:00:00.026163", "end": "2024-01-08 14:15:41.929915", "rc": 0, "start": "2024-01-08 14:15:41.903752" } 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-route_typet_anjwbk/tests/playbooks/tasks/get_profile_stat.yml:35 Monday 08 January 2024 14:15:41 +0000 (0:00:00.187) 0:00:10.324 ******** 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-route_typet_anjwbk/tests/playbooks/tasks/get_profile_stat.yml:49 Monday 08 January 2024 14:15:41 +0000 (0:00:00.023) 0:00:10.348 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Verify the ansible_managed comment in ifcfg-rpltstbr] ******************** task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/get_profile_stat.yml:56 Monday 08 January 2024 14:15:42 +0000 (0:00:00.022) 0:00:10.370 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Get the fingerprint comment in ifcfg-rpltstbr] *************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/get_profile_stat.yml:62 Monday 08 January 2024 14:15:42 +0000 (0:00:00.023) 0:00:10.393 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Verify the fingerprint comment in ifcfg-rpltstbr] ************************ task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/get_profile_stat.yml:69 Monday 08 January 2024 14:15:42 +0000 (0:00:00.028) 0:00:10.422 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Assert that the profile is present - 'rpltstbr'] ************************* task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/assert_profile_present.yml:5 Monday 08 January 2024 14:15:42 +0000 (0:00:00.028) 0:00:10.450 ******** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Assert that the ansible managed comment is present in 'rpltstbr'] ******** task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/assert_profile_present.yml:10 Monday 08 January 2024 14:15:42 +0000 (0:00:00.023) 0:00:10.474 ******** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Assert that the fingerprint comment is present in rpltstbr] ************** task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/assert_profile_present.yml:15 Monday 08 January 2024 14:15:42 +0000 (0:00:00.022) 0:00:10.497 ******** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Get network_connections output] ****************************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tests_reapply.yml:43 Monday 08 January 2024 14:15:42 +0000 (0:00:00.022) 0:00:10.519 ******** 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, 4cdf4cd5-b8dc-4bf2-8a6d-e4f00e007e73 [004] #0, state:up persistent_state:present, 'rpltstbr': up connection rpltstbr, 4cdf4cd5-b8dc-4bf2-8a6d-e4f00e007e73 (is-modified) [005] #0, state:up persistent_state:present, 'rpltstbr': connection reapplied TASK [Show test_module_run] **************************************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tests_reapply.yml:58 Monday 08 January 2024 14:15:42 +0000 (0:00:00.278) 0:00:10.797 ******** 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, 4cdf4cd5-b8dc-4bf2-8a6d-e4f00e007e73\n[004] #0, state:up persistent_state:present, 'rpltstbr': up connection rpltstbr, 4cdf4cd5-b8dc-4bf2-8a6d-e4f00e007e73 (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, 4cdf4cd5-b8dc-4bf2-8a6d-e4f00e007e73", "[004] #0, state:up persistent_state:present, 'rpltstbr': up connection rpltstbr, 4cdf4cd5-b8dc-4bf2-8a6d-e4f00e007e73 (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-route_typet_anjwbk/tests/playbooks/tests_reapply.yml:61 Monday 08 January 2024 14:15:42 +0000 (0:00:00.022) 0:00:10.820 ******** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Deactivate the connection and remove the connection profile] ************* task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tests_reapply.yml:72 Monday 08 January 2024 14:15:42 +0000 (0:00:00.022) 0:00:10.843 ******** fatal: [sut]: FAILED! => { "changed": false } MSG: missing required arguments: __header ...ignoring TASK [Delete the device 'rpltstbr'] ******************************************** task path: /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tests_reapply.yml:79 Monday 08 January 2024 14:15:42 +0000 (0:00:00.195) 0:00:11.038 ******** ok: [sut] => { "changed": false, "cmd": [ "ip", "link", "del", "rpltstbr" ], "delta": "0:00:00.012542", "end": "2024-01-08 14:15:42.827086", "rc": 0, "start": "2024-01-08 14:15:42.814544" } META: ran handlers META: ran handlers PLAY RECAP ********************************************************************* sut : ok=58 changed=2 unreachable=0 failed=0 skipped=35 rescued=0 ignored=1 Monday 08 January 2024 14:15:42 +0000 (0:00:00.153) 0:00:11.192 ******** =============================================================================== linux-system-roles.network : Check which packages are installed --------- 1.09s /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 linux-system-roles.network : Check which packages are installed --------- 0.98s /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 linux-system-roles.network : Check which services are running ----------- 0.86s /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 linux-system-roles.network : Check which services are running ----------- 0.77s /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 Gathering Facts --------------------------------------------------------- 0.53s /WORKDIR/git-route_typet_anjwbk/tests/tests_reapply_nm.yml:6 ------------------ Install yum-utils package ----------------------------------------------- 0.47s /WORKDIR/git-route_typet_anjwbk/tests/tasks/enable_epel.yml:24 ---------------- linux-system-roles.network : Configure networking connection profiles --- 0.44s /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:122 linux-system-roles.network : Configure networking connection profiles --- 0.39s /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:122 linux-system-roles.network : Enable and start NetworkManager ------------ 0.39s /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:85 Gathering Facts --------------------------------------------------------- 0.37s /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tests_reapply.yml:7 ----------- Enable EPEL 7 ----------------------------------------------------------- 0.32s /WORKDIR/git-route_typet_anjwbk/tests/tasks/enable_epel.yml:30 ---------------- Get network_connections output ------------------------------------------ 0.28s /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tests_reapply.yml:43 ---------- linux-system-roles.network : Enable and start NetworkManager ------------ 0.24s /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:85 Gather the minimum subset of ansible_facts required by the network role test --- 0.22s /WORKDIR/git-route_typet_anjwbk/tests/tasks/el_repo_setup.yml:3 --------------- linux-system-roles.network : Re-test connectivity ----------------------- 0.20s /WORKDIR/git-route_typet_anjwbk/tests/roles/linux-system-roles.network/tasks/main.yml:155 Check if system is ostree ----------------------------------------------- 0.20s /WORKDIR/git-route_typet_anjwbk/tests/tasks/el_repo_setup.yml:19 -------------- Deactivate the connection and remove the connection profile ------------- 0.20s /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tests_reapply.yml:72 ---------- Create EPEL 7 ----------------------------------------------------------- 0.19s /WORKDIR/git-route_typet_anjwbk/tests/tasks/enable_epel.yml:8 ----------------- Get NM profile info ----------------------------------------------------- 0.19s /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/get_profile_stat.yml:25 - Stat profile file ------------------------------------------------------- 0.18s /WORKDIR/git-route_typet_anjwbk/tests/playbooks/tasks/get_profile_stat.yml:9 -- ---^---^---^---^---^--- # STDERR: ---v---v---v---v---v--- ---^---^---^---^---^---