# 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_bridge_cloned_mac_initscripts.yml ****************************** 6 plays in /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/tests_bridge_cloned_mac_initscripts.yml PLAY [Run playbook 'playbooks/tests_bridge_cloned_mac.yml' with initscripts as provider] *** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/tests_bridge_cloned_mac_initscripts.yml:5 Wednesday 20 December 2023 15:32:58 +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-ansible-lint-test-2.16zjkeguwj/tests/tests_bridge_cloned_mac_initscripts.yml:8 Wednesday 20 December 2023 15:32:59 +0000 (0:00:00.826) 0:00:00.838 **** included: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/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-ansible-lint-test-2.16zjkeguwj/tests/tasks/el_repo_setup.yml:3 Wednesday 20 December 2023 15:32:59 +0000 (0:00:00.013) 0:00:00.851 **** ok: [sut] TASK [Check if system is ostree] *********************************************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/tasks/el_repo_setup.yml:19 Wednesday 20 December 2023 15:32:59 +0000 (0:00:00.247) 0:00:01.099 **** ok: [sut] => { "changed": false, "stat": { "exists": false } } TASK [Set flag to indicate system is ostree] *********************************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/tasks/el_repo_setup.yml:24 Wednesday 20 December 2023 15:32:59 +0000 (0:00:00.196) 0:00:01.295 **** ok: [sut] => { "ansible_facts": { "__network_is_ostree": false }, "changed": false } TASK [Fix CentOS6 Base repo] *************************************************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/tasks/el_repo_setup.yml:28 Wednesday 20 December 2023 15:32:59 +0000 (0:00:00.019) 0:00:01.315 **** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Include the task 'enable_epel.yml'] ************************************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/tasks/el_repo_setup.yml:53 Wednesday 20 December 2023 15:32:59 +0000 (0:00:00.016) 0:00:01.332 **** included: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/tasks/enable_epel.yml for sut TASK [Create EPEL 6] *********************************************************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/tasks/enable_epel.yml:8 Wednesday 20 December 2023 15:32:59 +0000 (0:00:00.032) 0:00:01.364 **** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Install yum-utils package] *********************************************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/tasks/enable_epel.yml:24 Wednesday 20 December 2023 15:32:59 +0000 (0:00:00.010) 0:00:01.375 **** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Enable EPEL 7] *********************************************************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/tasks/enable_epel.yml:30 Wednesday 20 December 2023 15:32:59 +0000 (0:00:00.010) 0:00:01.385 **** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Enable EPEL 8] *********************************************************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/tasks/enable_epel.yml:35 Wednesday 20 December 2023 15:32:59 +0000 (0:00:00.010) 0:00:01.396 **** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Enable EPEL 6] *********************************************************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/tasks/enable_epel.yml:40 Wednesday 20 December 2023 15:32:59 +0000 (0:00:00.010) 0:00:01.406 **** ok: [sut] => { "changed": false, "checksum": "4bafddfe7badb0971135c888f25df1308b193622", "dest": "/etc/yum.repos.d/epel.repo", "gid": 0, "group": "root", "mode": "0644", "owner": "root", "path": "/etc/yum.repos.d/epel.repo", "secontext": "system_u:object_r:etc_t:s0", "size": 155, "state": "file", "uid": 0 } TASK [Set network provider to 'initscripts'] *********************************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/tests_bridge_cloned_mac_initscripts.yml:10 Wednesday 20 December 2023 15:33:00 +0000 (0:00:00.431) 0:00:01.838 **** ok: [sut] => { "ansible_facts": { "network_provider": "initscripts" }, "changed": false } META: ran handlers META: ran handlers PLAY [Test configuring bridges] ************************************************ TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/playbooks/tests_bridge_cloned_mac.yml:3 Wednesday 20 December 2023 15:33:00 +0000 (0:00:00.010) 0:00:01.848 **** ok: [sut] META: ran handlers TASK [Define vars] ************************************************************* task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/playbooks/tests_bridge_cloned_mac.yml:6 Wednesday 20 December 2023 15:33:00 +0000 (0:00:00.684) 0:00:02.532 **** ok: [sut] => { "ansible_facts": { "cloned_mac": "12:23:34:45:56:70", "interface": "LSR-TST-br31" }, "changed": false } META: ran handlers META: ran handlers PLAY [Add test bridge] ********************************************************* TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/playbooks/tests_bridge_cloned_mac.yml:11 Wednesday 20 December 2023 15:33:00 +0000 (0:00:00.014) 0:00:02.547 **** ok: [sut] META: ran handlers TASK [linux-system-roles.network : Ensure ansible_facts used by role] ********** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:4 Wednesday 20 December 2023 15:33:01 +0000 (0:00:00.694) 0:00:03.242 **** included: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:3 Wednesday 20 December 2023 15:33:01 +0000 (0:00:00.065) 0:00:03.307 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:13 Wednesday 20 December 2023 15:33:01 +0000 (0:00:00.013) 0:00:03.320 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:18 Wednesday 20 December 2023 15:33:01 +0000 (0:00:00.010) 0:00:03.331 **** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Check which services are running] *********** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 Wednesday 20 December 2023 15:33:01 +0000 (0:00:00.010) 0:00:03.341 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Wednesday 20 December 2023 15:33:03 +0000 (0:00:01.859) 0:00:05.201 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:7 Wednesday 20 December 2023 15:33:04 +0000 (0:00:00.781) 0:00:05.982 **** ok: [sut] => {} MSG: Using network provider: initscripts 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:11 Wednesday 20 December 2023 15:33:04 +0000 (0:00:00.021) 0:00:06.003 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:19 Wednesday 20 December 2023 15:33:04 +0000 (0:00:00.020) 0:00:06.024 **** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install packages] *************************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:30 Wednesday 20 December 2023 15:33:04 +0000 (0:00:00.021) 0:00:06.045 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:40 Wednesday 20 December 2023 15:33:04 +0000 (0:00:00.042) 0:00:06.088 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:55 Wednesday 20 December 2023 15:33:04 +0000 (0:00:00.020) 0:00:06.108 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:71 Wednesday 20 December 2023 15:33:04 +0000 (0:00:00.020) 0:00:06.128 **** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable and start NetworkManager] ************ task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:85 Wednesday 20 December 2023 15:33:04 +0000 (0:00:00.024) 0:00:06.153 **** 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 : Enable and start wpa_supplicant] ************ task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:96 Wednesday 20 December 2023 15:33:04 +0000 (0:00:00.020) 0:00:06.174 **** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable network service] ********************* task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:105 Wednesday 20 December 2023 15:33:04 +0000 (0:00:00.019) 0:00:06.193 **** 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 : Ensure initscripts network file dependency is present] *** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:113 Wednesday 20 December 2023 15:33:04 +0000 (0:00:00.284) 0:00:06.478 **** ok: [sut] => { "changed": false, "dest": "/etc/sysconfig/network", "src": "/home/jenkins/.ansible/tmp/ansible-local-6884k5wls_e3/tmpdf1235ku" } TASK [linux-system-roles.network : Configure networking connection profiles] *** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:122 Wednesday 20 December 2023 15:33:04 +0000 (0:00:00.210) 0:00:06.688 **** changed: [sut] => { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "cloned_mac": "12:23:34:45:56:70", "interface_name": "LSR-TST-br31", "ip": { "auto6": true, "dhcp4": false }, "name": "LSR-TST-br31", "state": "up", "type": "bridge" } ], "force_state_change": false, "ignore_errors": false, "provider": "initscripts" } }, "changed": true } STDERR: [003] #0, state:up persistent_state:present, 'LSR-TST-br31': add ifcfg-rh profile 'LSR-TST-br31' [004] #0, state:up persistent_state:present, 'LSR-TST-br31': up connection LSR-TST-br31 (not-active) [005] #0, state:up persistent_state:present, 'LSR-TST-br31': call 'ifup LSR-TST-br31': rc=0, out='', err='' TASK [linux-system-roles.network : Configure networking state] ***************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:134 Wednesday 20 December 2023 15:33:05 +0000 (0:00:00.835) 0:00:07.523 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:140 Wednesday 20 December 2023 15:33:05 +0000 (0:00:00.020) 0:00:07.544 **** ok: [sut] => { "__network_connections_result.stderr_lines": [ "[003] #0, state:up persistent_state:present, 'LSR-TST-br31': add ifcfg-rh profile 'LSR-TST-br31'", "[004] #0, state:up persistent_state:present, 'LSR-TST-br31': up connection LSR-TST-br31 (not-active)", "[005] #0, state:up persistent_state:present, 'LSR-TST-br31': call 'ifup LSR-TST-br31': rc=0, out='', err=''" ] } TASK [linux-system-roles.network : Show debug messages for the network_connections] *** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:144 Wednesday 20 December 2023 15:33:05 +0000 (0:00:00.021) 0:00:07.566 **** ok: [sut] => { "__network_connections_result": { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "cloned_mac": "12:23:34:45:56:70", "interface_name": "LSR-TST-br31", "ip": { "auto6": true, "dhcp4": false }, "name": "LSR-TST-br31", "state": "up", "type": "bridge" } ], "force_state_change": false, "ignore_errors": false, "provider": "initscripts" } }, "changed": true, "failed": false, "stderr": "[003] #0, state:up persistent_state:present, 'LSR-TST-br31': add ifcfg-rh profile 'LSR-TST-br31'\n[004] #0, state:up persistent_state:present, 'LSR-TST-br31': up connection LSR-TST-br31 (not-active)\n[005] #0, state:up persistent_state:present, 'LSR-TST-br31': call 'ifup LSR-TST-br31': rc=0, out='', err=''\n", "stderr_lines": [ "[003] #0, state:up persistent_state:present, 'LSR-TST-br31': add ifcfg-rh profile 'LSR-TST-br31'", "[004] #0, state:up persistent_state:present, 'LSR-TST-br31': up connection LSR-TST-br31 (not-active)", "[005] #0, state:up persistent_state:present, 'LSR-TST-br31': call 'ifup LSR-TST-br31': rc=0, out='', err=''" ] } } TASK [linux-system-roles.network : Show debug messages for the network_state] *** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:149 Wednesday 20 December 2023 15:33:05 +0000 (0:00:00.022) 0:00:07.588 **** skipping: [sut] => {} TASK [linux-system-roles.network : Re-test connectivity] *********************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:155 Wednesday 20 December 2023 15:33:05 +0000 (0:00:00.018) 0:00:07.607 **** ok: [sut] => { "changed": false, "ping": "pong" } TASK [Verify ifcfg MACADDR entry] ********************************************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/playbooks/tests_bridge_cloned_mac.yml:26 Wednesday 20 December 2023 15:33:05 +0000 (0:00:00.182) 0:00:07.789 **** ok: [sut] => { "changed": false, "cmd": [ "grep", "^MACADDR=", "/etc/sysconfig/network-scripts/ifcfg-LSR-TST-br31" ], "delta": "0:00:00.003375", "end": "2023-12-20 15:33:06.162582", "rc": 0, "start": "2023-12-20 15:33:06.159207" } STDOUT: MACADDR="12:23:34:45:56:70" TASK [Verify nmcli cloned-mac-address entry] *********************************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/playbooks/tests_bridge_cloned_mac.yml:34 Wednesday 20 December 2023 15:33:06 +0000 (0:00:00.194) 0:00:07.984 **** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Assert that cloned-mac-address addresses are configured correctly] ******* task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/playbooks/tests_bridge_cloned_mac.yml:43 Wednesday 20 December 2023 15:33:06 +0000 (0:00:00.020) 0:00:08.004 **** ok: [sut] => { "changed": false } MSG: All assertions passed META: ran handlers META: ran handlers PLAY [Set down {{ profile }}] ************************************************** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/playbooks/down_profile.yml:3 Wednesday 20 December 2023 15:33:06 +0000 (0:00:00.028) 0:00:08.032 **** ok: [sut] META: ran handlers TASK [linux-system-roles.network : Ensure ansible_facts used by role] ********** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:4 Wednesday 20 December 2023 15:33:06 +0000 (0:00:00.698) 0:00:08.731 **** included: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:3 Wednesday 20 December 2023 15:33:06 +0000 (0:00:00.034) 0:00:08.766 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:13 Wednesday 20 December 2023 15:33:07 +0000 (0:00:00.024) 0:00:08.791 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:18 Wednesday 20 December 2023 15:33:07 +0000 (0:00:00.043) 0:00:08.835 **** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Check which services are running] *********** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 Wednesday 20 December 2023 15:33:07 +0000 (0:00:00.021) 0:00:08.856 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Wednesday 20 December 2023 15:33:08 +0000 (0:00:01.693) 0:00:10.550 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:7 Wednesday 20 December 2023 15:33:09 +0000 (0:00:00.628) 0:00:11.179 **** ok: [sut] => {} MSG: Using network provider: initscripts 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:11 Wednesday 20 December 2023 15:33:09 +0000 (0:00:00.022) 0:00:11.202 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:19 Wednesday 20 December 2023 15:33:09 +0000 (0:00:00.041) 0:00:11.243 **** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install packages] *************************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:30 Wednesday 20 December 2023 15:33:09 +0000 (0:00:00.021) 0:00:11.265 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:40 Wednesday 20 December 2023 15:33:09 +0000 (0:00:00.042) 0:00:11.308 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:55 Wednesday 20 December 2023 15:33:09 +0000 (0:00:00.022) 0:00:11.330 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:71 Wednesday 20 December 2023 15:33:09 +0000 (0:00:00.022) 0:00:11.352 **** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable and start NetworkManager] ************ task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:85 Wednesday 20 December 2023 15:33:09 +0000 (0:00:00.024) 0:00:11.376 **** 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 : Enable and start wpa_supplicant] ************ task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:96 Wednesday 20 December 2023 15:33:09 +0000 (0:00:00.020) 0:00:11.397 **** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable network service] ********************* task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:105 Wednesday 20 December 2023 15:33:09 +0000 (0:00:00.021) 0:00:11.418 **** 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 : Ensure initscripts network file dependency is present] *** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:113 Wednesday 20 December 2023 15:33:09 +0000 (0:00:00.209) 0:00:11.627 **** ok: [sut] => { "changed": false, "dest": "/etc/sysconfig/network", "src": "/home/jenkins/.ansible/tmp/ansible-local-6884k5wls_e3/tmpcm1kwepa" } TASK [linux-system-roles.network : Configure networking connection profiles] *** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:122 Wednesday 20 December 2023 15:33:10 +0000 (0:00:00.216) 0:00:11.843 **** ok: [sut] => { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "name": "LSR-TST-br31", "state": "down" } ], "force_state_change": false, "ignore_errors": false, "provider": "initscripts" } }, "changed": false } STDERR: [002] #0, state:down persistent_state:present, 'LSR-TST-br31': down connection LSR-TST-br31 skipped because not active TASK [linux-system-roles.network : Configure networking state] ***************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:134 Wednesday 20 December 2023 15:33:10 +0000 (0:00:00.281) 0:00:12.124 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:140 Wednesday 20 December 2023 15:33:10 +0000 (0:00:00.021) 0:00:12.146 **** ok: [sut] => { "__network_connections_result.stderr_lines": [ "[002] #0, state:down persistent_state:present, 'LSR-TST-br31': down connection LSR-TST-br31 skipped because not active" ] } TASK [linux-system-roles.network : Show debug messages for the network_connections] *** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:144 Wednesday 20 December 2023 15:33:10 +0000 (0:00:00.022) 0:00:12.168 **** ok: [sut] => { "__network_connections_result": { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "name": "LSR-TST-br31", "state": "down" } ], "force_state_change": false, "ignore_errors": false, "provider": "initscripts" } }, "changed": false, "failed": false, "stderr": "[002] #0, state:down persistent_state:present, 'LSR-TST-br31': down connection LSR-TST-br31 skipped because not active\n", "stderr_lines": [ "[002] #0, state:down persistent_state:present, 'LSR-TST-br31': down connection LSR-TST-br31 skipped because not active" ] } } TASK [linux-system-roles.network : Show debug messages for the network_state] *** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:149 Wednesday 20 December 2023 15:33:10 +0000 (0:00:00.020) 0:00:12.189 **** skipping: [sut] => {} TASK [linux-system-roles.network : Re-test connectivity] *********************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:155 Wednesday 20 December 2023 15:33:10 +0000 (0:00:00.019) 0:00:12.208 **** ok: [sut] => { "changed": false, "ping": "pong" } META: ran handlers META: ran handlers PLAY [Delete the interface] **************************************************** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/playbooks/down_profile+delete_interface.yml:5 Wednesday 20 December 2023 15:33:10 +0000 (0:00:00.158) 0:00:12.366 **** ok: [sut] META: ran handlers TASK [Include the task 'delete_interface.yml'] ********************************* task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/playbooks/down_profile+delete_interface.yml:8 Wednesday 20 December 2023 15:33:11 +0000 (0:00:00.693) 0:00:13.060 **** included: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/playbooks/tasks/delete_interface.yml for sut TASK [Remove test interface if necessary] ************************************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/playbooks/tasks/delete_interface.yml:3 Wednesday 20 December 2023 15:33:11 +0000 (0:00:00.033) 0:00:13.094 **** ok: [sut] => { "changed": false, "cmd": [ "ip", "link", "del", "LSR-TST-br31" ], "delta": "0:00:00.022628", "end": "2023-12-20 15:33:11.438192", "rc": 0, "start": "2023-12-20 15:33:11.415564" } META: ran handlers META: ran handlers PLAY [Remove {{ profile }}] **************************************************** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/playbooks/remove_profile.yml:3 Wednesday 20 December 2023 15:33:11 +0000 (0:00:00.178) 0:00:13.272 **** ok: [sut] META: ran handlers TASK [linux-system-roles.network : Ensure ansible_facts used by role] ********** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:4 Wednesday 20 December 2023 15:33:12 +0000 (0:00:00.765) 0:00:14.037 **** included: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:3 Wednesday 20 December 2023 15:33:12 +0000 (0:00:00.034) 0:00:14.072 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:13 Wednesday 20 December 2023 15:33:12 +0000 (0:00:00.025) 0:00:14.097 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:18 Wednesday 20 December 2023 15:33:12 +0000 (0:00:00.019) 0:00:14.117 **** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Check which services are running] *********** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 Wednesday 20 December 2023 15:33:12 +0000 (0:00:00.019) 0:00:14.137 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Wednesday 20 December 2023 15:33:14 +0000 (0:00:01.740) 0:00:15.877 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:7 Wednesday 20 December 2023 15:33:14 +0000 (0:00:00.636) 0:00:16.514 **** ok: [sut] => {} MSG: Using network provider: initscripts 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:11 Wednesday 20 December 2023 15:33:14 +0000 (0:00:00.020) 0:00:16.535 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:19 Wednesday 20 December 2023 15:33:14 +0000 (0:00:00.020) 0:00:16.556 **** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install packages] *************************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:30 Wednesday 20 December 2023 15:33:14 +0000 (0:00:00.019) 0:00:16.575 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:40 Wednesday 20 December 2023 15:33:14 +0000 (0:00:00.075) 0:00:16.650 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:55 Wednesday 20 December 2023 15:33:14 +0000 (0:00:00.021) 0:00:16.672 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:71 Wednesday 20 December 2023 15:33:14 +0000 (0:00:00.019) 0:00:16.691 **** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable and start NetworkManager] ************ task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:85 Wednesday 20 December 2023 15:33:14 +0000 (0:00:00.024) 0:00:16.715 **** 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 : Enable and start wpa_supplicant] ************ task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:96 Wednesday 20 December 2023 15:33:14 +0000 (0:00:00.019) 0:00:16.735 **** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable network service] ********************* task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:105 Wednesday 20 December 2023 15:33:14 +0000 (0:00:00.019) 0:00:16.754 **** 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 : Ensure initscripts network file dependency is present] *** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:113 Wednesday 20 December 2023 15:33:15 +0000 (0:00:00.203) 0:00:16.958 **** ok: [sut] => { "changed": false, "dest": "/etc/sysconfig/network", "src": "/home/jenkins/.ansible/tmp/ansible-local-6884k5wls_e3/tmp1m4g0ymp" } TASK [linux-system-roles.network : Configure networking connection profiles] *** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:122 Wednesday 20 December 2023 15:33:15 +0000 (0:00:00.214) 0:00:17.172 **** changed: [sut] => { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "name": "LSR-TST-br31", "persistent_state": "absent" } ], "force_state_change": false, "ignore_errors": false, "provider": "initscripts" } }, "changed": true } STDERR: [002] #0, state:None persistent_state:absent, 'LSR-TST-br31': delete ifcfg-rh file '/etc/sysconfig/network-scripts/ifcfg-LSR-TST-br31' TASK [linux-system-roles.network : Configure networking state] ***************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:134 Wednesday 20 December 2023 15:33:16 +0000 (0:00:00.788) 0:00:17.960 **** 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-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:140 Wednesday 20 December 2023 15:33:16 +0000 (0:00:00.020) 0:00:17.981 **** ok: [sut] => { "__network_connections_result.stderr_lines": [ "[002] #0, state:None persistent_state:absent, 'LSR-TST-br31': delete ifcfg-rh file '/etc/sysconfig/network-scripts/ifcfg-LSR-TST-br31'" ] } TASK [linux-system-roles.network : Show debug messages for the network_connections] *** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:144 Wednesday 20 December 2023 15:33:16 +0000 (0:00:00.020) 0:00:18.001 **** ok: [sut] => { "__network_connections_result": { "_invocation": { "module_args": { "__debug_flags": "", "__header": "#\n# Ansible managed\n#\n# system_role:network\n", "connections": [ { "name": "LSR-TST-br31", "persistent_state": "absent" } ], "force_state_change": false, "ignore_errors": false, "provider": "initscripts" } }, "changed": true, "failed": false, "stderr": "[002] #0, state:None persistent_state:absent, 'LSR-TST-br31': delete ifcfg-rh file '/etc/sysconfig/network-scripts/ifcfg-LSR-TST-br31'\n", "stderr_lines": [ "[002] #0, state:None persistent_state:absent, 'LSR-TST-br31': delete ifcfg-rh file '/etc/sysconfig/network-scripts/ifcfg-LSR-TST-br31'" ] } } TASK [linux-system-roles.network : Show debug messages for the network_state] *** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:149 Wednesday 20 December 2023 15:33:16 +0000 (0:00:00.022) 0:00:18.024 **** skipping: [sut] => {} TASK [linux-system-roles.network : Re-test connectivity] *********************** task path: /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:155 Wednesday 20 December 2023 15:33:16 +0000 (0:00:00.019) 0:00:18.043 **** ok: [sut] => { "changed": false, "ping": "pong" } META: ran handlers META: ran handlers PLAY RECAP ********************************************************************* sut : ok=48 changed=2 unreachable=0 failed=0 skipped=45 rescued=0 ignored=0 Wednesday 20 December 2023 15:33:16 +0000 (0:00:00.123) 0:00:18.167 **** =============================================================================== linux-system-roles.network : Check which services are running ----------- 1.86s /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 linux-system-roles.network : Check which services are running ----------- 1.74s /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 linux-system-roles.network : Check which services are running ----------- 1.69s /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 linux-system-roles.network : Configure networking connection profiles --- 0.84s /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:122 Gathering Facts --------------------------------------------------------- 0.83s /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/tests_bridge_cloned_mac_initscripts.yml:5 linux-system-roles.network : Configure networking connection profiles --- 0.79s /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:122 linux-system-roles.network : Check which packages are installed --------- 0.78s /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Gathering Facts --------------------------------------------------------- 0.77s /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/playbooks/remove_profile.yml:3 Gathering Facts --------------------------------------------------------- 0.70s /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/playbooks/down_profile.yml:3 Gathering Facts --------------------------------------------------------- 0.69s /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/playbooks/tests_bridge_cloned_mac.yml:11 Gathering Facts --------------------------------------------------------- 0.69s /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/playbooks/down_profile+delete_interface.yml:5 Gathering Facts --------------------------------------------------------- 0.68s /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/playbooks/tests_bridge_cloned_mac.yml:3 linux-system-roles.network : Check which packages are installed --------- 0.64s /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 linux-system-roles.network : Check which packages are installed --------- 0.63s /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Enable EPEL 6 ----------------------------------------------------------- 0.43s /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/tasks/enable_epel.yml:40 ---- linux-system-roles.network : Enable network service --------------------- 0.28s /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:105 linux-system-roles.network : Configure networking connection profiles --- 0.28s /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:122 Gather the minimum subset of ansible_facts required by the network role test --- 0.25s /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/tasks/el_repo_setup.yml:3 --- linux-system-roles.network : Ensure initscripts network file dependency is present --- 0.22s /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:113 linux-system-roles.network : Ensure initscripts network file dependency is present --- 0.21s /WORKDIR/git-ansible-lint-test-2.16zjkeguwj/tests/roles/linux-system-roles.network/tasks/main.yml:113 ---^---^---^---^---^--- # STDERR: ---v---v---v---v---v--- ---^---^---^---^---^---