# 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_global_config_mode.yml ***************************************** 1 plays in /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tests_global_config_mode.yml PLAY [Test we can write global config with given permissions] ****************** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tests_global_config_mode.yml:2 Wednesday 24 July 2024 17:48:02 +0000 (0:00:00.013) 0:00:00.013 ******** ok: [sut] META: ran handlers TASK [Backup configuration files] ********************************************** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tests_global_config_mode.yml:11 Wednesday 24 July 2024 17:48:03 +0000 (0:00:00.810) 0:00:00.824 ******** included: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/backup.yml for sut TASK [Setup] ******************************************************************* task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/backup.yml:2 Wednesday 24 July 2024 17:48:03 +0000 (0:00:00.053) 0:00:00.877 ******** included: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/setup.yml for sut TASK [Ensure facts used by test] *********************************************** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/setup.yml:2 Wednesday 24 July 2024 17:48:03 +0000 (0:00:00.033) 0:00:00.910 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Check if system is ostree] *********************************************** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/setup.yml:10 Wednesday 24 July 2024 17:48:03 +0000 (0:00:00.051) 0:00:00.962 ******** ok: [sut] => { "changed": false, "stat": { "exists": false } } TASK [Set flag to indicate system is ostree] *********************************** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/setup.yml:15 Wednesday 24 July 2024 17:48:03 +0000 (0:00:00.300) 0:00:01.262 ******** ok: [sut] => { "ansible_facts": { "__ssh_is_ostree": false }, "changed": false } TASK [Make sure openssh is installed before creating backup] ******************* task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/setup.yml:19 Wednesday 24 July 2024 17:48:03 +0000 (0:00:00.036) 0:00:01.299 ******** ok: [sut] => { "changed": false, "rc": 0, "results": [] } MSG: Nothing to do TASK [Define common variables] ************************************************* task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/setup.yml:32 Wednesday 24 July 2024 17:48:06 +0000 (0:00:02.674) 0:00:03.973 ******** ok: [sut] => { "ansible_facts": { "main_ssh_config": "/etc/ssh/ssh_config", "main_ssh_config_name": "ssh_config", "main_ssh_config_path": "/etc/ssh/" }, "changed": false } TASK [Define specific variables] *********************************************** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/setup.yml:38 Wednesday 24 July 2024 17:48:06 +0000 (0:00:00.008) 0:00:03.982 ******** ok: [sut] => { "ansible_facts": { "main_ssh_config": "/etc/ssh/ssh_config.d/00-ansible.conf", "main_ssh_config_name": "00-ansible.conf", "main_ssh_config_path": "/etc/ssh/ssh_config.d/" }, "changed": false } TASK [Create a temporary directory for backup files] *************************** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/backup.yml:5 Wednesday 24 July 2024 17:48:06 +0000 (0:00:00.020) 0:00:04.003 ******** ok: [sut] => { "changed": false, "gid": 0, "group": "root", "mode": "0700", "owner": "root", "path": "/tmp/ansible.n1j90vtc", "secontext": "unconfined_u:object_r:user_tmp_t:s0", "size": 6, "state": "directory", "uid": 0 } TASK [Backup files] ************************************************************ task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/backup.yml:13 Wednesday 24 July 2024 17:48:06 +0000 (0:00:00.254) 0:00:04.258 ******** ok: [sut] => (item=/etc/ssh/ssh_config.d/00-ansible.conf) => { "ansible_loop_var": "item", "changed": false, "cmd": "if test -f /etc/ssh/ssh_config.d/00-ansible.conf; then\n mkdir -p /tmp/ansible.n1j90vtc/$(dirname /etc/ssh/ssh_config.d/00-ansible.conf);\n cp -a /etc/ssh/ssh_config.d/00-ansible.conf /tmp/ansible.n1j90vtc/$(dirname /etc/ssh/ssh_config.d/00-ansible.conf)\nfi\n", "delta": "0:00:00.007582", "end": "2024-07-24 17:48:07.076728", "item": "/etc/ssh/ssh_config.d/00-ansible.conf", "rc": 0, "start": "2024-07-24 17:48:07.069146" } ok: [sut] => (item=/etc/ssh/ssh_config) => { "ansible_loop_var": "item", "changed": false, "cmd": "if test -f /etc/ssh/ssh_config; then\n mkdir -p /tmp/ansible.n1j90vtc/$(dirname /etc/ssh/ssh_config);\n cp -a /etc/ssh/ssh_config /tmp/ansible.n1j90vtc/$(dirname /etc/ssh/ssh_config)\nfi\n", "delta": "0:00:00.010927", "end": "2024-07-24 17:48:07.262398", "item": "/etc/ssh/ssh_config", "rc": 0, "start": "2024-07-24 17:48:07.251471" } TASK [Run role] **************************************************************** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tests_global_config_mode.yml:14 Wednesday 24 July 2024 17:48:07 +0000 (0:00:00.472) 0:00:04.730 ******** TASK [linux-system-roles.ssh : Set platform/version specific variables] ******** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/tasks/main.yml:2 Wednesday 24 July 2024 17:48:07 +0000 (0:00:00.016) 0:00:04.747 ******** included: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/tasks/set_vars.yml for sut TASK [linux-system-roles.ssh : Ensure ansible_facts used by role] ************** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/tasks/set_vars.yml:2 Wednesday 24 July 2024 17:48:07 +0000 (0:00:00.014) 0:00:04.761 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.ssh : Check if system is ostree] ********************** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/tasks/set_vars.yml:11 Wednesday 24 July 2024 17:48:07 +0000 (0:00:00.020) 0:00:04.782 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.ssh : Set flag to indicate system is ostree] ********** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/tasks/set_vars.yml:16 Wednesday 24 July 2024 17:48:07 +0000 (0:00:00.019) 0:00:04.801 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.ssh : Check if transactional-update exists in /sbin] *** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/tasks/set_vars.yml:23 Wednesday 24 July 2024 17:48:07 +0000 (0:00:00.019) 0:00:04.820 ******** ok: [sut] => { "changed": false, "stat": { "exists": false } } TASK [linux-system-roles.ssh : Set flag if transactional-update exists] ******** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/tasks/set_vars.yml:28 Wednesday 24 July 2024 17:48:07 +0000 (0:00:00.206) 0:00:05.026 ******** ok: [sut] => { "ansible_facts": { "__ssh_is_transactional": false }, "changed": false } TASK [linux-system-roles.ssh : Set platform/version specific variables] ******** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/tasks/set_vars.yml:32 Wednesday 24 July 2024 17:48:07 +0000 (0:00:00.024) 0:00:05.051 ******** skipping: [sut] => (item=RedHat.yml) => { "ansible_loop_var": "item", "changed": false, "item": "RedHat.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=CentOS.yml) => { "ansible_loop_var": "item", "changed": false, "item": "CentOS.yml", "skip_reason": "Conditional result was False" } ok: [sut] => (item=CentOS_8.yml) => { "ansible_facts": { "__ssh_defaults": { "Include": "/etc/ssh/ssh_config.d/*.conf" }, "__ssh_drop_in_name": "00-ansible", "__ssh_supports_drop_in": true }, "ansible_included_var_files": [ "/WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/vars/CentOS_8.yml" ], "ansible_loop_var": "item", "changed": false, "item": "CentOS_8.yml" } ok: [sut] => (item=CentOS_8.yml) => { "ansible_facts": { "__ssh_defaults": { "Include": "/etc/ssh/ssh_config.d/*.conf" }, "__ssh_drop_in_name": "00-ansible", "__ssh_supports_drop_in": true }, "ansible_included_var_files": [ "/WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/vars/CentOS_8.yml" ], "ansible_loop_var": "item", "changed": false, "item": "CentOS_8.yml" } TASK [linux-system-roles.ssh : Ensure required packages are installed] ********* task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/tasks/main.yml:5 Wednesday 24 July 2024 17:48:07 +0000 (0:00:00.038) 0:00:05.089 ******** ok: [sut] => { "changed": false, "rc": 0, "results": [] } MSG: Nothing to do TASK [linux-system-roles.ssh : Notify user that reboot is needed to apply changes] *** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/tasks/main.yml:18 Wednesday 24 July 2024 17:48:10 +0000 (0:00:02.363) 0:00:07.453 ******** skipping: [sut] => {} TASK [linux-system-roles.ssh : Reboot transactional update systems] ************ task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/tasks/main.yml:23 Wednesday 24 July 2024 17:48:10 +0000 (0:00:00.019) 0:00:07.472 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.ssh : Fail if reboot is needed and not set] *********** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/tasks/main.yml:28 Wednesday 24 July 2024 17:48:10 +0000 (0:00:00.019) 0:00:07.492 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.ssh : Gather information about the user for user configuration] *** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/tasks/main.yml:36 Wednesday 24 July 2024 17:48:10 +0000 (0:00:00.020) 0:00:07.513 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.ssh : Make sure the ~/.ssh/ directory exists and has expected permissions] *** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/tasks/main.yml:43 Wednesday 24 July 2024 17:48:10 +0000 (0:00:00.019) 0:00:07.532 ******** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.ssh : Generate the configuration file] **************** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/tasks/main.yml:54 Wednesday 24 July 2024 17:48:10 +0000 (0:00:00.019) 0:00:07.551 ******** changed: [sut] => { "backup_file": "/etc/ssh/ssh_config.d/00-ansible.conf.11993.2024-07-24@17:48:10~", "changed": true, "checksum": "fd10e361130dbd3cf0286a2cc3bd7f14ae1d8b43", "dest": "/etc/ssh/ssh_config.d/00-ansible.conf", "gid": 2, "group": "daemon", "md5sum": "794672c8a072307a0e09ee8ae798b34c", "mode": "0600", "owner": "daemon", "secontext": "system_u:object_r:etc_t:s0", "size": 81, "src": "/root/.ansible/tmp/ansible-tmp-1721843290.1574783-3100-214318685828490/source", "state": "file", "uid": 2 } TASK [Download the global configuration file] ********************************** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tests_global_config_mode.yml:28 Wednesday 24 July 2024 17:48:10 +0000 (0:00:00.711) 0:00:08.263 ******** ok: [sut] => { "changed": false, "content": "IwojIEFuc2libGUgbWFuYWdlZAojCiMgc3lzdGVtX3JvbGU6c3NoCgpDb21wcmVzc2lvbiB5ZXMKR1NTQVBJQXV0aGVudGljYXRpb24gbm8K", "encoding": "base64", "source": "/etc/ssh/ssh_config.d/00-ansible.conf" } TASK [Stat the configuration file too] ***************************************** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tests_global_config_mode.yml:33 Wednesday 24 July 2024 17:48:11 +0000 (0:00:00.257) 0:00:08.520 ******** ok: [sut] => { "changed": false, "stat": { "atime": 1721843291.055888, "attr_flags": "", "attributes": [], "block_size": 4096, "blocks": 8, "charset": "us-ascii", "checksum": "fd10e361130dbd3cf0286a2cc3bd7f14ae1d8b43", "ctime": 1721843290.768887, "dev": 51713, "device_type": 0, "executable": false, "exists": true, "gid": 2, "gr_name": "daemon", "inode": 146800961, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mimetype": "text/plain", "mode": "0600", "mtime": 1721843290.482886, "nlink": 1, "path": "/etc/ssh/ssh_config.d/00-ansible.conf", "pw_name": "daemon", "readable": true, "rgrp": false, "roth": false, "rusr": true, "size": 81, "uid": 2, "version": "3552583295", "wgrp": false, "woth": false, "writeable": true, "wusr": true, "xgrp": false, "xoth": false, "xusr": false } } TASK [Verify the options are in the file] ************************************** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tests_global_config_mode.yml:39 Wednesday 24 July 2024 17:48:11 +0000 (0:00:00.196) 0:00:08.717 ******** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify the file has expected permissions] ******************************** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tests_global_config_mode.yml:45 Wednesday 24 July 2024 17:48:11 +0000 (0:00:00.022) 0:00:08.740 ******** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Restore configuration files] ********************************************* task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tests_global_config_mode.yml:53 Wednesday 24 July 2024 17:48:11 +0000 (0:00:00.043) 0:00:08.783 ******** included: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/restore.yml for sut TASK [Restore backed up files and remove what was not present] ***************** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/restore.yml:2 Wednesday 24 July 2024 17:48:11 +0000 (0:00:00.030) 0:00:08.814 ******** ok: [sut] => (item=/etc/ssh/ssh_config.d/00-ansible.conf) => { "ansible_loop_var": "item", "changed": false, "cmd": "if test -f /tmp/ansible.n1j90vtc//etc/ssh/ssh_config.d/00-ansible.conf; then\n cp -a /tmp/ansible.n1j90vtc//etc/ssh/ssh_config.d/00-ansible.conf $(dirname /etc/ssh/ssh_config.d/00-ansible.conf)\nelif test -f /etc/ssh/ssh_config.d/00-ansible.conf; then\n rm /etc/ssh/ssh_config.d/00-ansible.conf\nfi\n", "delta": "0:00:00.008053", "end": "2024-07-24 17:48:11.560491", "item": "/etc/ssh/ssh_config.d/00-ansible.conf", "rc": 0, "start": "2024-07-24 17:48:11.552438" } ok: [sut] => (item=/etc/ssh/ssh_config) => { "ansible_loop_var": "item", "changed": false, "cmd": "if test -f /tmp/ansible.n1j90vtc//etc/ssh/ssh_config; then\n cp -a /tmp/ansible.n1j90vtc//etc/ssh/ssh_config $(dirname /etc/ssh/ssh_config)\nelif test -f /etc/ssh/ssh_config; then\n rm /etc/ssh/ssh_config\nfi\n", "delta": "0:00:00.007026", "end": "2024-07-24 17:48:11.740338", "item": "/etc/ssh/ssh_config", "rc": 0, "start": "2024-07-24 17:48:11.733312" } TASK [Remove temporary directory for backup files] ***************************** task path: /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/restore.yml:15 Wednesday 24 July 2024 17:48:11 +0000 (0:00:00.394) 0:00:09.208 ******** ok: [sut] => { "changed": false, "path": "/tmp/ansible.n1j90vtc", "state": "absent" } META: ran handlers META: ran handlers PLAY RECAP ********************************************************************* sut : ok=23 changed=1 unreachable=0 failed=0 skipped=9 rescued=0 ignored=0 Wednesday 24 July 2024 17:48:12 +0000 (0:00:00.270) 0:00:09.479 ******** =============================================================================== Make sure openssh is installed before creating backup ------------------- 2.67s /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/setup.yml:19 ---- linux-system-roles.ssh : Ensure required packages are installed --------- 2.36s /WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/tasks/main.yml:5 Gathering Facts --------------------------------------------------------- 0.81s /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tests_global_config_mode.yml:2 linux-system-roles.ssh : Generate the configuration file ---------------- 0.71s /WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/tasks/main.yml:54 Backup files ------------------------------------------------------------ 0.47s /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/backup.yml:13 --- Restore backed up files and remove what was not present ----------------- 0.39s /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/restore.yml:2 --- Check if system is ostree ----------------------------------------------- 0.30s /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/setup.yml:10 ---- Remove temporary directory for backup files ----------------------------- 0.27s /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/restore.yml:15 -- Download the global configuration file ---------------------------------- 0.26s /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tests_global_config_mode.yml:28 Create a temporary directory for backup files --------------------------- 0.25s /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/backup.yml:5 ---- linux-system-roles.ssh : Check if transactional-update exists in /sbin --- 0.21s /WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/tasks/set_vars.yml:23 Stat the configuration file too ----------------------------------------- 0.20s /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tests_global_config_mode.yml:33 Backup configuration files ---------------------------------------------- 0.05s /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tests_global_config_mode.yml:11 Ensure facts used by test ----------------------------------------------- 0.05s /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/setup.yml:2 ----- Verify the file has expected permissions -------------------------------- 0.04s /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tests_global_config_mode.yml:45 linux-system-roles.ssh : Set platform/version specific variables -------- 0.04s /WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/tasks/set_vars.yml:32 Set flag to indicate system is ostree ----------------------------------- 0.04s /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/setup.yml:15 ---- Setup ------------------------------------------------------------------- 0.03s /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tasks/backup.yml:2 ---- Restore configuration files --------------------------------------------- 0.03s /WORKDIR/git-support_transactional_updatei48b1xz_/tests/tests_global_config_mode.yml:53 linux-system-roles.ssh : Set flag if transactional-update exists -------- 0.02s /WORKDIR/git-support_transactional_updatei48b1xz_/tests/roles/linux-system-roles.ssh/tasks/set_vars.yml:28 ---^---^---^---^---^--- # STDERR: ---v---v---v---v---v--- ---^---^---^---^---^---