# STDOUT: ---v---v---v---v---v--- Using /etc/ansible/ansible.cfg as config file PLAY [Ensure UID and GID exists] *********************************************** TASK [Gathering Facts] ********************************************************* Thursday 18 August 2022 22:01:11 +0000 (0:00:00.018) 0:00:00.018 ******* ok: [sut] TASK [Ensure user exists] ****************************************************** Thursday 18 August 2022 22:01:12 +0000 (0:00:01.148) 0:00:01.166 ******* changed: [sut] => { "changed": true, "comment": "", "create_home": true, "group": 1040, "home": "/home/user1", "name": "user1", "shell": "/bin/bash", "state": "present", "system": false, "uid": 1040 } TASK [Ensure group "somegroup" exists] ***************************************** Thursday 18 August 2022 22:01:13 +0000 (0:00:00.620) 0:00:01.787 ******* changed: [sut] => { "changed": true, "gid": 1041, "name": "somegroup", "state": "present", "system": false } PLAY [Issue certificate setting user/group] ************************************ TASK [Gathering Facts] ********************************************************* Thursday 18 August 2022 22:01:13 +0000 (0:00:00.497) 0:00:02.284 ******* ok: [sut] TASK [linux-system-roles.certificate : Set version specific variables] ********* Thursday 18 August 2022 22:01:14 +0000 (0:00:00.734) 0:00:03.019 ******* included: /WORKDIR/dist-git-certificate-use_distro_python_cryptography-GEkvSr/tests/roles/linux-system-roles.certificate/tasks/set_vars.yml for sut TASK [linux-system-roles.certificate : Ensure ansible_facts used by role] ****** Thursday 18 August 2022 22:01:14 +0000 (0:00:00.038) 0:00:03.057 ******* ok: [sut] TASK [linux-system-roles.certificate : Set platform/version specific variables] *** Thursday 18 August 2022 22:01:14 +0000 (0:00:00.445) 0:00:03.502 ******* skipping: [sut] => (item=RedHat.yml) => { "ansible_loop_var": "item", "changed": false, "item": "RedHat.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=RedHat.yml) => { "ansible_loop_var": "item", "changed": false, "item": "RedHat.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=RedHat_9.yml) => { "ansible_loop_var": "item", "changed": false, "item": "RedHat_9.yml", "skip_reason": "Conditional result was False" } skipping: [sut] => (item=RedHat_9.1.yml) => { "ansible_loop_var": "item", "changed": false, "item": "RedHat_9.1.yml", "skip_reason": "Conditional result was False" } TASK [linux-system-roles.certificate : Ensure certificate role dependencies are installed] *** Thursday 18 August 2022 22:01:14 +0000 (0:00:00.059) 0:00:03.562 ******* changed: [sut] => { "changed": true, "rc": 0, "results": [ "Installed: python3-ply-3.11-14.el9.noarch", "Installed: python3-pyasn1-0.4.8-6.el9.noarch", "Installed: python3-cffi-1.14.5-5.el9.x86_64", "Installed: python3-pycparser-2.20-6.el9.noarch", "Installed: python3-cryptography-36.0.1-2.el9.x86_64" ] } TASK [linux-system-roles.certificate : Ensure provider packages are installed] *** Thursday 18 August 2022 22:01:18 +0000 (0:00:03.237) 0:00:06.800 ******* changed: [sut] => (item=certmonger) => { "__certificate_provider": "certmonger", "ansible_loop_var": "__certificate_provider", "changed": true, "rc": 0, "results": [ "Installed: nss-softokn-3.79.0-11.el9_0.x86_64", "Installed: certmonger-0.79.14-7.el9.x86_64", "Installed: nss-softokn-freebl-3.79.0-11.el9_0.x86_64", "Installed: nss-sysinit-3.79.0-11.el9_0.x86_64", "Installed: nss-util-3.79.0-11.el9_0.x86_64", "Installed: nspr-4.34.0-11.el9_0.x86_64", "Installed: nss-3.79.0-11.el9_0.x86_64" ] } TASK [linux-system-roles.certificate : Ensure pre-scripts hooks directory exists] *** Thursday 18 August 2022 22:01:21 +0000 (0:00:03.685) 0:00:10.485 ******* changed: [sut] => (item=certmonger) => { "__certificate_provider": "certmonger", "ansible_loop_var": "__certificate_provider", "changed": true, "gid": 0, "group": "root", "mode": "0700", "owner": "root", "path": "/etc/certmonger//pre-scripts", "secontext": "unconfined_u:object_r:etc_t:s0", "size": 6, "state": "directory", "uid": 0 } TASK [linux-system-roles.certificate : Ensure post-scripts hooks directory exists] *** Thursday 18 August 2022 22:01:22 +0000 (0:00:00.452) 0:00:10.938 ******* changed: [sut] => (item=certmonger) => { "__certificate_provider": "certmonger", "ansible_loop_var": "__certificate_provider", "changed": true, "gid": 0, "group": "root", "mode": "0700", "owner": "root", "path": "/etc/certmonger//post-scripts", "secontext": "unconfined_u:object_r:etc_t:s0", "size": 6, "state": "directory", "uid": 0 } TASK [linux-system-roles.certificate : Ensure provider service is running] ***** Thursday 18 August 2022 22:01:22 +0000 (0:00:00.295) 0:00:11.234 ******* changed: [sut] => (item=certmonger) => { "__certificate_provider": "certmonger", "ansible_loop_var": "__certificate_provider", "changed": true, "enabled": true, "name": "certmonger", "state": "started", "status": { "ActiveEnterTimestampMonotonic": "0", "ActiveExitTimestampMonotonic": "0", "ActiveState": "inactive", "After": "dbus.socket sysinit.target syslog.target network.target dbus-broker.service system.slice basic.target systemd-journald.socket", "AllowIsolate": "no", "AssertResult": "no", "AssertTimestampMonotonic": "0", "Before": "shutdown.target", "BlockIOAccounting": "no", "BlockIOWeight": "[not set]", "BusName": "org.fedorahosted.certmonger", "CPUAccounting": "yes", "CPUAffinityFromNUMA": "no", "CPUQuotaPerSecUSec": "infinity", "CPUQuotaPeriodUSec": "infinity", "CPUSchedulingPolicy": "0", "CPUSchedulingPriority": "0", "CPUSchedulingResetOnFork": "no", "CPUShares": "[not set]", "CPUUsageNSec": "[not set]", "CPUWeight": "[not set]", "CacheDirectoryMode": "0755", "CanFreeze": "yes", "CanIsolate": "no", "CanReload": "no", "CanStart": "yes", "CanStop": "yes", "CapabilityBoundingSet": "cap_chown cap_dac_override cap_dac_read_search cap_fowner cap_fsetid cap_kill cap_setgid cap_setuid cap_setpcap cap_linux_immutable cap_net_bind_service cap_net_broadcast cap_net_admin cap_net_raw cap_ipc_lock cap_ipc_owner cap_sys_module cap_sys_rawio cap_sys_chroot cap_sys_ptrace cap_sys_pacct cap_sys_admin cap_sys_boot cap_sys_nice cap_sys_resource cap_sys_time cap_sys_tty_config cap_mknod cap_lease cap_audit_write cap_audit_control cap_setfcap cap_mac_override cap_mac_admin cap_syslog cap_wake_alarm cap_block_suspend cap_audit_read cap_perfmon cap_bpf cap_checkpoint_restore", "CleanResult": "success", "CollectMode": "inactive", "ConditionResult": "no", "ConditionTimestampMonotonic": "0", "ConfigurationDirectoryMode": "0755", "Conflicts": "shutdown.target", "ControlPID": "0", "CoredumpFilter": "0x33", "DefaultDependencies": "yes", "DefaultMemoryLow": "0", "DefaultMemoryMin": "0", "Delegate": "no", "Description": "Certificate monitoring and PKI enrollment", "DevicePolicy": "auto", "DynamicUser": "no", "EnvironmentFiles": "/etc/sysconfig/certmonger (ignore_errors=yes)", "ExecMainCode": "0", "ExecMainExitTimestampMonotonic": "0", "ExecMainPID": "0", "ExecMainStartTimestampMonotonic": "0", "ExecMainStatus": "0", "ExecStart": "{ path=/usr/sbin/certmonger ; argv[]=/usr/sbin/certmonger -S -p /run/certmonger.pid -n $OPTS ; ignore_errors=no ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }", "ExecStartEx": "{ path=/usr/sbin/certmonger ; argv[]=/usr/sbin/certmonger -S -p /run/certmonger.pid -n $OPTS ; flags= ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }", "ExitType": "main", "FailureAction": "none", "FileDescriptorStoreMax": "0", "FinalKillSignal": "9", "FragmentPath": "/usr/lib/systemd/system/certmonger.service", "FreezerState": "running", "GID": "[not set]", "GuessMainPID": "yes", "IOAccounting": "no", "IOReadBytes": "18446744073709551615", "IOReadOperations": "18446744073709551615", "IOSchedulingClass": "2", "IOSchedulingPriority": "4", "IOWeight": "[not set]", "IOWriteBytes": "18446744073709551615", "IOWriteOperations": "18446744073709551615", "IPAccounting": "no", "IPEgressBytes": "[no data]", "IPEgressPackets": "[no data]", "IPIngressBytes": "[no data]", "IPIngressPackets": "[no data]", "Id": "certmonger.service", "IgnoreOnIsolate": "no", "IgnoreSIGPIPE": "yes", "InactiveEnterTimestampMonotonic": "0", "InactiveExitTimestampMonotonic": "0", "JobRunningTimeoutUSec": "infinity", "JobTimeoutAction": "none", "JobTimeoutUSec": "infinity", "KeyringMode": "private", "KillMode": "control-group", "KillSignal": "15", "LimitAS": "infinity", "LimitASSoft": "infinity", "LimitCORE": "infinity", "LimitCORESoft": "0", "LimitCPU": "infinity", "LimitCPUSoft": "infinity", "LimitDATA": "infinity", "LimitDATASoft": "infinity", "LimitFSIZE": "infinity", "LimitFSIZESoft": "infinity", "LimitLOCKS": "infinity", "LimitLOCKSSoft": "infinity", "LimitMEMLOCK": "65536", "LimitMEMLOCKSoft": "65536", "LimitMSGQUEUE": "819200", "LimitMSGQUEUESoft": "819200", "LimitNICE": "0", "LimitNICESoft": "0", "LimitNOFILE": "524288", "LimitNOFILESoft": "1024", "LimitNPROC": "13959", "LimitNPROCSoft": "13959", "LimitRSS": "infinity", "LimitRSSSoft": "infinity", "LimitRTPRIO": "0", "LimitRTPRIOSoft": "0", "LimitRTTIME": "infinity", "LimitRTTIMESoft": "infinity", "LimitSIGPENDING": "13959", "LimitSIGPENDINGSoft": "13959", "LimitSTACK": "infinity", "LimitSTACKSoft": "8388608", "LoadState": "loaded", "LockPersonality": "no", "LogLevelMax": "-1", "LogRateLimitBurst": "0", "LogRateLimitIntervalUSec": "0", "LogsDirectoryMode": "0755", "MainPID": "0", "ManagedOOMMemoryPressure": "auto", "ManagedOOMMemoryPressureLimit": "0", "ManagedOOMPreference": "none", "ManagedOOMSwap": "auto", "MemoryAccounting": "yes", "MemoryAvailable": "infinity", "MemoryCurrent": "[not set]", "MemoryDenyWriteExecute": "no", "MemoryHigh": "infinity", "MemoryLimit": "infinity", "MemoryLow": "0", "MemoryMax": "infinity", "MemoryMin": "0", "MemorySwapMax": "infinity", "MountAPIVFS": "no", "NFileDescriptorStore": "0", "NRestarts": "0", "NUMAPolicy": "n/a", "Names": "certmonger.service", "NeedDaemonReload": "no", "Nice": "0", "NoNewPrivileges": "no", "NonBlocking": "no", "NotifyAccess": "none", "OOMPolicy": "stop", "OOMScoreAdjust": "0", "OnFailureJobMode": "replace", "OnSuccessJobMode": "fail", "PIDFile": "/run/certmonger.pid", "PartOf": "dbus-broker.service", "Perpetual": "no", "PrivateDevices": "no", "PrivateIPC": "no", "PrivateMounts": "no", "PrivateNetwork": "no", "PrivateTmp": "no", "PrivateUsers": "no", "ProcSubset": "all", "ProtectClock": "no", "ProtectControlGroups": "no", "ProtectHome": "no", "ProtectHostname": "no", "ProtectKernelLogs": "no", "ProtectKernelModules": "no", "ProtectKernelTunables": "no", "ProtectProc": "default", "ProtectSystem": "no", "RefuseManualStart": "no", "RefuseManualStop": "no", "ReloadResult": "success", "RemainAfterExit": "no", "RemoveIPC": "no", "Requires": "dbus.socket sysinit.target system.slice", "Restart": "no", "RestartKillSignal": "15", "RestartUSec": "100ms", "RestrictNamespaces": "no", "RestrictRealtime": "no", "RestrictSUIDSGID": "no", "Result": "success", "RootDirectoryStartOnly": "no", "RuntimeDirectoryMode": "0755", "RuntimeDirectoryPreserve": "no", "RuntimeMaxUSec": "infinity", "RuntimeRandomizedExtraUSec": "0", "SameProcessGroup": "no", "SecureBits": "0", "SendSIGHUP": "no", "SendSIGKILL": "yes", "Slice": "system.slice", "StandardError": "inherit", "StandardInput": "null", "StandardOutput": "journal", "StartLimitAction": "none", "StartLimitBurst": "5", "StartLimitIntervalUSec": "10s", "StartupBlockIOWeight": "[not set]", "StartupCPUShares": "[not set]", "StartupCPUWeight": "[not set]", "StartupIOWeight": "[not set]", "StateChangeTimestampMonotonic": "0", "StateDirectoryMode": "0755", "StatusErrno": "0", "StopWhenUnneeded": "no", "SubState": "dead", "SuccessAction": "none", "SyslogFacility": "3", "SyslogLevel": "6", "SyslogLevelPrefix": "yes", "SyslogPriority": "30", "SystemCallErrorNumber": "2147483646", "TTYReset": "no", "TTYVHangup": "no", "TTYVTDisallocate": "no", "TasksAccounting": "yes", "TasksCurrent": "[not set]", "TasksMax": "22334", "TimeoutAbortUSec": "1min 30s", "TimeoutCleanUSec": "infinity", "TimeoutStartFailureMode": "terminate", "TimeoutStartUSec": "1min 30s", "TimeoutStopFailureMode": "terminate", "TimeoutStopUSec": "1min 30s", "TimerSlackNSec": "50000", "Transient": "no", "Type": "dbus", "UID": "[not set]", "UMask": "0022", "UnitFilePreset": "disabled", "UnitFileState": "disabled", "UtmpMode": "init", "WatchdogSignal": "6", "WatchdogTimestampMonotonic": "0", "WatchdogUSec": "infinity" } } TASK [linux-system-roles.certificate : Ensure certificate requests] ************ Thursday 18 August 2022 22:01:23 +0000 (0:00:01.099) 0:00:12.333 ******* changed: [sut] => (item={'name': 'mycert_fs_attrs', 'dns': 'www.example.com', 'owner': 'ftp', 'group': 'ftp', 'ca': 'self-sign'}) => { "ansible_loop_var": "item", "changed": true, "item": { "ca": "self-sign", "dns": "www.example.com", "group": "ftp", "name": "mycert_fs_attrs", "owner": "ftp" } } MSG: Certificate requested (new). File attributes updated. changed: [sut] => (item={'name': 'certid', 'dns': 'www.example.com', 'owner': 1040, 'group': 1041, 'ca': 'self-sign'}) => { "ansible_loop_var": "item", "changed": true, "item": { "ca": "self-sign", "dns": "www.example.com", "group": 1041, "name": "certid", "owner": 1040 } } MSG: Certificate requested (new). File attributes updated. PLAY [Verify certificate] ****************************************************** TASK [Gathering Facts] ********************************************************* Thursday 18 August 2022 22:01:26 +0000 (0:00:03.189) 0:00:15.523 ******* ok: [sut] TASK [Verify each certificate] ************************************************* Thursday 18 August 2022 22:01:27 +0000 (0:00:00.704) 0:00:16.228 ******* included: /WORKDIR/dist-git-certificate-use_distro_python_cryptography-GEkvSr/tests/tasks/assert_certificate_parameters.yml for sut => (item={'path': '/etc/pki/tls/certs/mycert_fs_attrs.crt', 'key_path': '/etc/pki/tls/private/mycert_fs_attrs.key', 'subject': [{'name': 'commonName', 'oid': '2.5.4.3', 'value': 'www.example.com'}], 'subject_alt_name': [{'name': 'DNS', 'value': 'www.example.com'}], 'owner': 'ftp', 'group': 'ftp', 'mode': '0640'}) included: /WORKDIR/dist-git-certificate-use_distro_python_cryptography-GEkvSr/tests/tasks/assert_certificate_parameters.yml for sut => (item={'path': '/etc/pki/tls/certs/certid.crt', 'key_path': '/etc/pki/tls/private/certid.key', 'subject': [{'name': 'commonName', 'oid': '2.5.4.3', 'value': 'www.example.com'}], 'subject_alt_name': [{'name': 'DNS', 'value': 'www.example.com'}], 'owner': 1040, 'group': 1041, 'mode': '0640'}) TASK [Set virtualenv_path] ***************************************************** Thursday 18 August 2022 22:01:27 +0000 (0:00:00.068) 0:00:16.296 ******* ok: [sut] => { "ansible_facts": { "__virtualenv_path": "/tmp/certificate-tests-venv" }, "changed": false } TASK [Ensure python3 is installed] ********************************************* Thursday 18 August 2022 22:01:27 +0000 (0:00:00.072) 0:00:16.368 ******* ok: [sut] => { "changed": false, "rc": 0, "results": [] } MSG: Nothing to do TASK [Install the package, force upgrade] ************************************** Thursday 18 August 2022 22:01:28 +0000 (0:00:01.011) 0:00:17.380 ******* changed: [sut] => { "changed": true, "cmd": [ "/tmp/certificate-tests-venv/bin/pip3", "install", "-U", "pip" ], "name": [ "pip" ], "requirements": null, "state": "latest", "version": null, "virtualenv": "/tmp/certificate-tests-venv" } STDOUT: Requirement already satisfied: pip in ./certificate-tests-venv/lib/python3.9/site-packages (21.2.3) Collecting pip Downloading pip-22.2.2-py3-none-any.whl (2.0 MB) Installing collected packages: pip Attempting uninstall: pip Found existing installation: pip 21.2.3 Uninstalling pip-21.2.3: Successfully uninstalled pip-21.2.3 Successfully installed pip-22.2.2 TASK [Ensure Python's cryptography is installed] ******************************* Thursday 18 August 2022 22:01:35 +0000 (0:00:06.582) 0:00:23.962 ******* ok: [sut] => { "changed": false, "rc": 0, "results": [] } MSG: Nothing to do TASK [Install certreader] ****************************************************** Thursday 18 August 2022 22:01:36 +0000 (0:00:00.998) 0:00:24.961 ******* changed: [sut] => { "changed": true, "cmd": [ "/tmp/certificate-tests-venv/bin/pip3", "install", "certreader>=0.1.1" ], "name": [ "certreader>=0.1.1" ], "requirements": null, "state": "present", "version": null, "virtualenv": "/tmp/certificate-tests-venv" } STDOUT: Collecting certreader>=0.1.1 Downloading certreader-0.1.1.tar.gz (4.4 kB) Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting cryptography Downloading cryptography-37.0.4-cp36-abi3-manylinux_2_24_x86_64.whl (4.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.1/4.1 MB 26.0 MB/s eta 0:00:00 Collecting pyasn1 Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 77.1/77.1 kB 14.7 MB/s eta 0:00:00 Collecting pyyaml Downloading PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (661 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 661.8/661.8 kB 41.4 MB/s eta 0:00:00 Collecting cffi>=1.12 Downloading cffi-1.15.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (441 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 441.2/441.2 kB 40.4 MB/s eta 0:00:00 Collecting pycparser Downloading pycparser-2.21-py2.py3-none-any.whl (118 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 118.7/118.7 kB 21.4 MB/s eta 0:00:00 Using legacy 'setup.py install' for certreader, since package 'wheel' is not installed. Installing collected packages: pyasn1, pyyaml, pycparser, cffi, cryptography, certreader Running setup.py install for certreader: started Running setup.py install for certreader: finished with status 'done' Successfully installed certreader-0.1.1 cffi-1.15.1 cryptography-37.0.4 pyasn1-0.4.8 pycparser-2.21 pyyaml-6.0 TASK [Retrieve certificate file stats] ***************************************** Thursday 18 August 2022 22:01:39 +0000 (0:00:03.564) 0:00:28.525 ******* ok: [sut] => { "changed": false, "stat": { "atime": 1660860085.6857455, "attr_flags": "", "attributes": [], "block_size": 4096, "blocks": 8, "charset": "us-ascii", "checksum": "02eda7e228397d899dec5d4206a3b1f68269f436", "ctime": 1660860085.7897446, "dev": 51716, "device_type": 0, "executable": false, "exists": true, "gid": 50, "gr_name": "ftp", "inode": 16812832, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mimetype": "text/plain", "mode": "0640", "mtime": 1660860085.6827455, "nlink": 1, "path": "/etc/pki/tls/certs/mycert_fs_attrs.crt", "pw_name": "ftp", "readable": true, "rgrp": true, "roth": false, "rusr": true, "size": 1294, "uid": 14, "version": "894983783", "wgrp": false, "woth": false, "writeable": true, "wusr": true, "xgrp": false, "xoth": false, "xusr": false } } TASK [Verify if certificate file exists] *************************************** Thursday 18 August 2022 22:01:40 +0000 (0:00:00.421) 0:00:28.946 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate file owner and group] ********************************* Thursday 18 August 2022 22:01:40 +0000 (0:00:00.049) 0:00:28.996 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate permissions] ****************************************** Thursday 18 August 2022 22:01:40 +0000 (0:00:00.073) 0:00:29.069 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Retrieve key file stats] ************************************************* Thursday 18 August 2022 22:01:40 +0000 (0:00:00.070) 0:00:29.140 ******* ok: [sut] => { "changed": false, "stat": { "atime": 1660860085.5247467, "attr_flags": "", "attributes": [], "block_size": 4096, "blocks": 8, "charset": "us-ascii", "checksum": "f6879679217ac680ecd352c934630addbda8b142", "ctime": 1660860085.7907445, "dev": 51716, "device_type": 0, "executable": false, "exists": true, "gid": 50, "gr_name": "ftp", "inode": 8401275, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mimetype": "text/plain", "mode": "0640", "mtime": 1660860085.6827455, "nlink": 1, "path": "/etc/pki/tls/private/mycert_fs_attrs.key", "pw_name": "ftp", "readable": true, "rgrp": true, "roth": false, "rusr": true, "size": 1704, "uid": 14, "version": "3743938296", "wgrp": false, "woth": false, "writeable": true, "wusr": true, "xgrp": false, "xoth": false, "xusr": false } } TASK [Verify if key file exists] *********************************************** Thursday 18 August 2022 22:01:40 +0000 (0:00:00.267) 0:00:29.407 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify key file owner and group] ***************************************** Thursday 18 August 2022 22:01:40 +0000 (0:00:00.049) 0:00:29.457 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Parse certificate] ******************************************************* Thursday 18 August 2022 22:01:40 +0000 (0:00:00.072) 0:00:29.529 ******* ok: [sut] => { "changed": false, "cmd": [ "/tmp/certificate-tests-venv/bin/certreader2json", "/etc/pki/tls/certs/mycert_fs_attrs.crt" ], "delta": "0:00:00.272684", "end": "2022-08-18 22:01:41.399637", "rc": 0, "start": "2022-08-18 22:01:41.126953" } STDOUT: { "subject": [ { "name": "commonName", "oid": "2.5.4.3", "value": "www.example.com" } ], "extensions": { "keyUsage": { "value": [ "digital_signature", "key_encipherment" ], "critical": false }, "subjectAltName": { "value": [ { "name": "DNS", "value": "www.example.com" } ], "critical": false }, "extendedKeyUsage": { "value": [ { "name": "id-kp-serverAuth", "oid": "1.3.6.1.5.5.7.3.1" }, { "name": "id-kp-clientAuth", "oid": "1.3.6.1.5.5.7.3.2" } ], "critical": false }, "basicConstraints": { "value": { "ca": false }, "critical": true }, "subjectKeyIdentifier": { "value": "33:19:20:77:39:4C:1D:6E:4D:C2:53:34:AC:F4:2F:B7:85:2C:22:83", "critical": false }, "authorityKeyIdentifier": { "value": "99:23:AC:91:0F:6E:2B:D2:C7:41:42:BD:96:21:9E:DB:11:89:DF:C2", "critical": false } }, "signature_algorithm": { "algorithm": "sha256WithRSAEncryption", "signature": "76:BA:1A:AB:43:18:B1:BA:AA:E7:CA:2E:DA:2C:87:52:01:4C:16:C8:A3:73:9C:3B:C4:DE:31:B2:EC:04:C9:68:25:40:A4:AB:8F:E8:6C:DE:C6:D7:A2:EB:BD:C7:36:AF:51:16:BD:4B:55:61:BF:7E:68:80:E1:F3:C3:E0:D4:72:6C:33:74:90:19:03:00:8A:67:C8:73:B7:79:D1:C2:53:15:39:59:54:27:7E:B4:97:37:72:4A:CB:91:9E:6C:6D:C6:1F:87:6B:FA:6B:01:EB:E6:ED:F7:4B:A7:81:A1:A6:C0:C7:C8:79:91:2F:90:52:7F:DE:7C:85:F0:AD:A5:C4:55:5A:1F:C9:F5:0A:B3:3B:70:E7:7B:40:CD:AE:FD:2D:50:DD:10:96:9F:6F:41:DC:17:CF:1D:28:31:95:7C:66:DE:E1:4D:9F:80:57:D9:97:8B:4A:2E:AD:8B:A6:E2:0C:58:43:4A:71:53:F1:FF:75:4B:D5:8F:58:10:2A:AB:02:44:62:D1:D5:2F:21:E8:4E:67:D0:C7:2F:6B:C9:C0:F5:51:F9:F1:78:94:F4:ED:FF:B3:98:34:E8:23:3B:B8:E1:9E:05:14:26:8F:B2:CA:47:2B:CC:9F:74:31:63:AE:51:40:BB:76:3A:0D:B2:BB:BF:01:CE:C7:61:C5:B9:5D:93" }, "key_size": 2048, "validity": { "not_valid_after": "2023-08-18 22:01:24", "not_valid_before": "2022-08-18 22:01:25" } } TASK [Load certificate YAML to cert_issued variable] *************************** Thursday 18 August 2022 22:01:41 +0000 (0:00:00.661) 0:00:30.190 ******* ok: [sut] => { "ansible_facts": { "cert_issued": { "extensions": { "authorityKeyIdentifier": { "critical": false, "value": "99:23:AC:91:0F:6E:2B:D2:C7:41:42:BD:96:21:9E:DB:11:89:DF:C2" }, "basicConstraints": { "critical": true, "value": { "ca": false } }, "extendedKeyUsage": { "critical": false, "value": [ { "name": "id-kp-serverAuth", "oid": "1.3.6.1.5.5.7.3.1" }, { "name": "id-kp-clientAuth", "oid": "1.3.6.1.5.5.7.3.2" } ] }, "keyUsage": { "critical": false, "value": [ "digital_signature", "key_encipherment" ] }, "subjectAltName": { "critical": false, "value": [ { "name": "DNS", "value": "www.example.com" } ] }, "subjectKeyIdentifier": { "critical": false, "value": "33:19:20:77:39:4C:1D:6E:4D:C2:53:34:AC:F4:2F:B7:85:2C:22:83" } }, "key_size": 2048, "signature_algorithm": { "algorithm": "sha256WithRSAEncryption", "signature": "76:BA:1A:AB:43:18:B1:BA:AA:E7:CA:2E:DA:2C:87:52:01:4C:16:C8:A3:73:9C:3B:C4:DE:31:B2:EC:04:C9:68:25:40:A4:AB:8F:E8:6C:DE:C6:D7:A2:EB:BD:C7:36:AF:51:16:BD:4B:55:61:BF:7E:68:80:E1:F3:C3:E0:D4:72:6C:33:74:90:19:03:00:8A:67:C8:73:B7:79:D1:C2:53:15:39:59:54:27:7E:B4:97:37:72:4A:CB:91:9E:6C:6D:C6:1F:87:6B:FA:6B:01:EB:E6:ED:F7:4B:A7:81:A1:A6:C0:C7:C8:79:91:2F:90:52:7F:DE:7C:85:F0:AD:A5:C4:55:5A:1F:C9:F5:0A:B3:3B:70:E7:7B:40:CD:AE:FD:2D:50:DD:10:96:9F:6F:41:DC:17:CF:1D:28:31:95:7C:66:DE:E1:4D:9F:80:57:D9:97:8B:4A:2E:AD:8B:A6:E2:0C:58:43:4A:71:53:F1:FF:75:4B:D5:8F:58:10:2A:AB:02:44:62:D1:D5:2F:21:E8:4E:67:D0:C7:2F:6B:C9:C0:F5:51:F9:F1:78:94:F4:ED:FF:B3:98:34:E8:23:3B:B8:E1:9E:05:14:26:8F:B2:CA:47:2B:CC:9F:74:31:63:AE:51:40:BB:76:3A:0D:B2:BB:BF:01:CE:C7:61:C5:B9:5D:93" }, "subject": [ { "name": "commonName", "oid": "2.5.4.3", "value": "www.example.com" } ], "validity": { "not_valid_after": "2023-08-18 22:01:24", "not_valid_before": "2022-08-18 22:01:25" } } }, "changed": false } TASK [Verify certificate subject] ********************************************** Thursday 18 August 2022 22:01:41 +0000 (0:00:00.064) 0:00:30.255 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate SAN] ************************************************** Thursday 18 August 2022 22:01:41 +0000 (0:00:00.070) 0:00:30.325 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify key size] ********************************************************* Thursday 18 August 2022 22:01:41 +0000 (0:00:00.051) 0:00:30.377 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate Key Usage] ******************************************** Thursday 18 August 2022 22:01:41 +0000 (0:00:00.069) 0:00:30.446 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate Extended Key Usage] *********************************** Thursday 18 August 2022 22:01:41 +0000 (0:00:00.069) 0:00:30.516 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Retrieve auto-renew flag] ************************************************ Thursday 18 August 2022 22:01:41 +0000 (0:00:00.069) 0:00:30.586 ******* ok: [sut] => { "changed": false, "cmd": "set -euo pipefail; getcert list -f /etc/pki/tls/certs/mycert_fs_attrs.crt | grep 'auto-renew' | sed 's/^\\s\\+auto-renew: //g'", "delta": "0:00:00.057104", "end": "2022-08-18 22:01:42.105132", "rc": 0, "start": "2022-08-18 22:01:42.048028" } STDOUT: yes TASK [Verify certificate auto-renew flag] ************************************** Thursday 18 August 2022 22:01:42 +0000 (0:00:00.309) 0:00:30.895 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Set virtualenv_path] ***************************************************** Thursday 18 August 2022 22:01:42 +0000 (0:00:00.069) 0:00:30.965 ******* ok: [sut] => { "ansible_facts": { "__virtualenv_path": "/tmp/certificate-tests-venv" }, "changed": false } TASK [Ensure python3 is installed] ********************************************* Thursday 18 August 2022 22:01:42 +0000 (0:00:00.041) 0:00:31.007 ******* ok: [sut] => { "changed": false, "rc": 0, "results": [] } MSG: Nothing to do TASK [Install the package, force upgrade] ************************************** Thursday 18 August 2022 22:01:43 +0000 (0:00:01.012) 0:00:32.020 ******* ok: [sut] => { "changed": false, "cmd": [ "/tmp/certificate-tests-venv/bin/pip3", "install", "-U", "pip" ], "name": [ "pip" ], "requirements": null, "state": "latest", "version": null, "virtualenv": "/tmp/certificate-tests-venv" } STDOUT: Requirement already satisfied: pip in ./certificate-tests-venv/lib/python3.9/site-packages (22.2.2) TASK [Ensure Python's cryptography is installed] ******************************* Thursday 18 August 2022 22:01:44 +0000 (0:00:01.081) 0:00:33.101 ******* ok: [sut] => { "changed": false, "rc": 0, "results": [] } MSG: Nothing to do TASK [Install certreader] ****************************************************** Thursday 18 August 2022 22:01:45 +0000 (0:00:01.021) 0:00:34.123 ******* ok: [sut] => { "changed": false, "cmd": [ "/tmp/certificate-tests-venv/bin/pip3", "install", "certreader>=0.1.1" ], "name": [ "certreader>=0.1.1" ], "requirements": null, "state": "present", "version": null, "virtualenv": "/tmp/certificate-tests-venv" } STDOUT: Requirement already satisfied: certreader>=0.1.1 in ./certificate-tests-venv/lib/python3.9/site-packages (0.1.1) Requirement already satisfied: cryptography in ./certificate-tests-venv/lib/python3.9/site-packages (from certreader>=0.1.1) (37.0.4) Requirement already satisfied: pyasn1 in ./certificate-tests-venv/lib/python3.9/site-packages (from certreader>=0.1.1) (0.4.8) Requirement already satisfied: pyyaml in ./certificate-tests-venv/lib/python3.9/site-packages (from certreader>=0.1.1) (6.0) Requirement already satisfied: cffi>=1.12 in ./certificate-tests-venv/lib/python3.9/site-packages (from cryptography->certreader>=0.1.1) (1.15.1) Requirement already satisfied: pycparser in ./certificate-tests-venv/lib/python3.9/site-packages (from cffi>=1.12->cryptography->certreader>=0.1.1) (2.21) TASK [Retrieve certificate file stats] ***************************************** Thursday 18 August 2022 22:01:46 +0000 (0:00:00.889) 0:00:35.013 ******* ok: [sut] => { "changed": false, "stat": { "atime": 1660860086.5617387, "attr_flags": "", "attributes": [], "block_size": 4096, "blocks": 8, "charset": "us-ascii", "checksum": "ab29a41ef30fd8b4a81073c4a4988e36438cf4cf", "ctime": 1660860086.6857378, "dev": 51716, "device_type": 0, "executable": false, "exists": true, "gid": 1041, "gr_name": "somegroup", "inode": 16812843, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mimetype": "text/plain", "mode": "0640", "mtime": 1660860086.558739, "nlink": 1, "path": "/etc/pki/tls/certs/certid.crt", "pw_name": "user1", "readable": true, "rgrp": true, "roth": false, "rusr": true, "size": 1294, "uid": 1040, "version": "3040225234", "wgrp": false, "woth": false, "writeable": true, "wusr": true, "xgrp": false, "xoth": false, "xusr": false } } TASK [Verify if certificate file exists] *************************************** Thursday 18 August 2022 22:01:46 +0000 (0:00:00.261) 0:00:35.274 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate file owner and group] ********************************* Thursday 18 August 2022 22:01:46 +0000 (0:00:00.050) 0:00:35.325 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate permissions] ****************************************** Thursday 18 August 2022 22:01:46 +0000 (0:00:00.073) 0:00:35.399 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Retrieve key file stats] ************************************************* Thursday 18 August 2022 22:01:46 +0000 (0:00:00.070) 0:00:35.469 ******* ok: [sut] => { "changed": false, "stat": { "atime": 1660860086.4857395, "attr_flags": "", "attributes": [], "block_size": 4096, "blocks": 8, "charset": "us-ascii", "checksum": "035700439b8a96d6a084620fd271f7ceacaa7ca4", "ctime": 1660860086.6867378, "dev": 51716, "device_type": 0, "executable": false, "exists": true, "gid": 1041, "gr_name": "somegroup", "inode": 8401324, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mimetype": "text/plain", "mode": "0640", "mtime": 1660860086.558739, "nlink": 1, "path": "/etc/pki/tls/private/certid.key", "pw_name": "user1", "readable": true, "rgrp": true, "roth": false, "rusr": true, "size": 1704, "uid": 1040, "version": "1965190489", "wgrp": false, "woth": false, "writeable": true, "wusr": true, "xgrp": false, "xoth": false, "xusr": false } } TASK [Verify if key file exists] *********************************************** Thursday 18 August 2022 22:01:46 +0000 (0:00:00.266) 0:00:35.736 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify key file owner and group] ***************************************** Thursday 18 August 2022 22:01:47 +0000 (0:00:00.052) 0:00:35.788 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Parse certificate] ******************************************************* Thursday 18 August 2022 22:01:47 +0000 (0:00:00.072) 0:00:35.861 ******* ok: [sut] => { "changed": false, "cmd": [ "/tmp/certificate-tests-venv/bin/certreader2json", "/etc/pki/tls/certs/certid.crt" ], "delta": "0:00:00.270367", "end": "2022-08-18 22:01:47.595058", "rc": 0, "start": "2022-08-18 22:01:47.324691" } STDOUT: { "subject": [ { "name": "commonName", "oid": "2.5.4.3", "value": "www.example.com" } ], "extensions": { "keyUsage": { "value": [ "digital_signature", "key_encipherment" ], "critical": false }, "subjectAltName": { "value": [ { "name": "DNS", "value": "www.example.com" } ], "critical": false }, "extendedKeyUsage": { "value": [ { "name": "id-kp-serverAuth", "oid": "1.3.6.1.5.5.7.3.1" }, { "name": "id-kp-clientAuth", "oid": "1.3.6.1.5.5.7.3.2" } ], "critical": false }, "basicConstraints": { "value": { "ca": false }, "critical": true }, "subjectKeyIdentifier": { "value": "A7:38:61:8D:88:8D:AE:B8:04:9A:17:D2:3C:78:48:23:89:6C:6A:84", "critical": false }, "authorityKeyIdentifier": { "value": "99:23:AC:91:0F:6E:2B:D2:C7:41:42:BD:96:21:9E:DB:11:89:DF:C2", "critical": false } }, "signature_algorithm": { "algorithm": "sha256WithRSAEncryption", "signature": "4B:8F:6C:18:A7:77:BB:5A:68:FE:6E:0C:CF:D1:A8:DA:9A:98:1A:33:59:2E:97:40:77:DD:5F:84:EE:22:00:BF:E5:6C:31:6C:B0:B1:48:C5:38:D6:43:1D:D3:D5:3D:0D:00:2D:3D:03:74:45:22:16:B7:7A:4C:7D:39:AA:B8:88:CE:B9:0D:0A:3B:15:0A:EB:38:82:D6:D8:35:69:6B:74:C2:CC:75:F8:44:AD:13:EC:AC:48:07:5B:97:F9:AE:7A:F1:CF:C6:F2:5F:DA:9A:B9:81:F0:F2:D5:AB:31:7F:39:17:FE:66:6B:09:70:C4:DC:27:D6:B7:F6:39:F9:10:71:0B:0D:29:2A:89:C9:BF:32:C5:97:42:66:DD:FB:13:50:BF:90:C1:F4:46:8F:32:45:55:0B:B6:6E:F5:F1:26:AD:2F:37:F8:EE:61:F1:3C:D9:C4:94:90:18:A0:EC:AB:D6:66:9F:2C:FE:45:CD:F7:7D:4F:D4:F7:09:4A:C2:0D:EF:47:C0:9C:FB:88:27:B8:A3:C0:74:93:F8:FB:DA:C7:63:62:45:28:08:F2:CE:34:08:66:B6:B2:4D:DC:42:6A:D4:36:F1:DA:9A:34:8C:78:20:27:D3:44:55:A0:43:C8:3B:9E:D1:CF:68:A5:73:AB:D1:AE:46:7F:74:4E:FE:CB:16" }, "key_size": 2048, "validity": { "not_valid_after": "2023-08-18 22:01:24", "not_valid_before": "2022-08-18 22:01:26" } } TASK [Load certificate YAML to cert_issued variable] *************************** Thursday 18 August 2022 22:01:47 +0000 (0:00:00.524) 0:00:36.385 ******* ok: [sut] => { "ansible_facts": { "cert_issued": { "extensions": { "authorityKeyIdentifier": { "critical": false, "value": "99:23:AC:91:0F:6E:2B:D2:C7:41:42:BD:96:21:9E:DB:11:89:DF:C2" }, "basicConstraints": { "critical": true, "value": { "ca": false } }, "extendedKeyUsage": { "critical": false, "value": [ { "name": "id-kp-serverAuth", "oid": "1.3.6.1.5.5.7.3.1" }, { "name": "id-kp-clientAuth", "oid": "1.3.6.1.5.5.7.3.2" } ] }, "keyUsage": { "critical": false, "value": [ "digital_signature", "key_encipherment" ] }, "subjectAltName": { "critical": false, "value": [ { "name": "DNS", "value": "www.example.com" } ] }, "subjectKeyIdentifier": { "critical": false, "value": "A7:38:61:8D:88:8D:AE:B8:04:9A:17:D2:3C:78:48:23:89:6C:6A:84" } }, "key_size": 2048, "signature_algorithm": { "algorithm": "sha256WithRSAEncryption", "signature": "4B:8F:6C:18:A7:77:BB:5A:68:FE:6E:0C:CF:D1:A8:DA:9A:98:1A:33:59:2E:97:40:77:DD:5F:84:EE:22:00:BF:E5:6C:31:6C:B0:B1:48:C5:38:D6:43:1D:D3:D5:3D:0D:00:2D:3D:03:74:45:22:16:B7:7A:4C:7D:39:AA:B8:88:CE:B9:0D:0A:3B:15:0A:EB:38:82:D6:D8:35:69:6B:74:C2:CC:75:F8:44:AD:13:EC:AC:48:07:5B:97:F9:AE:7A:F1:CF:C6:F2:5F:DA:9A:B9:81:F0:F2:D5:AB:31:7F:39:17:FE:66:6B:09:70:C4:DC:27:D6:B7:F6:39:F9:10:71:0B:0D:29:2A:89:C9:BF:32:C5:97:42:66:DD:FB:13:50:BF:90:C1:F4:46:8F:32:45:55:0B:B6:6E:F5:F1:26:AD:2F:37:F8:EE:61:F1:3C:D9:C4:94:90:18:A0:EC:AB:D6:66:9F:2C:FE:45:CD:F7:7D:4F:D4:F7:09:4A:C2:0D:EF:47:C0:9C:FB:88:27:B8:A3:C0:74:93:F8:FB:DA:C7:63:62:45:28:08:F2:CE:34:08:66:B6:B2:4D:DC:42:6A:D4:36:F1:DA:9A:34:8C:78:20:27:D3:44:55:A0:43:C8:3B:9E:D1:CF:68:A5:73:AB:D1:AE:46:7F:74:4E:FE:CB:16" }, "subject": [ { "name": "commonName", "oid": "2.5.4.3", "value": "www.example.com" } ], "validity": { "not_valid_after": "2023-08-18 22:01:24", "not_valid_before": "2022-08-18 22:01:26" } } }, "changed": false } TASK [Verify certificate subject] ********************************************** Thursday 18 August 2022 22:01:47 +0000 (0:00:00.065) 0:00:36.450 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate SAN] ************************************************** Thursday 18 August 2022 22:01:47 +0000 (0:00:00.068) 0:00:36.519 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify key size] ********************************************************* Thursday 18 August 2022 22:01:47 +0000 (0:00:00.048) 0:00:36.567 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate Key Usage] ******************************************** Thursday 18 August 2022 22:01:47 +0000 (0:00:00.067) 0:00:36.635 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate Extended Key Usage] *********************************** Thursday 18 August 2022 22:01:47 +0000 (0:00:00.069) 0:00:36.705 ******* ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Retrieve auto-renew flag] ************************************************ Thursday 18 August 2022 22:01:48 +0000 (0:00:00.069) 0:00:36.774 ******* ok: [sut] => { "changed": false, "cmd": "set -euo pipefail; getcert list -f /etc/pki/tls/certs/certid.crt | grep 'auto-renew' | sed 's/^\\s\\+auto-renew: //g'", "delta": "0:00:00.056621", "end": "2022-08-18 22:01:48.293486", "rc": 0, "start": "2022-08-18 22:01:48.236865" } STDOUT: yes TASK [Verify certificate auto-renew flag] ************************************** Thursday 18 August 2022 22:01:48 +0000 (0:00:00.308) 0:00:37.082 ******* ok: [sut] => { "changed": false } MSG: All assertions passed PLAY RECAP ********************************************************************* sut : ok=57 changed=10 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0 Thursday 18 August 2022 22:01:48 +0000 (0:00:00.079) 0:00:37.162 ******* =============================================================================== Install the package, force upgrade -------------------------------------- 6.58s linux-system-roles.certificate : Ensure provider packages are installed --- 3.69s Install certreader ------------------------------------------------------ 3.56s linux-system-roles.certificate : Ensure certificate role dependencies are installed --- 3.24s linux-system-roles.certificate : Ensure certificate requests ------------ 3.19s Gathering Facts --------------------------------------------------------- 1.15s linux-system-roles.certificate : Ensure provider service is running ----- 1.10s Install the package, force upgrade -------------------------------------- 1.08s Ensure Python's cryptography is installed ------------------------------- 1.02s Ensure python3 is installed --------------------------------------------- 1.01s Ensure python3 is installed --------------------------------------------- 1.01s Ensure Python's cryptography is installed ------------------------------- 1.00s Install certreader ------------------------------------------------------ 0.89s Gathering Facts --------------------------------------------------------- 0.73s Gathering Facts --------------------------------------------------------- 0.70s Parse certificate ------------------------------------------------------- 0.66s Ensure user exists ------------------------------------------------------ 0.62s Parse certificate ------------------------------------------------------- 0.52s Ensure group "somegroup" exists ----------------------------------------- 0.50s linux-system-roles.certificate : Ensure pre-scripts hooks directory exists --- 0.45s ---^---^---^---^---^--- # STDERR: ---v---v---v---v---v--- [DEPRECATION WARNING]: [defaults]callback_whitelist option, normalizing names to new standard, use callbacks_enabled instead. This feature will be removed from ansible-core in version 2.15. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg. ---^---^---^---^---^---