# STDOUT: ---v---v---v---v---v--- Using /etc/ansible/ansible.cfg as config file PLAY [Test forced creation of the configuration snippet in drop in directory] *** TASK [Gathering Facts] ********************************************************* ok: [sut] TASK [Backup configuration files] ********************************************** included: /WORKDIR/dist-git-ssh-ci-doc-omd26u/tests/tasks/backup.yml for sut TASK [Setup] ******************************************************************* included: /WORKDIR/dist-git-ssh-ci-doc-omd26u/tests/tasks/setup.yml for sut TASK [Make sure openssh is installed before creating backup] ******************* ok: [sut] => { "changed": false, "rc": 0, "results": [] } MSG: Nothing to do TASK [Create a temporary directory for backup files] *************************** ok: [sut] => { "changed": false, "gid": 0, "group": "root", "mode": "0700", "owner": "root", "path": "/tmp/ansible.2irvv0ly", "secontext": "unconfined_u:object_r:user_tmp_t:s0", "size": 40, "state": "directory", "uid": 0 } TASK [Backup files] ************************************************************ ok: [sut] => (item=/etc/ssh/ssh_config.d/99-last.conf) => { "ansible_loop_var": "item", "changed": false, "cmd": "if test -f /etc/ssh/ssh_config.d/99-last.conf; then\n mkdir -p /tmp/ansible.2irvv0ly/$(dirname /etc/ssh/ssh_config.d/99-last.conf);\n cp /etc/ssh/ssh_config.d/99-last.conf /tmp/ansible.2irvv0ly/$(dirname /etc/ssh/ssh_config.d/99-last.conf)\nfi\n", "delta": "0:00:00.003987", "end": "2022-05-18 21:27:42.748579", "item": "/etc/ssh/ssh_config.d/99-last.conf", "rc": 0, "start": "2022-05-18 21:27:42.744592" } 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.2irvv0ly/$(dirname /etc/ssh/ssh_config);\n cp /etc/ssh/ssh_config /tmp/ansible.2irvv0ly/$(dirname /etc/ssh/ssh_config)\nfi\n", "delta": "0:00:00.087375", "end": "2022-05-18 21:27:43.735504", "item": "/etc/ssh/ssh_config", "rc": 0, "start": "2022-05-18 21:27:43.648129" } TASK [Run role] **************************************************************** TASK [linux-system-roles.ssh : Set platform/version specific variables] ******** included: /WORKDIR/dist-git-ssh-ci-doc-omd26u/tests/roles/linux-system-roles.ssh/tasks/set_vars.yml for sut TASK [linux-system-roles.ssh : Ensure ansible_facts used by role] ************** ok: [sut] TASK [linux-system-roles.ssh : Set platform/version specific variables] ******** skipping: [sut] => (item=RedHat.yml) => { "ansible_loop_var": "item", "changed": false, "item": "RedHat.yml", "skip_reason": "Conditional result was False" } ok: [sut] => (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": [ "/WORKDIR/dist-git-ssh-ci-doc-omd26u/tests/roles/linux-system-roles.ssh/vars/Fedora.yml" ], "ansible_loop_var": "item", "changed": false, "item": "Fedora.yml" } skipping: [sut] => (item=Fedora_34.yml) => { "ansible_loop_var": "item", "changed": false, "item": "Fedora_34.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=Fedora_34.yml) => { "ansible_loop_var": "item", "changed": false, "item": "Fedora_34.yml", "skip_reason": "Conditional result was False" } TASK [linux-system-roles.ssh : Ensure required packages are installed] ********* ok: [sut] => { "changed": false, "rc": 0, "results": [] } MSG: Nothing to do TASK [linux-system-roles.ssh : Gather information about the user for user configuration] *** 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] *** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.ssh : Generate the configuration file] **************** changed: [sut] => { "changed": true, "checksum": "33e5d453ffc19413f8e74630b334c90d4e22a1dd", "dest": "/etc/ssh/ssh_config.d/99-last.conf", "gid": 0, "group": "root", "md5sum": "df1b5553fea0fc8007bd9d80d983bbbe", "mode": "0644", "owner": "root", "secontext": "system_u:object_r:etc_t:s0", "size": 98, "src": "/root/.ansible/tmp/ansible-tmp-1652909275.442888-7173-30515981873435/source", "state": "file", "uid": 0 } TASK [Download the included configuration file] ******************************** ok: [sut] => { "changed": false, "content": "IwojIEFuc2libGUgbWFuYWdlZAojCkdTU0FQSUF1dGhlbnRpY2F0aW9uIG5vCkhvc3QgZXhhbXBsZQogIEhvc3RuYW1lIGV4YW1wbGUuY29tCiAgVXNlciBzb21lYm9keQo=", "encoding": "base64", "source": "/etc/ssh/ssh_config.d/99-last.conf" } TASK [Stat the configuration file too] ***************************************** ok: [sut] => { "changed": false, "stat": { "atime": 1652909291.1569061, "attr_flags": "e", "attributes": [ "extents" ], "block_size": 4096, "blocks": 8, "charset": "us-ascii", "checksum": "33e5d453ffc19413f8e74630b334c90d4e22a1dd", "ctime": 1652909288.4978576, "dev": 51713, "device_type": 0, "executable": false, "exists": true, "gid": 0, "gr_name": "root", "inode": 262166, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mimetype": "text/plain", "mode": "0644", "mtime": 1652909283.1947606, "nlink": 1, "path": "/etc/ssh/ssh_config.d/99-last.conf", "pw_name": "root", "readable": true, "rgrp": true, "roth": true, "rusr": true, "size": 98, "uid": 0, "version": "2003783459", "wgrp": false, "woth": false, "writeable": true, "wusr": true, "xgrp": false, "xoth": false, "xusr": false } } TASK [Verify the options are in the file] ************************************** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Download the main configuration file too] ******************************** ok: [sut] => { "changed": false, "content": "IwkkT3BlbkJTRDogc3NoX2NvbmZpZyx2IDEuMzUgMjAyMC8wNy8xNyAwMzo0Mzo0MiBkdHVja2VyIEV4cCAkCgojIFRoaXMgaXMgdGhlIHNzaCBjbGllbnQgc3lzdGVtLXdpZGUgY29uZmlndXJhdGlvbiBmaWxlLiAgU2VlCiMgc3NoX2NvbmZpZyg1KSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4gIFRoaXMgZmlsZSBwcm92aWRlcyBkZWZhdWx0cyBmb3IKIyB1c2VycywgYW5kIHRoZSB2YWx1ZXMgY2FuIGJlIGNoYW5nZWQgaW4gcGVyLXVzZXIgY29uZmlndXJhdGlvbiBmaWxlcwojIG9yIG9uIHRoZSBjb21tYW5kIGxpbmUuCgojIENvbmZpZ3VyYXRpb24gZGF0YSBpcyBwYXJzZWQgYXMgZm9sbG93czoKIyAgMS4gY29tbWFuZCBsaW5lIG9wdGlvbnMKIyAgMi4gdXNlci1zcGVjaWZpYyBmaWxlCiMgIDMuIHN5c3RlbS13aWRlIGZpbGUKIyBBbnkgY29uZmlndXJhdGlvbiB2YWx1ZSBpcyBvbmx5IGNoYW5nZWQgdGhlIGZpcnN0IHRpbWUgaXQgaXMgc2V0LgojIFRodXMsIGhvc3Qtc3BlY2lmaWMgZGVmaW5pdGlvbnMgc2hvdWxkIGJlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlCiMgY29uZmlndXJhdGlvbiBmaWxlLCBhbmQgZGVmYXVsdHMgYXQgdGhlIGVuZC4KCiMgU2l0ZS13aWRlIGRlZmF1bHRzIGZvciBzb21lIGNvbW1vbmx5IHVzZWQgb3B0aW9ucy4gIEZvciBhIGNvbXByZWhlbnNpdmUKIyBsaXN0IG9mIGF2YWlsYWJsZSBvcHRpb25zLCB0aGVpciBtZWFuaW5ncyBhbmQgZGVmYXVsdHMsIHBsZWFzZSBzZWUgdGhlCiMgc3NoX2NvbmZpZyg1KSBtYW4gcGFnZS4KCiMgSG9zdCAqCiMgICBGb3J3YXJkQWdlbnQgbm8KIyAgIEZvcndhcmRYMTEgbm8KIyAgIFBhc3N3b3JkQXV0aGVudGljYXRpb24geWVzCiMgICBIb3N0YmFzZWRBdXRoZW50aWNhdGlvbiBubwojICAgR1NTQVBJQXV0aGVudGljYXRpb24gbm8KIyAgIEdTU0FQSURlbGVnYXRlQ3JlZGVudGlhbHMgbm8KIyAgIEdTU0FQSUtleUV4Y2hhbmdlIG5vCiMgICBHU1NBUElUcnVzdEROUyBubwojICAgQmF0Y2hNb2RlIG5vCiMgICBDaGVja0hvc3RJUCB5ZXMKIyAgIEFkZHJlc3NGYW1pbHkgYW55CiMgICBDb25uZWN0VGltZW91dCAwCiMgICBTdHJpY3RIb3N0S2V5Q2hlY2tpbmcgYXNrCiMgICBJZGVudGl0eUZpbGUgfi8uc3NoL2lkX3JzYQojICAgSWRlbnRpdHlGaWxlIH4vLnNzaC9pZF9kc2EKIyAgIElkZW50aXR5RmlsZSB+Ly5zc2gvaWRfZWNkc2EKIyAgIElkZW50aXR5RmlsZSB+Ly5zc2gvaWRfZWQyNTUxOQojICAgUG9ydCAyMgojICAgQ2lwaGVycyBhZXMxMjgtY3RyLGFlczE5Mi1jdHIsYWVzMjU2LWN0cixhZXMxMjgtY2JjLDNkZXMtY2JjCiMgICBNQUNzIGhtYWMtbWQ1LGhtYWMtc2hhMSx1bWFjLTY0QG9wZW5zc2guY29tCiMgICBFc2NhcGVDaGFyIH4KIyAgIFR1bm5lbCBubwojICAgVHVubmVsRGV2aWNlIGFueTphbnkKIyAgIFBlcm1pdExvY2FsQ29tbWFuZCBubwojICAgVmlzdWFsSG9zdEtleSBubwojICAgUHJveHlDb21tYW5kIHNzaCAtcSAtVyAlaDolcCBnYXRld2F5LmV4YW1wbGUuY29tCiMgICBSZWtleUxpbWl0IDFHIDFoCiMgICBVc2VyS25vd25Ib3N0c0ZpbGUgfi8uc3NoL2tub3duX2hvc3RzLmQvJWsKIwojIFRoaXMgc3lzdGVtIGlzIGZvbGxvd2luZyBzeXN0ZW0td2lkZSBjcnlwdG8gcG9saWN5LgojIFRvIG1vZGlmeSB0aGUgY3J5cHRvIHByb3BlcnRpZXMgKENpcGhlcnMsIE1BQ3MsIC4uLiksIGNyZWF0ZSBhICAqLmNvbmYKIyAgZmlsZSB1bmRlciAgL2V0Yy9zc2gvc3NoX2NvbmZpZy5kLyAgd2hpY2ggd2lsbCBiZSBhdXRvbWF0aWNhbGx5CiMgaW5jbHVkZWQgYmVsb3cuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgbWFudWFsIHBhZ2UgZm9yCiMgIHVwZGF0ZS1jcnlwdG8tcG9saWNpZXMoOCkgIGFuZCAgc3NoX2NvbmZpZyg1KS4KSW5jbHVkZSAvZXRjL3NzaC9zc2hfY29uZmlnLmQvKi5jb25mCg==", "encoding": "base64", "source": "/etc/ssh/ssh_config" } TASK [Verify the options are NOT in the global configuration file] ************* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify the file has default sensible permissions] ************************ ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Restore configuration files] ********************************************* included: /WORKDIR/dist-git-ssh-ci-doc-omd26u/tests/tasks/restore.yml for sut TASK [Restore backed up files and remove what was not present] ***************** ok: [sut] => (item=/etc/ssh/ssh_config.d/99-last.conf) => { "ansible_loop_var": "item", "changed": false, "cmd": "if test -f /tmp/ansible.2irvv0ly//etc/ssh/ssh_config.d/99-last.conf; then\n cp /tmp/ansible.2irvv0ly//etc/ssh/ssh_config.d/99-last.conf $(dirname /etc/ssh/ssh_config.d/99-last.conf)\nelif test -f /etc/ssh/ssh_config.d/99-last.conf; then\n rm /etc/ssh/ssh_config.d/99-last.conf\nfi\n", "delta": "0:00:00.005019", "end": "2022-05-18 21:28:17.909482", "item": "/etc/ssh/ssh_config.d/99-last.conf", "rc": 0, "start": "2022-05-18 21:28:17.904463" } ok: [sut] => (item=/etc/ssh/ssh_config) => { "ansible_loop_var": "item", "changed": false, "cmd": "if test -f /tmp/ansible.2irvv0ly//etc/ssh/ssh_config; then\n cp /tmp/ansible.2irvv0ly//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.006608", "end": "2022-05-18 21:28:18.826821", "item": "/etc/ssh/ssh_config", "rc": 0, "start": "2022-05-18 21:28:18.820213" } TASK [Remove temporary directory for backup files] ***************************** ok: [sut] => { "changed": false, "path": "/tmp/ansible.2irvv0ly", "state": "absent" } PLAY RECAP ********************************************************************* sut : ok=20 changed=1 unreachable=0 failed=0 skipped=2 rescued=0 ignored=0 ---^---^---^---^---^--- # STDERR: ---v---v---v---v---v--- ---^---^---^---^---^---