# 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_default_initscripts.yml **************************************** 2 plays in /WORKDIR/git-weekly-ci4fh4iryj/tests/tests_default_initscripts.yml PLAY [Run playbook 'tests_default.yml' with initscripts as provider] *********** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tests_default_initscripts.yml:3 Saturday 10 February 2024 13:44:47 +0000 (0:00:00.011) 0:00:00.011 ***** ok: [sut] META: ran handlers TASK [Include the task 'el_repo_setup.yml'] ************************************ task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tests_default_initscripts.yml:6 Saturday 10 February 2024 13:44:48 +0000 (0:00:00.876) 0:00:00.887 ***** included: /WORKDIR/git-weekly-ci4fh4iryj/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-weekly-ci4fh4iryj/tests/tasks/el_repo_setup.yml:3 Saturday 10 February 2024 13:44:48 +0000 (0:00:00.013) 0:00:00.901 ***** ok: [sut] TASK [Check if system is ostree] *********************************************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/el_repo_setup.yml:19 Saturday 10 February 2024 13:44:48 +0000 (0:00:00.224) 0:00:01.126 ***** ok: [sut] => { "changed": false, "stat": { "exists": false } } TASK [Set flag to indicate system is ostree] *********************************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/el_repo_setup.yml:24 Saturday 10 February 2024 13:44:48 +0000 (0:00:00.180) 0:00:01.307 ***** ok: [sut] => { "ansible_facts": { "__network_is_ostree": false }, "changed": false } TASK [Fix CentOS6 Base repo] *************************************************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/el_repo_setup.yml:28 Saturday 10 February 2024 13:44:48 +0000 (0:00:00.020) 0:00:01.327 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Include the task 'enable_epel.yml'] ************************************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/el_repo_setup.yml:53 Saturday 10 February 2024 13:44:48 +0000 (0:00:00.018) 0:00:01.346 ***** included: /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/enable_epel.yml for sut TASK [Create EPEL 6] *********************************************************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/enable_epel.yml:8 Saturday 10 February 2024 13:44:48 +0000 (0:00:00.032) 0:00:01.379 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Install yum-utils package] *********************************************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/enable_epel.yml:24 Saturday 10 February 2024 13:44:49 +0000 (0:00:00.010) 0:00:01.389 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Enable EPEL 7] *********************************************************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/enable_epel.yml:30 Saturday 10 February 2024 13:44:49 +0000 (0:00:00.010) 0:00:01.400 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Enable EPEL 8] *********************************************************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/enable_epel.yml:35 Saturday 10 February 2024 13:44:49 +0000 (0:00:00.010) 0:00:01.410 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Enable EPEL 6] *********************************************************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/enable_epel.yml:40 Saturday 10 February 2024 13:44:49 +0000 (0:00:00.010) 0:00:01.421 ***** 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-weekly-ci4fh4iryj/tests/tests_default_initscripts.yml:8 Saturday 10 February 2024 13:44:49 +0000 (0:00:00.424) 0:00:01.845 ***** ok: [sut] => { "ansible_facts": { "network_provider": "initscripts" }, "changed": false } META: ran handlers META: ran handlers PLAY [Test executing the role with default parameters] ************************* META: ran handlers TASK [linux-system-roles.network : Ensure ansible_facts used by role] ********** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:4 Saturday 10 February 2024 13:44:49 +0000 (0:00:00.013) 0:00:01.858 ***** included: /WORKDIR/git-weekly-ci4fh4iryj/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-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:3 Saturday 10 February 2024 13:44:49 +0000 (0:00:00.066) 0:00:01.925 ***** 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-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:13 Saturday 10 February 2024 13:44:49 +0000 (0:00:00.013) 0:00:01.938 ***** 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-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:18 Saturday 10 February 2024 13:44:49 +0000 (0:00:00.010) 0:00:01.949 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Check which services are running] *********** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 Saturday 10 February 2024 13:44:49 +0000 (0:00:00.010) 0:00:01.960 ***** 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-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Saturday 10 February 2024 13:44:51 +0000 (0:00:01.599) 0:00:03.560 ***** 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-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:7 Saturday 10 February 2024 13:44:51 +0000 (0:00:00.706) 0:00:04.267 ***** 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-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:11 Saturday 10 February 2024 13:44:51 +0000 (0:00:00.034) 0:00:04.301 ***** 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-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:19 Saturday 10 February 2024 13:44:51 +0000 (0:00:00.021) 0:00:04.323 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Install packages] *************************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:30 Saturday 10 February 2024 13:44:51 +0000 (0:00:00.020) 0:00:04.343 ***** 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-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:40 Saturday 10 February 2024 13:44:52 +0000 (0:00:00.044) 0:00:04.387 ***** 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-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:55 Saturday 10 February 2024 13:44:52 +0000 (0:00:00.021) 0:00:04.408 ***** 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-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:71 Saturday 10 February 2024 13:44:52 +0000 (0:00:00.020) 0:00:04.429 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable and start NetworkManager] ************ task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:85 Saturday 10 February 2024 13:44:52 +0000 (0:00:00.024) 0:00:04.454 ***** 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-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:96 Saturday 10 February 2024 13:44:52 +0000 (0:00:00.020) 0:00:04.475 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.network : Enable network service] ********************* task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:105 Saturday 10 February 2024 13:44:52 +0000 (0:00:00.021) 0:00:04.497 ***** 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-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:113 Saturday 10 February 2024 13:44:52 +0000 (0:00:00.268) 0:00:04.765 ***** ok: [sut] => { "changed": false, "dest": "/etc/sysconfig/network", "src": "/home/jenkins/.ansible/tmp/ansible-local-8470u0vb46us/tmp__bsbry0" } TASK [linux-system-roles.network : Configure networking connection profiles] *** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:122 Saturday 10 February 2024 13:44:52 +0000 (0:00:00.186) 0:00:04.952 ***** 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": "initscripts" } }, "changed": false } STDERR: TASK [linux-system-roles.network : Configure networking state] ***************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:134 Saturday 10 February 2024 13:44:52 +0000 (0:00:00.346) 0:00:05.299 ***** 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-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:140 Saturday 10 February 2024 13:44:52 +0000 (0:00:00.021) 0:00:05.320 ***** ok: [sut] => { "__network_connections_result.stderr_lines": [ "" ] } TASK [linux-system-roles.network : Show debug messages for the network_connections] *** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:144 Saturday 10 February 2024 13:44:52 +0000 (0:00:00.022) 0:00:05.343 ***** 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": "initscripts" } }, "changed": false, "failed": false, "stderr": "\n", "stderr_lines": [ "" ] } } TASK [linux-system-roles.network : Show debug messages for the network_state] *** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:149 Saturday 10 February 2024 13:44:52 +0000 (0:00:00.022) 0:00:05.365 ***** skipping: [sut] => {} TASK [linux-system-roles.network : Re-test connectivity] *********************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:155 Saturday 10 February 2024 13:44:53 +0000 (0:00:00.042) 0:00:05.408 ***** ok: [sut] => { "changed": false, "ping": "pong" } TASK [Include the task 'el_repo_setup.yml'] ************************************ task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tests_default.yml:9 Saturday 10 February 2024 13:44:53 +0000 (0:00:00.175) 0:00:05.583 ***** included: /WORKDIR/git-weekly-ci4fh4iryj/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-weekly-ci4fh4iryj/tests/tasks/el_repo_setup.yml:3 Saturday 10 February 2024 13:44:53 +0000 (0:00:00.035) 0:00:05.618 ***** ok: [sut] TASK [Check if system is ostree] *********************************************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/el_repo_setup.yml:19 Saturday 10 February 2024 13:44:53 +0000 (0:00:00.233) 0:00:05.852 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Set flag to indicate system is ostree] *********************************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/el_repo_setup.yml:24 Saturday 10 February 2024 13:44:53 +0000 (0:00:00.020) 0:00:05.873 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Fix CentOS6 Base repo] *************************************************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/el_repo_setup.yml:28 Saturday 10 February 2024 13:44:53 +0000 (0:00:00.021) 0:00:05.895 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Include the task 'enable_epel.yml'] ************************************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/el_repo_setup.yml:53 Saturday 10 February 2024 13:44:53 +0000 (0:00:00.020) 0:00:05.915 ***** included: /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/enable_epel.yml for sut TASK [Create EPEL 6] *********************************************************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/enable_epel.yml:8 Saturday 10 February 2024 13:44:53 +0000 (0:00:00.036) 0:00:05.952 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Install yum-utils package] *********************************************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/enable_epel.yml:24 Saturday 10 February 2024 13:44:53 +0000 (0:00:00.022) 0:00:05.974 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Enable EPEL 7] *********************************************************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/enable_epel.yml:30 Saturday 10 February 2024 13:44:53 +0000 (0:00:00.022) 0:00:05.997 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Enable EPEL 8] *********************************************************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/enable_epel.yml:35 Saturday 10 February 2024 13:44:53 +0000 (0:00:00.022) 0:00:06.019 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Enable EPEL 6] *********************************************************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/enable_epel.yml:40 Saturday 10 February 2024 13:44:53 +0000 (0:00:00.022) 0:00:06.042 ***** 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 [Test warning and info logs] ********************************************** task path: /WORKDIR/git-weekly-ci4fh4iryj/tests/tests_default.yml:11 Saturday 10 February 2024 13:44:54 +0000 (0:00:00.402) 0:00:06.444 ***** ok: [sut] => { "changed": false } MSG: All assertions passed META: ran handlers META: ran handlers PLAY RECAP ********************************************************************* sut : ok=23 changed=0 unreachable=0 failed=0 skipped=25 rescued=0 ignored=0 Saturday 10 February 2024 13:44:54 +0000 (0:00:00.012) 0:00:06.456 ***** =============================================================================== linux-system-roles.network : Check which services are running ----------- 1.60s /WORKDIR/git-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:22 Gathering Facts --------------------------------------------------------- 0.88s /WORKDIR/git-weekly-ci4fh4iryj/tests/tests_default_initscripts.yml:3 ---------- linux-system-roles.network : Check which packages are installed --------- 0.71s /WORKDIR/git-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/set_facts.yml:27 Enable EPEL 6 ----------------------------------------------------------- 0.42s /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/enable_epel.yml:40 ----------------- Enable EPEL 6 ----------------------------------------------------------- 0.40s /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/enable_epel.yml:40 ----------------- linux-system-roles.network : Configure networking connection profiles --- 0.35s /WORKDIR/git-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:122 linux-system-roles.network : Enable network service --------------------- 0.27s /WORKDIR/git-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:105 Gather the minimum subset of ansible_facts required by the network role test --- 0.23s /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/el_repo_setup.yml:3 ---------------- Gather the minimum subset of ansible_facts required by the network role test --- 0.22s /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/el_repo_setup.yml:3 ---------------- linux-system-roles.network : Ensure initscripts network file dependency is present --- 0.19s /WORKDIR/git-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:113 Check if system is ostree ----------------------------------------------- 0.18s /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/el_repo_setup.yml:19 --------------- linux-system-roles.network : Re-test connectivity ----------------------- 0.18s /WORKDIR/git-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:155 linux-system-roles.network : Ensure ansible_facts used by role ---------- 0.07s /WORKDIR/git-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:4 linux-system-roles.network : Install packages --------------------------- 0.04s /WORKDIR/git-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:30 linux-system-roles.network : Show debug messages for the network_state --- 0.04s /WORKDIR/git-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:149 Include the task 'enable_epel.yml' -------------------------------------- 0.04s /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/el_repo_setup.yml:53 --------------- Include the task 'el_repo_setup.yml' ------------------------------------ 0.04s /WORKDIR/git-weekly-ci4fh4iryj/tests/tests_default.yml:9 ---------------------- linux-system-roles.network : Print network provider --------------------- 0.03s /WORKDIR/git-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:7 Include the task 'enable_epel.yml' -------------------------------------- 0.03s /WORKDIR/git-weekly-ci4fh4iryj/tests/tasks/el_repo_setup.yml:53 --------------- linux-system-roles.network : Restart NetworkManager due to wireless or team interfaces --- 0.02s /WORKDIR/git-weekly-ci4fh4iryj/tests/roles/linux-system-roles.network/tasks/main.yml:71 ---^---^---^---^---^--- # STDERR: ---v---v---v---v---v--- ---^---^---^---^---^---