ansible-playbook [core 2.19.5] config file = None configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /usr/local/lib/python3.13/site-packages/ansible ansible collection location = /tmp/collections-j2H executable location = /usr/local/bin/ansible-playbook python version = 3.13.11 (main, Dec 5 2025, 00:00:00) [GCC 15.2.1 20251111 (Red Hat 15.2.1-4)] (/usr/bin/python3.13) jinja version = 3.1.6 pyyaml version = 6.0.2 (with libyaml v0.2.5) No config file found; using defaults running playbook inside collection fedora.linux_system_roles Skipping callback 'json', as we already have a stdout callback. Skipping callback 'jsonl', as we already have a stdout callback. Skipping callback 'default', as we already have a stdout callback. Skipping callback 'minimal', as we already have a stdout callback. Skipping callback 'oneline', as we already have a stdout callback. PLAYBOOK: tests_precedence.yml ************************************************* 1 plays in /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tests_precedence.yml PLAY [Test options precedence when mixing ssh dict and ssh_* variables] ******** TASK [Gathering Facts] ********************************************************* task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tests_precedence.yml:2 Wednesday 07 January 2026 22:03:20 -0500 (0:00:00.041) 0:00:00.041 ***** [WARNING]: Host 'managed-node2' is using the discovered Python interpreter at '/usr/bin/python3.13', but future installation of another Python interpreter could cause a different interpreter to be discovered. See https://docs.ansible.com/ansible-core/2.19/reference_appendices/interpreter_discovery.html for more information. ok: [managed-node2] TASK [Backup configuration files] ********************************************** task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tests_precedence.yml:11 Wednesday 07 January 2026 22:03:22 -0500 (0:00:01.295) 0:00:01.337 ***** included: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/backup.yml for managed-node2 TASK [Setup] ******************************************************************* task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/backup.yml:2 Wednesday 07 January 2026 22:03:22 -0500 (0:00:00.030) 0:00:01.367 ***** included: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/setup.yml for managed-node2 TASK [Ensure facts used by test] *********************************************** task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/setup.yml:2 Wednesday 07 January 2026 22:03:22 -0500 (0:00:00.043) 0:00:01.411 ***** skipping: [managed-node2] => { "changed": false, "false_condition": "'os_family' not in ansible_facts", "skip_reason": "Conditional result was False" } TASK [Check if system is ostree] *********************************************** task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/setup.yml:10 Wednesday 07 January 2026 22:03:22 -0500 (0:00:00.023) 0:00:01.434 ***** ok: [managed-node2] => { "changed": false, "stat": { "exists": false } } TASK [Set flag to indicate system is ostree] *********************************** task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/setup.yml:15 Wednesday 07 January 2026 22:03:22 -0500 (0:00:00.609) 0:00:02.044 ***** ok: [managed-node2] => { "ansible_facts": { "__ssh_is_ostree": false }, "changed": false } TASK [Make sure openssh is installed before creating backup] ******************* task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/setup.yml:19 Wednesday 07 January 2026 22:03:22 -0500 (0:00:00.067) 0:00:02.112 ***** ok: [managed-node2] => { "changed": false, "rc": 0, "results": [] } MSG: Nothing to do TASK [Define common variables] ************************************************* task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/setup.yml:31 Wednesday 07 January 2026 22:03:24 -0500 (0:00:01.722) 0:00:03.834 ***** ok: [managed-node2] => { "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: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/setup.yml:37 Wednesday 07 January 2026 22:03:24 -0500 (0:00:00.018) 0:00:03.853 ***** ok: [managed-node2] => { "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: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/backup.yml:5 Wednesday 07 January 2026 22:03:24 -0500 (0:00:00.039) 0:00:03.892 ***** ok: [managed-node2] => { "changed": false, "gid": 0, "group": "root", "mode": "0700", "owner": "root", "path": "/tmp/ansible.cwfk9di8", "secontext": "unconfined_u:object_r:user_tmp_t:s0", "size": 40, "state": "directory", "uid": 0 } TASK [Backup files] ************************************************************ task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/backup.yml:13 Wednesday 07 January 2026 22:03:25 -0500 (0:00:00.596) 0:00:04.488 ***** ok: [managed-node2] => (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.cwfk9di8/$(dirname /etc/ssh/ssh_config.d/00-ansible.conf);\n cp -a /etc/ssh/ssh_config.d/00-ansible.conf /tmp/ansible.cwfk9di8/$(dirname /etc/ssh/ssh_config.d/00-ansible.conf)\nfi\n", "delta": "0:00:00.007964", "end": "2026-01-07 22:03:26.055644", "item": "/etc/ssh/ssh_config.d/00-ansible.conf", "rc": 0, "start": "2026-01-07 22:03:26.047680" } ok: [managed-node2] => (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.cwfk9di8/$(dirname /etc/ssh/ssh_config);\n cp -a /etc/ssh/ssh_config /tmp/ansible.cwfk9di8/$(dirname /etc/ssh/ssh_config)\nfi\n", "delta": "0:00:00.007943", "end": "2026-01-07 22:03:26.561238", "item": "/etc/ssh/ssh_config", "rc": 0, "start": "2026-01-07 22:03:26.553295" } TASK [Run role] **************************************************************** task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tests_precedence.yml:14 Wednesday 07 January 2026 22:03:26 -0500 (0:00:01.336) 0:00:05.825 ***** included: fedora.linux_system_roles.ssh for managed-node2 TASK [fedora.linux_system_roles.ssh : Set platform/version specific variables] *** task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/roles/ssh/tasks/main.yml:2 Wednesday 07 January 2026 22:03:26 -0500 (0:00:00.036) 0:00:05.861 ***** included: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/roles/ssh/tasks/set_vars.yml for managed-node2 TASK [fedora.linux_system_roles.ssh : Ensure ansible_facts used by role] ******* task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/roles/ssh/tasks/set_vars.yml:2 Wednesday 07 January 2026 22:03:26 -0500 (0:00:00.025) 0:00:05.886 ***** skipping: [managed-node2] => { "changed": false, "false_condition": "__ssh_required_facts | difference(ansible_facts.keys() | list) | length > 0", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.ssh : Check if system is ostree] *************** task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/roles/ssh/tasks/set_vars.yml:10 Wednesday 07 January 2026 22:03:26 -0500 (0:00:00.030) 0:00:05.916 ***** skipping: [managed-node2] => { "changed": false, "false_condition": "not __ssh_is_ostree is defined", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.ssh : Set flag to indicate system is ostree] *** task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/roles/ssh/tasks/set_vars.yml:15 Wednesday 07 January 2026 22:03:26 -0500 (0:00:00.017) 0:00:05.934 ***** skipping: [managed-node2] => { "changed": false, "false_condition": "not __ssh_is_ostree is defined", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.ssh : Check if transactional-update exists in /sbin] *** task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/roles/ssh/tasks/set_vars.yml:22 Wednesday 07 January 2026 22:03:26 -0500 (0:00:00.018) 0:00:05.953 ***** ok: [managed-node2] => { "changed": false, "stat": { "exists": false } } TASK [fedora.linux_system_roles.ssh : Set flag if transactional-update exists] *** task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/roles/ssh/tasks/set_vars.yml:27 Wednesday 07 January 2026 22:03:27 -0500 (0:00:00.442) 0:00:06.396 ***** ok: [managed-node2] => { "ansible_facts": { "__ssh_is_transactional": false }, "changed": false } TASK [fedora.linux_system_roles.ssh : Set platform/version specific variables] *** task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/roles/ssh/tasks/set_vars.yml:31 Wednesday 07 January 2026 22:03:27 -0500 (0:00:00.033) 0:00:06.429 ***** skipping: [managed-node2] => (item=RedHat.yml) => { "ansible_loop_var": "item", "changed": false, "false_condition": "__vars_file is file", "item": "RedHat.yml", "skip_reason": "Conditional result was False" } ok: [managed-node2] => (item=Fedora.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": [ "/tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/roles/ssh/vars/Fedora.yml" ], "ansible_loop_var": "item", "changed": false, "item": "Fedora.yml" } skipping: [managed-node2] => (item=Fedora_42.yml) => { "ansible_loop_var": "item", "changed": false, "false_condition": "__vars_file is file", "item": "Fedora_42.yml", "skip_reason": "Conditional result was False" } skipping: [managed-node2] => (item=Fedora_42.yml) => { "ansible_loop_var": "item", "changed": false, "false_condition": "__vars_file is file", "item": "Fedora_42.yml", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.ssh : Ensure required packages are installed] *** task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/roles/ssh/tasks/main.yml:5 Wednesday 07 January 2026 22:03:27 -0500 (0:00:00.046) 0:00:06.476 ***** ok: [managed-node2] => { "changed": false, "rc": 0, "results": [] } MSG: Nothing to do TASK [fedora.linux_system_roles.ssh : Notify user that reboot is needed to apply changes] *** task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/roles/ssh/tasks/main.yml:17 Wednesday 07 January 2026 22:03:28 -0500 (0:00:01.640) 0:00:08.116 ***** skipping: [managed-node2] => { "false_condition": "__ssh_is_transactional | d(false)" } TASK [fedora.linux_system_roles.ssh : Reboot transactional update systems] ***** task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/roles/ssh/tasks/main.yml:22 Wednesday 07 January 2026 22:03:28 -0500 (0:00:00.028) 0:00:08.144 ***** skipping: [managed-node2] => { "changed": false, "false_condition": "__ssh_is_transactional | d(false)", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.ssh : Fail if reboot is needed and not set] **** task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/roles/ssh/tasks/main.yml:27 Wednesday 07 January 2026 22:03:28 -0500 (0:00:00.027) 0:00:08.172 ***** skipping: [managed-node2] => { "changed": false, "false_condition": "__ssh_is_transactional | d(false)", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.ssh : Gather information about the user for user configuration] *** task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/roles/ssh/tasks/main.yml:35 Wednesday 07 January 2026 22:03:28 -0500 (0:00:00.027) 0:00:08.200 ***** skipping: [managed-node2] => { "changed": false, "false_condition": "ssh_user is not none", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.ssh : Make sure the ~/.ssh/ directory exists and has expected permissions] *** task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/roles/ssh/tasks/main.yml:42 Wednesday 07 January 2026 22:03:29 -0500 (0:00:00.020) 0:00:08.220 ***** skipping: [managed-node2] => { "changed": false, "false_condition": "ssh_user is not none", "skip_reason": "Conditional result was False" } TASK [fedora.linux_system_roles.ssh : Generate the configuration file] ********* task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/roles/ssh/tasks/main.yml:53 Wednesday 07 January 2026 22:03:29 -0500 (0:00:00.020) 0:00:08.241 ***** changed: [managed-node2] => { "backup_file": "/etc/ssh/ssh_config.d/00-ansible.conf.13969.2026-01-07@22:03:30~", "changed": true, "checksum": "e0863bc2265d06827abda9e96f665939d0018753", "dest": "/etc/ssh/ssh_config.d/00-ansible.conf", "gid": 0, "group": "root", "md5sum": "38b427de308be2423e9bd03ac7ef9a6d", "mode": "0644", "owner": "root", "secontext": "system_u:object_r:etc_t:s0", "size": 76, "src": "/root/.ansible/tmp/ansible-tmp-1767841409.1109223-9421-53709449264387/.source.conf", "state": "file", "uid": 0 } TASK [Download the global configuration file] ********************************** task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tests_precedence.yml:27 Wednesday 07 January 2026 22:03:30 -0500 (0:00:01.238) 0:00:09.479 ***** ok: [managed-node2] => { "changed": false, "content": "IwojIEFuc2libGUgbWFuYWdlZAojCiMgc3lzdGVtX3JvbGU6c3NoCgpQb3J0IDIyMgpTdHJpY3RIb3N0S2V5Q2hlY2tpbmcgeWVzCg==", "encoding": "base64", "source": "/etc/ssh/ssh_config.d/00-ansible.conf" } TASK [Verify the options are in the file] ************************************** task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tests_precedence.yml:32 Wednesday 07 January 2026 22:03:30 -0500 (0:00:00.622) 0:00:10.103 ***** ok: [managed-node2] => { "changed": false } MSG: All assertions passed TASK [Restore configuration files] ********************************************* task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tests_precedence.yml:40 Wednesday 07 January 2026 22:03:30 -0500 (0:00:00.064) 0:00:10.167 ***** included: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/restore.yml for managed-node2 TASK [Restore backed up files and remove what was not present] ***************** task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/restore.yml:2 Wednesday 07 January 2026 22:03:31 -0500 (0:00:00.044) 0:00:10.212 ***** ok: [managed-node2] => (item=/etc/ssh/ssh_config.d/00-ansible.conf) => { "ansible_loop_var": "item", "changed": false, "cmd": "if test -f /tmp/ansible.cwfk9di8//etc/ssh/ssh_config.d/00-ansible.conf; then\n cp -a /tmp/ansible.cwfk9di8//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.006692", "end": "2026-01-07 22:03:31.447193", "item": "/etc/ssh/ssh_config.d/00-ansible.conf", "rc": 0, "start": "2026-01-07 22:03:31.440501" } ok: [managed-node2] => (item=/etc/ssh/ssh_config) => { "ansible_loop_var": "item", "changed": false, "cmd": "if test -f /tmp/ansible.cwfk9di8//etc/ssh/ssh_config; then\n cp -a /tmp/ansible.cwfk9di8//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.005930", "end": "2026-01-07 22:03:31.894751", "item": "/etc/ssh/ssh_config", "rc": 0, "start": "2026-01-07 22:03:31.888821" } TASK [Remove temporary directory for backup files] ***************************** task path: /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/restore.yml:15 Wednesday 07 January 2026 22:03:31 -0500 (0:00:00.960) 0:00:11.173 ***** ok: [managed-node2] => { "changed": false, "path": "/tmp/ansible.cwfk9di8", "state": "absent" } PLAY RECAP ********************************************************************* managed-node2 : ok=22 changed=1 unreachable=0 failed=0 skipped=9 rescued=0 ignored=0 SYSTEM ROLES ERRORS BEGIN v1 [] SYSTEM ROLES ERRORS END v1 TASKS RECAP ******************************************************************** Wednesday 07 January 2026 22:03:32 -0500 (0:00:00.600) 0:00:11.773 ***** =============================================================================== Make sure openssh is installed before creating backup ------------------- 1.72s /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/setup.yml:19 fedora.linux_system_roles.ssh : Ensure required packages are installed --- 1.64s /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/roles/ssh/tasks/main.yml:5 Backup files ------------------------------------------------------------ 1.34s /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/backup.yml:13 Gathering Facts --------------------------------------------------------- 1.30s /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tests_precedence.yml:2 fedora.linux_system_roles.ssh : Generate the configuration file --------- 1.24s /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/roles/ssh/tasks/main.yml:53 Restore backed up files and remove what was not present ----------------- 0.96s /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/restore.yml:2 Download the global configuration file ---------------------------------- 0.62s /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tests_precedence.yml:27 Check if system is ostree ----------------------------------------------- 0.61s /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/setup.yml:10 Remove temporary directory for backup files ----------------------------- 0.60s /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/restore.yml:15 Create a temporary directory for backup files --------------------------- 0.60s /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/backup.yml:5 fedora.linux_system_roles.ssh : Check if transactional-update exists in /sbin --- 0.44s /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/roles/ssh/tasks/set_vars.yml:22 Set flag to indicate system is ostree ----------------------------------- 0.07s /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/setup.yml:15 Verify the options are in the file -------------------------------------- 0.06s /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tests_precedence.yml:32 fedora.linux_system_roles.ssh : Set platform/version specific variables --- 0.05s /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/roles/ssh/tasks/set_vars.yml:31 Restore configuration files --------------------------------------------- 0.04s /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tests_precedence.yml:40 Setup ------------------------------------------------------------------- 0.04s /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/backup.yml:2 Define specific variables ----------------------------------------------- 0.04s /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tasks/setup.yml:37 Run role ---------------------------------------------------------------- 0.04s /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tests_precedence.yml:14 fedora.linux_system_roles.ssh : Set flag if transactional-update exists --- 0.03s /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/roles/ssh/tasks/set_vars.yml:27 Backup configuration files ---------------------------------------------- 0.03s /tmp/collections-j2H/ansible_collections/fedora/linux_system_roles/tests/ssh/tests_precedence.yml:11