# 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_include_vars_from_parent.yml *********************************** 2 plays in /WORKDIR/git-registry-passwordk7bmxa_5/tests/tests_include_vars_from_parent.yml PLAY [all] ********************************************************************* META: ran handlers TASK [Include vault variables] ************************************************* task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/tests_include_vars_from_parent.yml:4 Friday 12 April 2024 15:46:24 +0000 (0:00:00.012) 0:00:00.012 ********** ok: [sut] => { "ansible_facts": { "__podman_test_password": { "__ansible_vault": "$ANSIBLE_VAULT;1.1;AES256\n35383939616163653333633431363463313831383037386236646138333162396161356130303461\n3932623930643263313563336163316337643562333936360a363538636631313039343233383732\n38666530383538656639363465313230343533386130303833336434303438333161656262346562\n3362626538613031640a663330613638366132356534363534353239616666653466353961323533\n6565\n" }, "mysql_container_root_password": { "__ansible_vault": "$ANSIBLE_VAULT;1.1;AES256\n61333932373230333539663035366431326163363166363036323963623131363530326231303634\n6635326161643165363366323062333334363730376631660a393566366139353861656364656661\n38653463363837336639363032646433666361646535366137303464623261313663643336306465\n6264663730656337310a343962353137386238383064646533366433333437303566656433386233\n34343235326665646661623131643335313236313131353661386338343366316261643634653633\n3832313034366536616531323963333234326461353130303532\n" } }, "ansible_included_var_files": [ "/WORKDIR/git-registry-passwordk7bmxa_5/tests/vars/vault-variables.yml" ], "changed": false } META: ran handlers META: ran handlers PLAY [Test role include variable override] ************************************* TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/tests_include_vars_from_parent.yml:8 Friday 12 April 2024 15:46:24 +0000 (0:00:00.010) 0:00:00.022 ********** ok: [sut] META: ran handlers TASK [Create var file in caller that can override the one in called role] ****** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/tests_include_vars_from_parent.yml:14 Friday 12 April 2024 15:46:26 +0000 (0:00:02.722) 0:00:02.744 ********** changed: [sut -> localhost] => (item=Fedora-38) => { "ansible_loop_var": "item", "changed": true, "checksum": "870b2314d3f4184a363b31373f07abb444f26444", "dest": "/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/Fedora-38.yml", "gid": 1001, "group": "jenkins", "item": "Fedora-38", "md5sum": "5a57da448a1d752b982858b38aab344d", "mode": "0600", "owner": "jenkins", "size": 23, "src": "/home/jenkins/.ansible/tmp/ansible-tmp-1712936786.8945262-9372-19250664227263/source", "state": "file", "uid": 1000090000 } changed: [sut -> localhost] => (item=Fedora_38) => { "ansible_loop_var": "item", "changed": true, "checksum": "870b2314d3f4184a363b31373f07abb444f26444", "dest": "/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/Fedora_38.yml", "gid": 1001, "group": "jenkins", "item": "Fedora_38", "md5sum": "5a57da448a1d752b982858b38aab344d", "mode": "0600", "owner": "jenkins", "size": 23, "src": "/home/jenkins/.ansible/tmp/ansible-tmp-1712936787.2322693-9372-45846593544810/source", "state": "file", "uid": 1000090000 } changed: [sut -> localhost] => (item=Fedora) => { "ansible_loop_var": "item", "changed": true, "checksum": "870b2314d3f4184a363b31373f07abb444f26444", "dest": "/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/Fedora.yml", "gid": 1001, "group": "jenkins", "item": "Fedora", "md5sum": "5a57da448a1d752b982858b38aab344d", "mode": "0600", "owner": "jenkins", "size": 23, "src": "/home/jenkins/.ansible/tmp/ansible-tmp-1712936787.4536672-9372-190541504744952/source", "state": "file", "uid": 1000090000 } changed: [sut -> localhost] => (item=RedHat) => { "ansible_loop_var": "item", "changed": true, "checksum": "870b2314d3f4184a363b31373f07abb444f26444", "dest": "/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/RedHat.yml", "gid": 1001, "group": "jenkins", "item": "RedHat", "md5sum": "5a57da448a1d752b982858b38aab344d", "mode": "0600", "owner": "jenkins", "size": 23, "src": "/home/jenkins/.ansible/tmp/ansible-tmp-1712936787.6629267-9372-117918408150312/source", "state": "file", "uid": 1000090000 } TASK [Include test role] ******************************************************* task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/tasks/main.yml:4 Friday 12 April 2024 15:46:27 +0000 (0:00:00.998) 0:00:03.743 ********** TASK [linux-system-roles.podman : Set platform/version specific variables] ***** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:3 Friday 12 April 2024 15:46:27 +0000 (0:00:00.070) 0:00:03.813 ********** included: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/set_vars.yml for sut TASK [linux-system-roles.podman : Ensure ansible_facts used by role] *********** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/set_vars.yml:3 Friday 12 April 2024 15:46:27 +0000 (0:00:00.015) 0:00:03.829 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Check if system is ostree] ******************* task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/set_vars.yml:12 Friday 12 April 2024 15:46:27 +0000 (0:00:00.009) 0:00:03.839 ********** ok: [sut] => { "changed": false, "stat": { "exists": false } } TASK [linux-system-roles.podman : Set flag to indicate system is ostree] ******* task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/set_vars.yml:17 Friday 12 April 2024 15:46:28 +0000 (0:00:00.207) 0:00:04.047 ********** ok: [sut] => { "ansible_facts": { "__podman_is_ostree": false }, "changed": false } TASK [linux-system-roles.podman : Set platform/version specific variables] ***** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/set_vars.yml:21 Friday 12 April 2024 15:46:28 +0000 (0:00:00.010) 0:00:04.058 ********** ok: [sut] => (item=RedHat.yml) => { "ansible_facts": { "__podman_packages": [ "podman", "shadow-utils-subid" ] }, "ansible_included_var_files": [ "/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/vars/RedHat.yml" ], "ansible_loop_var": "item", "changed": false, "item": "RedHat.yml" } skipping: [sut] => (item=Fedora.yml) => { "ansible_loop_var": "item", "changed": false, "item": "Fedora.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=Fedora_38.yml) => { "ansible_loop_var": "item", "changed": false, "item": "Fedora_38.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=Fedora_38.yml) => { "ansible_loop_var": "item", "changed": false, "item": "Fedora_38.yml", "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Gather the package facts] ******************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:6 Friday 12 April 2024 15:46:28 +0000 (0:00:00.023) 0:00:04.081 ********** 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.podman : Enable copr if requested] ******************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:10 Friday 12 April 2024 15:46:29 +0000 (0:00:01.095) 0:00:05.177 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Ensure required packages are installed] ****** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:14 Friday 12 April 2024 15:46:29 +0000 (0:00:00.018) 0:00:05.195 ********** changed: [sut] => { "changed": true, "rc": 0, "results": [ "Installed: qemu-user-static-2:7.2.10-1.fc38.x86_64", "Installed: qemu-user-static-aarch64-2:7.2.10-1.fc38.x86_64", "Installed: qemu-user-static-alpha-2:7.2.10-1.fc38.x86_64", "Installed: qemu-user-static-arm-2:7.2.10-1.fc38.x86_64", "Installed: qemu-user-static-cris-2:7.2.10-1.fc38.x86_64", "Installed: qemu-user-static-hexagon-2:7.2.10-1.fc38.x86_64", "Installed: qemu-user-static-hppa-2:7.2.10-1.fc38.x86_64", "Installed: qemu-user-static-loongarch64-2:7.2.10-1.fc38.x86_64", "Installed: qemu-user-static-m68k-2:7.2.10-1.fc38.x86_64", "Installed: criu-3.18-1.fc38.x86_64", "Installed: qemu-user-static-microblaze-2:7.2.10-1.fc38.x86_64", "Installed: libslirp-4.7.0-3.fc38.x86_64", "Installed: criu-libs-3.18-1.fc38.x86_64", "Installed: fuse-common-3.14.1-1.fc38.x86_64", "Installed: libnet-1.3-1.fc38.x86_64", "Installed: shadow-utils-subid-2:4.13-6.fc38.x86_64", "Installed: fuse-overlayfs-1.13-1.fc38.x86_64", "Installed: fuse3-3.14.1-1.fc38.x86_64", "Installed: passt-0^20240326.g4988e2b-1.fc38.x86_64", "Installed: passt-selinux-0^20240326.g4988e2b-1.fc38.noarch", "Installed: fuse3-libs-3.14.1-1.fc38.x86_64", "Installed: aardvark-dns-1.10.0-1.fc38.x86_64", "Installed: conmon-2:2.1.10-1.fc38.x86_64", "Installed: podman-5:4.9.4-1.fc38.x86_64", "Installed: qemu-user-static-s390x-2:7.2.10-1.fc38.x86_64", "Installed: qemu-user-static-sh4-2:7.2.10-1.fc38.x86_64", "Installed: container-selinux-2:2.230.0-1.fc38.noarch", "Installed: qemu-user-static-x86-2:7.2.10-1.fc38.x86_64", "Installed: containers-common-4:1-89.fc38.noarch", "Installed: containers-common-extra-4:1-89.fc38.noarch", "Installed: crun-1.14.4-1.fc38.x86_64", "Installed: gvisor-tap-vsock-6:0.7.3-1.fc38.x86_64", "Installed: gvisor-tap-vsock-gvforwarder-6:0.7.3-1.fc38.x86_64", "Installed: yajl-2.1.0-21.fc38.x86_64", "Installed: catatonit-0.1.7-14.fc38.x86_64", "Installed: libbsd-0.12.2-1.fc38.x86_64", "Installed: qemu-user-static-mips-2:7.2.10-1.fc38.x86_64", "Installed: qemu-user-static-nios2-2:7.2.10-1.fc38.x86_64", "Installed: qemu-user-static-or1k-2:7.2.10-1.fc38.x86_64", "Installed: netavark-1.10.3-1.fc38.x86_64", "Installed: qemu-user-static-ppc-2:7.2.10-1.fc38.x86_64", "Installed: libmd-1.1.0-1.fc38.x86_64", "Installed: qemu-user-static-riscv-2:7.2.10-1.fc38.x86_64", "Installed: slirp4netns-1.2.2-1.fc38.x86_64", "Installed: qemu-user-static-sparc-2:7.2.10-1.fc38.x86_64", "Installed: qemu-user-static-xtensa-2:7.2.10-1.fc38.x86_64" ] } TASK [linux-system-roles.podman : Get podman version] ************************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:23 Friday 12 April 2024 15:48:03 +0000 (0:01:33.908) 0:01:39.104 ********** ok: [sut] => { "changed": false, "cmd": [ "podman", "--version" ], "delta": "0:00:00.050023", "end": "2024-04-12 15:48:03.595040", "rc": 0, "start": "2024-04-12 15:48:03.545017" } STDOUT: podman version 4.9.4 TASK [linux-system-roles.podman : Set podman version] ************************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:29 Friday 12 April 2024 15:48:03 +0000 (0:00:00.417) 0:01:39.521 ********** ok: [sut] => { "ansible_facts": { "podman_version": "4.9.4" }, "changed": false } TASK [linux-system-roles.podman : Podman package version must be 4.2 or later] *** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:33 Friday 12 April 2024 15:48:03 +0000 (0:00:00.025) 0:01:39.547 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Podman package version must be 4.4 or later for quadlet, secrets] *** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:40 Friday 12 April 2024 15:48:03 +0000 (0:00:00.024) 0:01:39.572 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } META: end_host conditional evaluated to false, continuing execution for sut TASK [linux-system-roles.podman : Check user and group information] ************ task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:57 Friday 12 April 2024 15:48:03 +0000 (0:00:00.034) 0:01:39.606 ********** included: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_user_group.yml for sut TASK [linux-system-roles.podman : Get user information] ************************ task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_user_group.yml:2 Friday 12 April 2024 15:48:03 +0000 (0:00:00.056) 0:01:39.663 ********** ok: [sut] => { "ansible_facts": { "getent_passwd": { "root": [ "x", "0", "0", "Super User", "/root", "/bin/bash" ] } }, "changed": false } TASK [linux-system-roles.podman : Fail if user does not exist] ***************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_user_group.yml:10 Friday 12 April 2024 15:48:04 +0000 (0:00:00.295) 0:01:39.958 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Set group for podman user] ******************* task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_user_group.yml:17 Friday 12 April 2024 15:48:04 +0000 (0:00:00.024) 0:01:39.983 ********** ok: [sut] => { "ansible_facts": { "__podman_group": "0" }, "changed": false } TASK [linux-system-roles.podman : Get group information] *********************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_user_group.yml:28 Friday 12 April 2024 15:48:04 +0000 (0:00:00.026) 0:01:40.009 ********** ok: [sut] => { "ansible_facts": { "getent_group": { "root": [ "x", "0", "" ] } }, "changed": false } TASK [linux-system-roles.podman : Set group name] ****************************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_user_group.yml:36 Friday 12 April 2024 15:48:04 +0000 (0:00:00.233) 0:01:40.242 ********** ok: [sut] => { "ansible_facts": { "__podman_group_name": "root" }, "changed": false } TASK [linux-system-roles.podman : See if getsubids exists] ********************* task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_user_group.yml:41 Friday 12 April 2024 15:48:04 +0000 (0:00:00.023) 0:01:40.266 ********** ok: [sut] => { "changed": false, "stat": { "atime": 1678060800.0, "attr_flags": "e", "attributes": [ "extents" ], "block_size": 4096, "blocks": 32, "charset": "binary", "checksum": "02bd4fbb1af303bd528684f8839db549767ee321", "ctime": 1712936838.1122124, "dev": 51714, "device_type": 0, "executable": true, "exists": true, "gid": 0, "gr_name": "root", "inode": 203629, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mimetype": "application/x-pie-executable", "mode": "0755", "mtime": 1678060800.0, "nlink": 1, "path": "/usr/bin/getsubids", "pw_name": "root", "readable": true, "rgrp": true, "roth": true, "rusr": true, "size": 15984, "uid": 0, "version": "2947604835", "wgrp": false, "woth": false, "writeable": true, "wusr": true, "xgrp": true, "xoth": true, "xusr": true } } TASK [linux-system-roles.podman : Check user with getsubids] ******************* task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_user_group.yml:52 Friday 12 April 2024 15:48:04 +0000 (0:00:00.223) 0:01:40.489 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Check group with getsubids] ****************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_user_group.yml:57 Friday 12 April 2024 15:48:04 +0000 (0:00:00.019) 0:01:40.508 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Set user subuid and subgid info] ************* task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_user_group.yml:62 Friday 12 April 2024 15:48:04 +0000 (0:00:00.019) 0:01:40.528 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Get subuid file] ***************************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_user_group.yml:82 Friday 12 April 2024 15:48:04 +0000 (0:00:00.018) 0:01:40.547 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Get subgid file] ***************************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_user_group.yml:87 Friday 12 April 2024 15:48:04 +0000 (0:00:00.042) 0:01:40.590 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Set user subuid and subgid info] ************* task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_user_group.yml:92 Friday 12 April 2024 15:48:04 +0000 (0:00:00.021) 0:01:40.611 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Fail if user not in subuid file] ************* task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_user_group.yml:114 Friday 12 April 2024 15:48:04 +0000 (0:00:00.019) 0:01:40.631 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Fail if group not in subgid file] ************ task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_user_group.yml:121 Friday 12 April 2024 15:48:04 +0000 (0:00:00.020) 0:01:40.651 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Set config file paths] *********************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:63 Friday 12 April 2024 15:48:04 +0000 (0:00:00.019) 0:01:40.671 ********** ok: [sut] => { "ansible_facts": { "__podman_container_conf_file": "/etc/containers/containers.conf.d/50-systemroles.conf", "__podman_policy_json_file": "/etc/containers/policy.json", "__podman_registries_conf_file": "/etc/containers/registries.conf.d/50-systemroles.conf", "__podman_storage_conf_file": "/etc/containers/storage.conf" }, "changed": false } TASK [linux-system-roles.podman : Handle container.conf.d] ********************* task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:81 Friday 12 April 2024 15:48:04 +0000 (0:00:00.042) 0:01:40.714 ********** included: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_container_conf_d.yml for sut TASK [linux-system-roles.podman : Ensure containers.d exists] ****************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_container_conf_d.yml:5 Friday 12 April 2024 15:48:04 +0000 (0:00:00.041) 0:01:40.756 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Update container config file] **************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_container_conf_d.yml:14 Friday 12 April 2024 15:48:04 +0000 (0:00:00.020) 0:01:40.776 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Handle registries.conf.d] ******************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:84 Friday 12 April 2024 15:48:04 +0000 (0:00:00.019) 0:01:40.796 ********** included: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_registries_conf_d.yml for sut TASK [linux-system-roles.podman : Ensure registries.d exists] ****************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_registries_conf_d.yml:5 Friday 12 April 2024 15:48:04 +0000 (0:00:00.039) 0:01:40.835 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Update registries config file] *************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_registries_conf_d.yml:14 Friday 12 April 2024 15:48:04 +0000 (0:00:00.019) 0:01:40.854 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Handle storage.conf] ************************* task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:87 Friday 12 April 2024 15:48:05 +0000 (0:00:00.020) 0:01:40.874 ********** included: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_storage_conf.yml for sut TASK [linux-system-roles.podman : Ensure storage.conf parent dir exists] ******* task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_storage_conf.yml:5 Friday 12 April 2024 15:48:05 +0000 (0:00:00.038) 0:01:40.913 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Update storage config file] ****************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_storage_conf.yml:14 Friday 12 April 2024 15:48:05 +0000 (0:00:00.019) 0:01:40.933 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Handle policy.json] ************************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:90 Friday 12 April 2024 15:48:05 +0000 (0:00:00.023) 0:01:40.956 ********** included: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_policy_json.yml for sut TASK [linux-system-roles.podman : Ensure policy.json parent dir exists] ******** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_policy_json.yml:6 Friday 12 April 2024 15:48:05 +0000 (0:00:00.077) 0:01:41.034 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Stat the policy.json file] ******************* task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_policy_json.yml:15 Friday 12 April 2024 15:48:05 +0000 (0:00:00.031) 0:01:41.065 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Get the existing policy.json] **************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_policy_json.yml:20 Friday 12 April 2024 15:48:05 +0000 (0:00:00.027) 0:01:41.093 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Write new policy.json file] ****************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_policy_json.yml:26 Friday 12 April 2024 15:48:05 +0000 (0:00:00.019) 0:01:41.112 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Manage firewall for specified ports] ************************************* task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:96 Friday 12 April 2024 15:48:05 +0000 (0:00:00.020) 0:01:41.133 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Manage selinux for specified ports] ************************************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:103 Friday 12 April 2024 15:48:05 +0000 (0:00:00.018) 0:01:41.151 ********** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.podman : Keep track of users that need to cancel linger] *** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:110 Friday 12 April 2024 15:48:05 +0000 (0:00:00.021) 0:01:41.173 ********** ok: [sut] => { "ansible_facts": { "__podman_cancel_user_linger": [] }, "changed": false } TASK [linux-system-roles.podman : Handle secrets] ****************************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:114 Friday 12 April 2024 15:48:05 +0000 (0:00:00.020) 0:01:41.193 ********** 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.podman : Handle Kubernetes specifications] ************ task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:121 Friday 12 April 2024 15:48:05 +0000 (0:00:00.018) 0:01:41.211 ********** 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.podman : Handle Quadlet specifications] *************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:128 Friday 12 April 2024 15:48:05 +0000 (0:00:00.018) 0:01:41.230 ********** 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.podman : Cancel linger] ******************************* task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:135 Friday 12 April 2024 15:48:05 +0000 (0:00:00.019) 0:01:41.250 ********** TASK [caller : Check for override] ********************************************* task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/tasks/main.yml:8 Friday 12 April 2024 15:48:05 +0000 (0:00:00.020) 0:01:41.270 ********** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Cleanup] ***************************************************************** task path: /WORKDIR/git-registry-passwordk7bmxa_5/tests/tests_include_vars_from_parent.yml:59 Friday 12 April 2024 15:48:05 +0000 (0:00:00.030) 0:01:41.300 ********** changed: [sut -> localhost] => (item={'diff': [], 'dest': '/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/Fedora-38.yml', 'src': '/home/jenkins/.ansible/tmp/ansible-tmp-1712936786.8945262-9372-19250664227263/source', 'md5sum': '5a57da448a1d752b982858b38aab344d', 'checksum': '870b2314d3f4184a363b31373f07abb444f26444', 'changed': True, 'uid': 1000090000, 'gid': 1001, 'owner': 'jenkins', 'group': 'jenkins', 'mode': '0600', 'state': 'file', 'size': 23, 'invocation': {'module_args': {'dest': '/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/Fedora-38.yml', 'mode': '0600', 'src': '/home/jenkins/.ansible/tmp/ansible-tmp-1712936786.8945262-9372-19250664227263/source', '_original_basename': 'tmpycpdm457', 'follow': False, 'checksum': '870b2314d3f4184a363b31373f07abb444f26444', 'backup': False, 'force': True, 'unsafe_writes': False, 'content': None, 'validate': None, 'directory_mode': None, 'remote_src': None, 'local_follow': None, 'owner': None, 'group': None, 'seuser': None, 'serole': None, 'selevel': None, 'setype': None, 'attributes': None, 'regexp': None, 'delimiter': None}}, 'failed': False, 'item': 'Fedora-38', 'ansible_loop_var': 'item'}) => { "ansible_loop_var": "item", "changed": true, "item": { "ansible_loop_var": "item", "changed": true, "checksum": "870b2314d3f4184a363b31373f07abb444f26444", "dest": "/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/Fedora-38.yml", "diff": [], "failed": false, "gid": 1001, "group": "jenkins", "invocation": { "module_args": { "_original_basename": "tmpycpdm457", "attributes": null, "backup": false, "checksum": "870b2314d3f4184a363b31373f07abb444f26444", "content": null, "delimiter": null, "dest": "/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/Fedora-38.yml", "directory_mode": null, "follow": false, "force": true, "group": null, "local_follow": null, "mode": "0600", "owner": null, "regexp": null, "remote_src": null, "selevel": null, "serole": null, "setype": null, "seuser": null, "src": "/home/jenkins/.ansible/tmp/ansible-tmp-1712936786.8945262-9372-19250664227263/source", "unsafe_writes": false, "validate": null } }, "item": "Fedora-38", "md5sum": "5a57da448a1d752b982858b38aab344d", "mode": "0600", "owner": "jenkins", "size": 23, "src": "/home/jenkins/.ansible/tmp/ansible-tmp-1712936786.8945262-9372-19250664227263/source", "state": "file", "uid": 1000090000 }, "path": "/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/Fedora-38.yml", "state": "absent" } changed: [sut -> localhost] => (item={'diff': [], 'dest': '/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/Fedora_38.yml', 'src': '/home/jenkins/.ansible/tmp/ansible-tmp-1712936787.2322693-9372-45846593544810/source', 'md5sum': '5a57da448a1d752b982858b38aab344d', 'checksum': '870b2314d3f4184a363b31373f07abb444f26444', 'changed': True, 'uid': 1000090000, 'gid': 1001, 'owner': 'jenkins', 'group': 'jenkins', 'mode': '0600', 'state': 'file', 'size': 23, 'invocation': {'module_args': {'dest': '/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/Fedora_38.yml', 'mode': '0600', 'src': '/home/jenkins/.ansible/tmp/ansible-tmp-1712936787.2322693-9372-45846593544810/source', '_original_basename': 'tmp1h80tvtl', 'follow': False, 'checksum': '870b2314d3f4184a363b31373f07abb444f26444', 'backup': False, 'force': True, 'unsafe_writes': False, 'content': None, 'validate': None, 'directory_mode': None, 'remote_src': None, 'local_follow': None, 'owner': None, 'group': None, 'seuser': None, 'serole': None, 'selevel': None, 'setype': None, 'attributes': None, 'regexp': None, 'delimiter': None}}, 'failed': False, 'item': 'Fedora_38', 'ansible_loop_var': 'item'}) => { "ansible_loop_var": "item", "changed": true, "item": { "ansible_loop_var": "item", "changed": true, "checksum": "870b2314d3f4184a363b31373f07abb444f26444", "dest": "/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/Fedora_38.yml", "diff": [], "failed": false, "gid": 1001, "group": "jenkins", "invocation": { "module_args": { "_original_basename": "tmp1h80tvtl", "attributes": null, "backup": false, "checksum": "870b2314d3f4184a363b31373f07abb444f26444", "content": null, "delimiter": null, "dest": "/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/Fedora_38.yml", "directory_mode": null, "follow": false, "force": true, "group": null, "local_follow": null, "mode": "0600", "owner": null, "regexp": null, "remote_src": null, "selevel": null, "serole": null, "setype": null, "seuser": null, "src": "/home/jenkins/.ansible/tmp/ansible-tmp-1712936787.2322693-9372-45846593544810/source", "unsafe_writes": false, "validate": null } }, "item": "Fedora_38", "md5sum": "5a57da448a1d752b982858b38aab344d", "mode": "0600", "owner": "jenkins", "size": 23, "src": "/home/jenkins/.ansible/tmp/ansible-tmp-1712936787.2322693-9372-45846593544810/source", "state": "file", "uid": 1000090000 }, "path": "/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/Fedora_38.yml", "state": "absent" } changed: [sut -> localhost] => (item={'diff': [], 'dest': '/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/Fedora.yml', 'src': '/home/jenkins/.ansible/tmp/ansible-tmp-1712936787.4536672-9372-190541504744952/source', 'md5sum': '5a57da448a1d752b982858b38aab344d', 'checksum': '870b2314d3f4184a363b31373f07abb444f26444', 'changed': True, 'uid': 1000090000, 'gid': 1001, 'owner': 'jenkins', 'group': 'jenkins', 'mode': '0600', 'state': 'file', 'size': 23, 'invocation': {'module_args': {'dest': '/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/Fedora.yml', 'mode': '0600', 'src': '/home/jenkins/.ansible/tmp/ansible-tmp-1712936787.4536672-9372-190541504744952/source', '_original_basename': 'tmpp2whfb5j', 'follow': False, 'checksum': '870b2314d3f4184a363b31373f07abb444f26444', 'backup': False, 'force': True, 'unsafe_writes': False, 'content': None, 'validate': None, 'directory_mode': None, 'remote_src': None, 'local_follow': None, 'owner': None, 'group': None, 'seuser': None, 'serole': None, 'selevel': None, 'setype': None, 'attributes': None, 'regexp': None, 'delimiter': None}}, 'failed': False, 'item': 'Fedora', 'ansible_loop_var': 'item'}) => { "ansible_loop_var": "item", "changed": true, "item": { "ansible_loop_var": "item", "changed": true, "checksum": "870b2314d3f4184a363b31373f07abb444f26444", "dest": "/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/Fedora.yml", "diff": [], "failed": false, "gid": 1001, "group": "jenkins", "invocation": { "module_args": { "_original_basename": "tmpp2whfb5j", "attributes": null, "backup": false, "checksum": "870b2314d3f4184a363b31373f07abb444f26444", "content": null, "delimiter": null, "dest": "/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/Fedora.yml", "directory_mode": null, "follow": false, "force": true, "group": null, "local_follow": null, "mode": "0600", "owner": null, "regexp": null, "remote_src": null, "selevel": null, "serole": null, "setype": null, "seuser": null, "src": "/home/jenkins/.ansible/tmp/ansible-tmp-1712936787.4536672-9372-190541504744952/source", "unsafe_writes": false, "validate": null } }, "item": "Fedora", "md5sum": "5a57da448a1d752b982858b38aab344d", "mode": "0600", "owner": "jenkins", "size": 23, "src": "/home/jenkins/.ansible/tmp/ansible-tmp-1712936787.4536672-9372-190541504744952/source", "state": "file", "uid": 1000090000 }, "path": "/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/Fedora.yml", "state": "absent" } changed: [sut -> localhost] => (item={'diff': [], 'dest': '/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/RedHat.yml', 'src': '/home/jenkins/.ansible/tmp/ansible-tmp-1712936787.6629267-9372-117918408150312/source', 'md5sum': '5a57da448a1d752b982858b38aab344d', 'checksum': '870b2314d3f4184a363b31373f07abb444f26444', 'changed': True, 'uid': 1000090000, 'gid': 1001, 'owner': 'jenkins', 'group': 'jenkins', 'mode': '0600', 'state': 'file', 'size': 23, 'invocation': {'module_args': {'dest': '/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/RedHat.yml', 'mode': '0600', 'src': '/home/jenkins/.ansible/tmp/ansible-tmp-1712936787.6629267-9372-117918408150312/source', '_original_basename': 'tmpycefwbrl', 'follow': False, 'checksum': '870b2314d3f4184a363b31373f07abb444f26444', 'backup': False, 'force': True, 'unsafe_writes': False, 'content': None, 'validate': None, 'directory_mode': None, 'remote_src': None, 'local_follow': None, 'owner': None, 'group': None, 'seuser': None, 'serole': None, 'selevel': None, 'setype': None, 'attributes': None, 'regexp': None, 'delimiter': None}}, 'failed': False, 'item': 'RedHat', 'ansible_loop_var': 'item'}) => { "ansible_loop_var": "item", "changed": true, "item": { "ansible_loop_var": "item", "changed": true, "checksum": "870b2314d3f4184a363b31373f07abb444f26444", "dest": "/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/RedHat.yml", "diff": [], "failed": false, "gid": 1001, "group": "jenkins", "invocation": { "module_args": { "_original_basename": "tmpycefwbrl", "attributes": null, "backup": false, "checksum": "870b2314d3f4184a363b31373f07abb444f26444", "content": null, "delimiter": null, "dest": "/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/RedHat.yml", "directory_mode": null, "follow": false, "force": true, "group": null, "local_follow": null, "mode": "0600", "owner": null, "regexp": null, "remote_src": null, "selevel": null, "serole": null, "setype": null, "seuser": null, "src": "/home/jenkins/.ansible/tmp/ansible-tmp-1712936787.6629267-9372-117918408150312/source", "unsafe_writes": false, "validate": null } }, "item": "RedHat", "md5sum": "5a57da448a1d752b982858b38aab344d", "mode": "0600", "owner": "jenkins", "size": 23, "src": "/home/jenkins/.ansible/tmp/ansible-tmp-1712936787.6629267-9372-117918408150312/source", "state": "file", "uid": 1000090000 }, "path": "/WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/vars/RedHat.yml", "state": "absent" } META: ran handlers META: ran handlers PLAY RECAP ********************************************************************* sut : ok=25 changed=3 unreachable=0 failed=0 skipped=29 rescued=0 ignored=0 Friday 12 April 2024 15:48:05 +0000 (0:00:00.511) 0:01:41.811 ********** =============================================================================== linux-system-roles.podman : Ensure required packages are installed ----- 93.91s /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:14 Gathering Facts --------------------------------------------------------- 2.72s /WORKDIR/git-registry-passwordk7bmxa_5/tests/tests_include_vars_from_parent.yml:8 linux-system-roles.podman : Gather the package facts -------------------- 1.10s /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:6 Create var file in caller that can override the one in called role ------ 1.00s /WORKDIR/git-registry-passwordk7bmxa_5/tests/tests_include_vars_from_parent.yml:14 Cleanup ----------------------------------------------------------------- 0.51s /WORKDIR/git-registry-passwordk7bmxa_5/tests/tests_include_vars_from_parent.yml:59 linux-system-roles.podman : Get podman version -------------------------- 0.42s /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:23 linux-system-roles.podman : Get user information ------------------------ 0.30s /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_user_group.yml:2 linux-system-roles.podman : Get group information ----------------------- 0.23s /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_user_group.yml:28 linux-system-roles.podman : See if getsubids exists --------------------- 0.22s /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_user_group.yml:41 linux-system-roles.podman : Check if system is ostree ------------------- 0.21s /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/set_vars.yml:12 linux-system-roles.podman : Handle policy.json -------------------------- 0.08s /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:90 Include test role ------------------------------------------------------- 0.07s /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/caller/tasks/main.yml:4 ---- linux-system-roles.podman : Check user and group information ------------ 0.06s /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:57 linux-system-roles.podman : Get subuid file ----------------------------- 0.04s /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_user_group.yml:82 linux-system-roles.podman : Set config file paths ----------------------- 0.04s /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:63 linux-system-roles.podman : Handle container.conf.d --------------------- 0.04s /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:81 linux-system-roles.podman : Handle registries.conf.d -------------------- 0.04s /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:84 linux-system-roles.podman : Handle storage.conf ------------------------- 0.04s /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:87 linux-system-roles.podman : Podman package version must be 4.4 or later for quadlet, secrets --- 0.03s /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/main.yml:40 linux-system-roles.podman : Ensure policy.json parent dir exists -------- 0.03s /WORKDIR/git-registry-passwordk7bmxa_5/tests/roles/linux-system-roles.podman/tasks/handle_policy_json.yml:6 ---^---^---^---^---^--- # STDERR: ---v---v---v---v---v--- [DEPRECATION WARNING]: Distribution fedora 38 on host sut should use /usr/bin/python3, but is using /usr/bin/python for backward compatibility with prior Ansible releases. A future Ansible release will default to using the discovered platform python for this host. See https://docs.ansible.com/ansible/ 2.9/reference_appendices/interpreter_discovery.html for more information. This feature will be removed in version 2.12. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. ---^---^---^---^---^---