# 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_many_self_signed.yml ******************************************* 2 plays in /WORKDIR/git-weekly-ciwa8bkj3c/tests/tests_many_self_signed.yml PLAY [Issue many self-signed certificates] ************************************* TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tests_many_self_signed.yml:2 Saturday 09 December 2023 13:16:28 +0000 (0:00:00.013) 0:00:00.013 ***** ok: [sut] META: ran handlers TASK [linux-system-roles.certificate : Set version specific variables] ********* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/main.yml:2 Saturday 09 December 2023 13:16:28 +0000 (0:00:00.644) 0:00:00.658 ***** included: /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/set_vars.yml for sut TASK [linux-system-roles.certificate : Ensure ansible_facts used by role] ****** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/set_vars.yml:2 Saturday 09 December 2023 13:16:28 +0000 (0:00:00.011) 0:00:00.670 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.certificate : Check if system is ostree] ************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/set_vars.yml:11 Saturday 09 December 2023 13:16:28 +0000 (0:00:00.019) 0:00:00.690 ***** ok: [sut] => { "changed": false, "stat": { "exists": false } } TASK [linux-system-roles.certificate : Set flag to indicate system is ostree] *** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/set_vars.yml:16 Saturday 09 December 2023 13:16:29 +0000 (0:00:00.260) 0:00:00.950 ***** ok: [sut] => { "ansible_facts": { "__certificate_is_ostree": false }, "changed": false } TASK [linux-system-roles.certificate : Set platform/version specific variables] *** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/set_vars.yml:20 Saturday 09 December 2023 13:16:29 +0000 (0:00:00.020) 0:00:00.970 ***** 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.4.yml) => { "ansible_loop_var": "item", "changed": false, "item": "RedHat_9.4.yml", "skip_reason": "Conditional result was False" } TASK [linux-system-roles.certificate : Ensure certificate role dependencies are installed] *** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/main.yml:5 Saturday 09 December 2023 13:16:29 +0000 (0:00:00.029) 0:00:00.999 ***** changed: [sut] => { "changed": true, "rc": 0, "results": [ "Installed: python3-pyasn1-0.4.8-6.el9.noarch", "Installed: python3-cffi-1.14.5-5.el9.x86_64", "Installed: python3-cryptography-36.0.1-4.el9.x86_64", "Installed: python3-ply-3.11-14.el9.noarch", "Installed: python3-pycparser-2.20-6.el9.noarch" ] } lsrpackages: python3-cryptography python3-dbus python3-pyasn1 TASK [linux-system-roles.certificate : Ensure provider packages are installed] *** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/main.yml:24 Saturday 09 December 2023 13:16:32 +0000 (0:00:02.999) 0:00:03.999 ***** changed: [sut] => (item=certmonger) => { "__certificate_provider": "certmonger", "ansible_loop_var": "__certificate_provider", "changed": true, "rc": 0, "results": [ "Installed: certmonger-0.79.17-1.el9.x86_64" ] } lsrpackages: certmonger TASK [linux-system-roles.certificate : Ensure pre-scripts hooks directory exists] *** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/main.yml:37 Saturday 09 December 2023 13:16:34 +0000 (0:00:02.395) 0:00:06.394 ***** 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] *** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/main.yml:63 Saturday 09 December 2023 13:16:34 +0000 (0:00:00.314) 0:00:06.709 ***** 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] ***** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/main.yml:92 Saturday 09 December 2023 13:16:35 +0000 (0:00:00.207) 0:00:06.917 ***** changed: [sut] => (item=certmonger) => { "__certificate_provider": "certmonger", "ansible_loop_var": "__certificate_provider", "changed": true, "enabled": true, "name": "certmonger", "state": "started", "status": { "AccessSELinuxContext": "system_u:object_r:certmonger_unit_file_t:s0", "ActiveEnterTimestampMonotonic": "0", "ActiveExitTimestampMonotonic": "0", "ActiveState": "inactive", "After": "syslog.target dbus-broker.service dbus.socket system.slice basic.target sysinit.target systemd-journald.socket network.target", "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", "ControlGroupId": "0", "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": "8388608", "LimitMEMLOCKSoft": "8388608", "LimitMSGQUEUE": "819200", "LimitMSGQUEUESoft": "819200", "LimitNICE": "0", "LimitNICESoft": "0", "LimitNOFILE": "524288", "LimitNOFILESoft": "1024", "LimitNPROC": "13975", "LimitNPROCSoft": "13975", "LimitRSS": "infinity", "LimitRSSSoft": "infinity", "LimitRTPRIO": "0", "LimitRTPRIOSoft": "0", "LimitRTTIME": "infinity", "LimitRTTIMESoft": "infinity", "LimitSIGPENDING": "13975", "LimitSIGPENDINGSoft": "13975", "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": "sysinit.target system.slice dbus.socket", "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": "22360", "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] ************ task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/main.yml:104 Saturday 09 December 2023 13:16:35 +0000 (0:00:00.731) 0:00:07.648 ***** changed: [sut] => (item={'name': 'mycert_many_self_signed', 'dns': 'www.example.com', 'ca': 'self-sign'}) => { "ansible_loop_var": "item", "changed": true, "item": { "ca": "self-sign", "dns": "www.example.com", "name": "mycert_many_self_signed" } } MSG: Certificate requested (new). changed: [sut] => (item={'name': 'other-cert', 'dns': 'www.example.org', 'ca': 'self-sign'}) => { "ansible_loop_var": "item", "changed": true, "item": { "ca": "self-sign", "dns": "www.example.org", "name": "other-cert" } } MSG: Certificate requested (new). changed: [sut] => (item={'name': 'another-cert', 'dns': 'www.example.net', 'ca': 'self-sign'}) => { "ansible_loop_var": "item", "changed": true, "item": { "ca": "self-sign", "dns": "www.example.net", "name": "another-cert" } } MSG: Certificate requested (new). TASK [linux-system-roles.certificate : Slurp the contents of the files] ******** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/main.yml:156 Saturday 09 December 2023 13:16:38 +0000 (0:00:02.902) 0:00:10.551 ***** skipping: [sut] => (item=['cert', {'name': 'mycert_many_self_signed', 'dns': 'www.example.com', 'ca': 'self-sign'}]) => { "ansible_loop_var": "item", "changed": false, "item": [ "cert", { "ca": "self-sign", "dns": "www.example.com", "name": "mycert_many_self_signed" } ], "skip_reason": "Conditional result was False" } skipping: [sut] => (item=['cert', {'name': 'other-cert', 'dns': 'www.example.org', 'ca': 'self-sign'}]) => { "ansible_loop_var": "item", "changed": false, "item": [ "cert", { "ca": "self-sign", "dns": "www.example.org", "name": "other-cert" } ], "skip_reason": "Conditional result was False" } skipping: [sut] => (item=['cert', {'name': 'another-cert', 'dns': 'www.example.net', 'ca': 'self-sign'}]) => { "ansible_loop_var": "item", "changed": false, "item": [ "cert", { "ca": "self-sign", "dns": "www.example.net", "name": "another-cert" } ], "skip_reason": "Conditional result was False" } skipping: [sut] => (item=['key', {'name': 'mycert_many_self_signed', 'dns': 'www.example.com', 'ca': 'self-sign'}]) => { "ansible_loop_var": "item", "changed": false, "item": [ "key", { "ca": "self-sign", "dns": "www.example.com", "name": "mycert_many_self_signed" } ], "skip_reason": "Conditional result was False" } skipping: [sut] => (item=['key', {'name': 'other-cert', 'dns': 'www.example.org', 'ca': 'self-sign'}]) => { "ansible_loop_var": "item", "changed": false, "item": [ "key", { "ca": "self-sign", "dns": "www.example.org", "name": "other-cert" } ], "skip_reason": "Conditional result was False" } skipping: [sut] => (item=['key', {'name': 'another-cert', 'dns': 'www.example.net', 'ca': 'self-sign'}]) => { "ansible_loop_var": "item", "changed": false, "item": [ "key", { "ca": "self-sign", "dns": "www.example.net", "name": "another-cert" } ], "skip_reason": "Conditional result was False" } skipping: [sut] => (item=['ca', {'name': 'mycert_many_self_signed', 'dns': 'www.example.com', 'ca': 'self-sign'}]) => { "ansible_loop_var": "item", "changed": false, "item": [ "ca", { "ca": "self-sign", "dns": "www.example.com", "name": "mycert_many_self_signed" } ], "skip_reason": "Conditional result was False" } skipping: [sut] => (item=['ca', {'name': 'other-cert', 'dns': 'www.example.org', 'ca': 'self-sign'}]) => { "ansible_loop_var": "item", "changed": false, "item": [ "ca", { "ca": "self-sign", "dns": "www.example.org", "name": "other-cert" } ], "skip_reason": "Conditional result was False" } skipping: [sut] => (item=['ca', {'name': 'another-cert', 'dns': 'www.example.net', 'ca': 'self-sign'}]) => { "ansible_loop_var": "item", "changed": false, "item": [ "ca", { "ca": "self-sign", "dns": "www.example.net", "name": "another-cert" } ], "skip_reason": "Conditional result was False" } TASK [linux-system-roles.certificate : Create return data] ********************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/main.yml:168 Saturday 09 December 2023 13:16:38 +0000 (0:00:00.038) 0:00:10.589 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.certificate : Stop tracking certificates] ************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/main.yml:184 Saturday 09 December 2023 13:16:38 +0000 (0:00:00.016) 0:00:10.606 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [linux-system-roles.certificate : Remove files] *************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/main.yml:189 Saturday 09 December 2023 13:16:38 +0000 (0:00:00.017) 0:00:10.624 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } META: ran handlers META: ran handlers PLAY [Verify certificate] ****************************************************** TASK [Gathering Facts] ********************************************************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tests_many_self_signed.yml:18 Saturday 09 December 2023 13:16:38 +0000 (0:00:00.019) 0:00:10.643 ***** ok: [sut] META: ran handlers TASK [Verify each certificate] ************************************************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tests_many_self_signed.yml:50 Saturday 09 December 2023 13:16:39 +0000 (0:00:00.549) 0:00:11.193 ***** included: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml for sut included: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml for sut included: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml for sut TASK [Set virtualenv_path] ***************************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:2 Saturday 09 December 2023 13:16:39 +0000 (0:00:00.039) 0:00:11.232 ***** ok: [sut] => { "ansible_facts": { "__virtualenv_path": "/tmp/certificate-tests-venv" }, "changed": false } TASK [Check if system is ostree] *********************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:9 Saturday 09 December 2023 13:16:39 +0000 (0:00:00.008) 0:00:11.241 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Set flag to indicate system is ostree] *********************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:14 Saturday 09 December 2023 13:16:39 +0000 (0:00:00.016) 0:00:11.257 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Ensure python3 is installed] ********************************************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:18 Saturday 09 December 2023 13:16:39 +0000 (0:00:00.017) 0:00:11.275 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Ensure python3 is installed] ********************************************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:29 Saturday 09 December 2023 13:16:39 +0000 (0:00:00.017) 0:00:11.292 ***** ok: [sut] => { "changed": false, "rc": 0, "results": [] } MSG: Nothing to do lsrpackages: python3-cryptography python3-pyasn1 TASK [Retrieve certificate file stats] ***************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:40 Saturday 09 December 2023 13:16:40 +0000 (0:00:00.783) 0:00:12.076 ***** ok: [sut] => { "changed": false, "stat": { "atime": 1702127797.120787, "attr_flags": "", "attributes": [], "block_size": 4096, "blocks": 8, "charset": "us-ascii", "checksum": "8d2f185038f9cc9b7e3150e82f6877eae1bdaa2f", "ctime": 1702127797.1187868, "dev": 51716, "device_type": 0, "executable": false, "exists": true, "gid": 0, "gr_name": "root", "inode": 390682, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mimetype": "text/plain", "mode": "0600", "mtime": 1702127797.1187868, "nlink": 1, "path": "/etc/pki/tls/certs/mycert_many_self_signed.crt", "pw_name": "root", "readable": true, "rgrp": false, "roth": false, "rusr": true, "size": 1294, "uid": 0, "version": "2573576728", "wgrp": false, "woth": false, "writeable": true, "wusr": true, "xgrp": false, "xoth": false, "xusr": false } } TASK [Verify if certificate file exists] *************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:45 Saturday 09 December 2023 13:16:40 +0000 (0:00:00.202) 0:00:12.278 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate file owner and group] ********************************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:51 Saturday 09 December 2023 13:16:40 +0000 (0:00:00.019) 0:00:12.298 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate permissions] ****************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:63 Saturday 09 December 2023 13:16:40 +0000 (0:00:00.022) 0:00:12.320 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Retrieve key file stats] ************************************************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:69 Saturday 09 December 2023 13:16:40 +0000 (0:00:00.021) 0:00:12.342 ***** ok: [sut] => { "changed": false, "stat": { "atime": 1702127796.9797876, "attr_flags": "", "attributes": [], "block_size": 4096, "blocks": 8, "charset": "us-ascii", "checksum": "2c2906501f04d54cb01bf168d29acb0dec59adc2", "ctime": 1702127797.1187868, "dev": 51716, "device_type": 0, "executable": false, "exists": true, "gid": 0, "gr_name": "root", "inode": 17296348, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mimetype": "text/plain", "mode": "0600", "mtime": 1702127797.1187868, "nlink": 1, "path": "/etc/pki/tls/private/mycert_many_self_signed.key", "pw_name": "root", "readable": true, "rgrp": false, "roth": false, "rusr": true, "size": 1704, "uid": 0, "version": "26273317", "wgrp": false, "woth": false, "writeable": true, "wusr": true, "xgrp": false, "xoth": false, "xusr": false } } TASK [Verify if key file exists] *********************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:74 Saturday 09 December 2023 13:16:40 +0000 (0:00:00.199) 0:00:12.542 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify key file owner and group] ***************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:80 Saturday 09 December 2023 13:16:40 +0000 (0:00:00.019) 0:00:12.562 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Parse certificate] ******************************************************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:92 Saturday 09 December 2023 13:16:40 +0000 (0:00:00.020) 0:00:12.583 ***** ok: [sut] => { "certificate": { "extensions": { "authorityKeyIdentifier": { "critical": false, "value": "D0:F9:E2:EF:5B:E8:8E:B4:6D:23:BF:DB:5A:EE:99:B6:6A:4F:CE:0D" }, "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": "D4:8D:2D:21:E9:64:18:CF:93:93:05:B9:32:41:2E:C8:5F:F3:EE:9B" } }, "key_size": 2048, "signature_algorithm": { "algorithm": "sha256WithRSAEncryption", "signature": "AA:EE:0F:04:20:06:EE:23:0D:0E:F3:71:35:32:EC:79:6F:45:65:05:D9:1D:09:A2:7F:E9:A9:FE:8E:30:E3:25:25:05:00:84:98:CD:16:53:7B:ED:CA:DA:F2:CC:A4:04:F2:3E:1A:A3:99:9F:7C:7D:22:40:4A:1A:E5:13:6E:65:17:F8:AE:52:A0:99:C6:EF:16:96:E1:EE:04:73:7C:5E:87:6E:A9:20:2C:8C:6F:34:34:1E:62:45:FB:B3:AF:BB:9D:3A:82:B1:02:40:C8:6B:00:C6:FF:11:79:4A:4B:88:0A:07:3E:5B:81:51:CC:AB:BB:55:C5:A8:81:B3:7E:69:BB:7F:28:5D:9C:D1:D7:E7:F8:00:C5:36:7B:AD:B5:0E:E1:16:B7:02:10:05:F1:33:81:B7:6A:A3:29:3F:0A:6E:B5:07:D6:03:A9:1E:CF:4F:F7:0A:FC:5A:17:82:C1:F8:F5:06:5A:39:75:E3:DA:14:B4:67:04:AA:16:30:9A:EF:1A:F8:46:DD:7B:3A:0C:9E:FB:3E:95:E3:C5:ED:E7:2E:D5:59:C9:F9:E7:E0:63:FA:06:80:0F:AD:6F:32:A1:D9:8F:DA:1B:24:83:05:2C:D4:76:F4:3A:A2:CA:61:0E:61:15:E1:F2:3D:CD:2C:3C:66:29:D0:94:6D:BD:97:14:60" }, "subject": [ { "name": "commonName", "oid": "2.5.4.3", "value": "www.example.com" } ], "validity": { "not_valid_after": "20241209131636Z", "not_valid_before": "20231209131637Z" } }, "changed": false } TASK [Load certificate YAML to cert_issued variable] *************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:98 Saturday 09 December 2023 13:16:41 +0000 (0:00:00.321) 0:00:12.905 ***** ok: [sut] => { "ansible_facts": { "cert_issued": { "extensions": { "authorityKeyIdentifier": { "critical": false, "value": "D0:F9:E2:EF:5B:E8:8E:B4:6D:23:BF:DB:5A:EE:99:B6:6A:4F:CE:0D" }, "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": "D4:8D:2D:21:E9:64:18:CF:93:93:05:B9:32:41:2E:C8:5F:F3:EE:9B" } }, "key_size": 2048, "signature_algorithm": { "algorithm": "sha256WithRSAEncryption", "signature": "AA:EE:0F:04:20:06:EE:23:0D:0E:F3:71:35:32:EC:79:6F:45:65:05:D9:1D:09:A2:7F:E9:A9:FE:8E:30:E3:25:25:05:00:84:98:CD:16:53:7B:ED:CA:DA:F2:CC:A4:04:F2:3E:1A:A3:99:9F:7C:7D:22:40:4A:1A:E5:13:6E:65:17:F8:AE:52:A0:99:C6:EF:16:96:E1:EE:04:73:7C:5E:87:6E:A9:20:2C:8C:6F:34:34:1E:62:45:FB:B3:AF:BB:9D:3A:82:B1:02:40:C8:6B:00:C6:FF:11:79:4A:4B:88:0A:07:3E:5B:81:51:CC:AB:BB:55:C5:A8:81:B3:7E:69:BB:7F:28:5D:9C:D1:D7:E7:F8:00:C5:36:7B:AD:B5:0E:E1:16:B7:02:10:05:F1:33:81:B7:6A:A3:29:3F:0A:6E:B5:07:D6:03:A9:1E:CF:4F:F7:0A:FC:5A:17:82:C1:F8:F5:06:5A:39:75:E3:DA:14:B4:67:04:AA:16:30:9A:EF:1A:F8:46:DD:7B:3A:0C:9E:FB:3E:95:E3:C5:ED:E7:2E:D5:59:C9:F9:E7:E0:63:FA:06:80:0F:AD:6F:32:A1:D9:8F:DA:1B:24:83:05:2C:D4:76:F4:3A:A2:CA:61:0E:61:15:E1:F2:3D:CD:2C:3C:66:29:D0:94:6D:BD:97:14:60" }, "subject": [ { "name": "commonName", "oid": "2.5.4.3", "value": "www.example.com" } ], "validity": { "not_valid_after": "20241209131636Z", "not_valid_before": "20231209131637Z" } } }, "changed": false } TASK [Verify certificate subject] ********************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:102 Saturday 09 December 2023 13:16:41 +0000 (0:00:00.020) 0:00:12.925 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate SAN] ************************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:111 Saturday 09 December 2023 13:16:41 +0000 (0:00:00.023) 0:00:12.948 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify key size] ********************************************************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:120 Saturday 09 December 2023 13:16:41 +0000 (0:00:00.034) 0:00:12.983 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate Key Usage] ******************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:127 Saturday 09 December 2023 13:16:41 +0000 (0:00:00.029) 0:00:13.012 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate Extended Key Usage] *********************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:138 Saturday 09 December 2023 13:16:41 +0000 (0:00:00.024) 0:00:13.036 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Retrieve auto-renew flag] ************************************************ task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:151 Saturday 09 December 2023 13:16:41 +0000 (0:00:00.022) 0:00:13.059 ***** ok: [sut] => { "changed": false, "cmd": "set -euo pipefail; getcert list -f /etc/pki/tls/certs/mycert_many_self_signed.crt | grep 'auto-renew' | sed 's/^\\s\\+auto-renew: //g'", "delta": "0:00:00.048115", "end": "2023-12-09 13:16:41.605172", "rc": 0, "start": "2023-12-09 13:16:41.557057" } STDOUT: yes TASK [Verify certificate auto-renew flag] ************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:160 Saturday 09 December 2023 13:16:41 +0000 (0:00:00.305) 0:00:13.365 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Set virtualenv_path] ***************************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:2 Saturday 09 December 2023 13:16:41 +0000 (0:00:00.023) 0:00:13.388 ***** ok: [sut] => { "ansible_facts": { "__virtualenv_path": "/tmp/certificate-tests-venv" }, "changed": false } TASK [Check if system is ostree] *********************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:9 Saturday 09 December 2023 13:16:41 +0000 (0:00:00.013) 0:00:13.402 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Set flag to indicate system is ostree] *********************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:14 Saturday 09 December 2023 13:16:41 +0000 (0:00:00.018) 0:00:13.420 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Ensure python3 is installed] ********************************************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:18 Saturday 09 December 2023 13:16:41 +0000 (0:00:00.017) 0:00:13.437 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Ensure python3 is installed] ********************************************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:29 Saturday 09 December 2023 13:16:41 +0000 (0:00:00.017) 0:00:13.455 ***** ok: [sut] => { "changed": false, "rc": 0, "results": [] } MSG: Nothing to do lsrpackages: python3-cryptography python3-pyasn1 TASK [Retrieve certificate file stats] ***************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:40 Saturday 09 December 2023 13:16:42 +0000 (0:00:00.780) 0:00:14.236 ***** ok: [sut] => { "changed": false, "stat": { "atime": 1702127797.918782, "attr_flags": "", "attributes": [], "block_size": 4096, "blocks": 8, "charset": "us-ascii", "checksum": "aba9b66bba394e761a5a95708063b3497bc96466", "ctime": 1702127797.915782, "dev": 51716, "device_type": 0, "executable": false, "exists": true, "gid": 0, "gr_name": "root", "inode": 390702, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mimetype": "text/plain", "mode": "0600", "mtime": 1702127797.915782, "nlink": 1, "path": "/etc/pki/tls/certs/other-cert.crt", "pw_name": "root", "readable": true, "rgrp": false, "roth": false, "rusr": true, "size": 1294, "uid": 0, "version": "766951185", "wgrp": false, "woth": false, "writeable": true, "wusr": true, "xgrp": false, "xoth": false, "xusr": false } } TASK [Verify if certificate file exists] *************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:45 Saturday 09 December 2023 13:16:42 +0000 (0:00:00.210) 0:00:14.446 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate file owner and group] ********************************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:51 Saturday 09 December 2023 13:16:42 +0000 (0:00:00.018) 0:00:14.465 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate permissions] ****************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:63 Saturday 09 December 2023 13:16:42 +0000 (0:00:00.020) 0:00:14.486 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Retrieve key file stats] ************************************************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:69 Saturday 09 December 2023 13:16:42 +0000 (0:00:00.018) 0:00:14.504 ***** ok: [sut] => { "changed": false, "stat": { "atime": 1702127797.8607821, "attr_flags": "", "attributes": [], "block_size": 4096, "blocks": 8, "charset": "us-ascii", "checksum": "81af6a95a8e45d92058352456b5503c389fb75ae", "ctime": 1702127797.915782, "dev": 51716, "device_type": 0, "executable": false, "exists": true, "gid": 0, "gr_name": "root", "inode": 17296353, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mimetype": "text/plain", "mode": "0600", "mtime": 1702127797.915782, "nlink": 1, "path": "/etc/pki/tls/private/other-cert.key", "pw_name": "root", "readable": true, "rgrp": false, "roth": false, "rusr": true, "size": 1704, "uid": 0, "version": "3894992853", "wgrp": false, "woth": false, "writeable": true, "wusr": true, "xgrp": false, "xoth": false, "xusr": false } } TASK [Verify if key file exists] *********************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:74 Saturday 09 December 2023 13:16:42 +0000 (0:00:00.198) 0:00:14.703 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify key file owner and group] ***************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:80 Saturday 09 December 2023 13:16:42 +0000 (0:00:00.024) 0:00:14.727 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Parse certificate] ******************************************************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:92 Saturday 09 December 2023 13:16:43 +0000 (0:00:00.023) 0:00:14.751 ***** ok: [sut] => { "certificate": { "extensions": { "authorityKeyIdentifier": { "critical": false, "value": "D0:F9:E2:EF:5B:E8:8E:B4:6D:23:BF:DB:5A:EE:99:B6:6A:4F:CE:0D" }, "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.org" } ] }, "subjectKeyIdentifier": { "critical": false, "value": "DF:60:A6:10:40:7F:2A:36:D2:94:18:BF:24:88:5F:A0:BA:92:E1:58" } }, "key_size": 2048, "signature_algorithm": { "algorithm": "sha256WithRSAEncryption", "signature": "2E:00:23:78:94:06:A0:C6:5C:D7:79:C9:E2:49:BE:E9:67:6B:1E:41:32:75:B6:8C:A9:F9:B7:9E:7F:37:1B:D6:E8:23:D8:7E:23:DE:01:CF:D9:8C:13:BB:C3:8B:47:40:61:07:2C:EE:68:01:EB:13:06:FF:F6:D4:30:12:E6:BD:2A:4F:8C:FF:D1:C7:65:4E:53:FE:3B:54:8F:AA:A1:ED:D1:2A:D1:01:45:4B:53:ED:81:C2:3F:E2:55:FC:3B:4B:E5:65:5C:A2:65:08:79:F6:95:FB:44:00:50:03:78:5B:1E:C5:7B:F1:34:4C:5E:70:72:D9:F8:4B:0F:7F:8A:72:B1:48:FE:42:42:E4:89:A6:12:26:45:A2:C8:BD:70:BA:1D:88:09:76:B5:9A:33:8D:B4:1A:38:C2:9A:A6:55:92:47:8E:98:91:9D:6E:46:D7:38:64:1F:90:23:B8:F3:B1:10:21:03:3F:22:C6:35:06:48:2C:54:49:2C:03:9D:CC:06:19:D2:92:D5:D7:3C:29:AB:45:3F:C3:98:61:0A:75:DA:3C:44:DE:0B:CB:98:8A:96:AD:11:1A:28:38:C6:81:7F:46:26:B4:AA:9F:40:4F:2E:66:93:E0:1B:9E:A1:82:99:25:A6:32:D3:9A:88:1B:53:1A:C6:A5:3C:DC:A9:E2" }, "subject": [ { "name": "commonName", "oid": "2.5.4.3", "value": "www.example.org" } ], "validity": { "not_valid_after": "20241209131636Z", "not_valid_before": "20231209131637Z" } }, "changed": false } TASK [Load certificate YAML to cert_issued variable] *************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:98 Saturday 09 December 2023 13:16:43 +0000 (0:00:00.243) 0:00:14.995 ***** ok: [sut] => { "ansible_facts": { "cert_issued": { "extensions": { "authorityKeyIdentifier": { "critical": false, "value": "D0:F9:E2:EF:5B:E8:8E:B4:6D:23:BF:DB:5A:EE:99:B6:6A:4F:CE:0D" }, "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.org" } ] }, "subjectKeyIdentifier": { "critical": false, "value": "DF:60:A6:10:40:7F:2A:36:D2:94:18:BF:24:88:5F:A0:BA:92:E1:58" } }, "key_size": 2048, "signature_algorithm": { "algorithm": "sha256WithRSAEncryption", "signature": "2E:00:23:78:94:06:A0:C6:5C:D7:79:C9:E2:49:BE:E9:67:6B:1E:41:32:75:B6:8C:A9:F9:B7:9E:7F:37:1B:D6:E8:23:D8:7E:23:DE:01:CF:D9:8C:13:BB:C3:8B:47:40:61:07:2C:EE:68:01:EB:13:06:FF:F6:D4:30:12:E6:BD:2A:4F:8C:FF:D1:C7:65:4E:53:FE:3B:54:8F:AA:A1:ED:D1:2A:D1:01:45:4B:53:ED:81:C2:3F:E2:55:FC:3B:4B:E5:65:5C:A2:65:08:79:F6:95:FB:44:00:50:03:78:5B:1E:C5:7B:F1:34:4C:5E:70:72:D9:F8:4B:0F:7F:8A:72:B1:48:FE:42:42:E4:89:A6:12:26:45:A2:C8:BD:70:BA:1D:88:09:76:B5:9A:33:8D:B4:1A:38:C2:9A:A6:55:92:47:8E:98:91:9D:6E:46:D7:38:64:1F:90:23:B8:F3:B1:10:21:03:3F:22:C6:35:06:48:2C:54:49:2C:03:9D:CC:06:19:D2:92:D5:D7:3C:29:AB:45:3F:C3:98:61:0A:75:DA:3C:44:DE:0B:CB:98:8A:96:AD:11:1A:28:38:C6:81:7F:46:26:B4:AA:9F:40:4F:2E:66:93:E0:1B:9E:A1:82:99:25:A6:32:D3:9A:88:1B:53:1A:C6:A5:3C:DC:A9:E2" }, "subject": [ { "name": "commonName", "oid": "2.5.4.3", "value": "www.example.org" } ], "validity": { "not_valid_after": "20241209131636Z", "not_valid_before": "20231209131637Z" } } }, "changed": false } TASK [Verify certificate subject] ********************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:102 Saturday 09 December 2023 13:16:43 +0000 (0:00:00.022) 0:00:15.017 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate SAN] ************************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:111 Saturday 09 December 2023 13:16:43 +0000 (0:00:00.021) 0:00:15.038 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify key size] ********************************************************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:120 Saturday 09 December 2023 13:16:43 +0000 (0:00:00.019) 0:00:15.057 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate Key Usage] ******************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:127 Saturday 09 December 2023 13:16:43 +0000 (0:00:00.019) 0:00:15.077 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate Extended Key Usage] *********************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:138 Saturday 09 December 2023 13:16:43 +0000 (0:00:00.021) 0:00:15.099 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Retrieve auto-renew flag] ************************************************ task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:151 Saturday 09 December 2023 13:16:43 +0000 (0:00:00.024) 0:00:15.123 ***** ok: [sut] => { "changed": false, "cmd": "set -euo pipefail; getcert list -f /etc/pki/tls/certs/other-cert.crt | grep 'auto-renew' | sed 's/^\\s\\+auto-renew: //g'", "delta": "0:00:00.048141", "end": "2023-12-09 13:16:43.602547", "rc": 0, "start": "2023-12-09 13:16:43.554406" } STDOUT: yes TASK [Verify certificate auto-renew flag] ************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:160 Saturday 09 December 2023 13:16:43 +0000 (0:00:00.239) 0:00:15.363 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Set virtualenv_path] ***************************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:2 Saturday 09 December 2023 13:16:43 +0000 (0:00:00.020) 0:00:15.384 ***** ok: [sut] => { "ansible_facts": { "__virtualenv_path": "/tmp/certificate-tests-venv" }, "changed": false } TASK [Check if system is ostree] *********************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:9 Saturday 09 December 2023 13:16:43 +0000 (0:00:00.018) 0:00:15.402 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Set flag to indicate system is ostree] *********************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:14 Saturday 09 December 2023 13:16:43 +0000 (0:00:00.017) 0:00:15.420 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Ensure python3 is installed] ********************************************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:18 Saturday 09 December 2023 13:16:43 +0000 (0:00:00.019) 0:00:15.439 ***** skipping: [sut] => { "changed": false, "skip_reason": "Conditional result was False" } TASK [Ensure python3 is installed] ********************************************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:29 Saturday 09 December 2023 13:16:43 +0000 (0:00:00.019) 0:00:15.458 ***** ok: [sut] => { "changed": false, "rc": 0, "results": [] } MSG: Nothing to do lsrpackages: python3-cryptography python3-pyasn1 TASK [Retrieve certificate file stats] ***************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:40 Saturday 09 December 2023 13:16:44 +0000 (0:00:00.779) 0:00:16.238 ***** ok: [sut] => { "changed": false, "stat": { "atime": 1702127798.731777, "attr_flags": "", "attributes": [], "block_size": 4096, "blocks": 8, "charset": "us-ascii", "checksum": "bd262f6a2512ed339179cc5da969d5bf87ed0a2b", "ctime": 1702127798.7297769, "dev": 51716, "device_type": 0, "executable": false, "exists": true, "gid": 0, "gr_name": "root", "inode": 390707, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mimetype": "text/plain", "mode": "0600", "mtime": 1702127798.7297769, "nlink": 1, "path": "/etc/pki/tls/certs/another-cert.crt", "pw_name": "root", "readable": true, "rgrp": false, "roth": false, "rusr": true, "size": 1294, "uid": 0, "version": "2080690067", "wgrp": false, "woth": false, "writeable": true, "wusr": true, "xgrp": false, "xoth": false, "xusr": false } } TASK [Verify if certificate file exists] *************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:45 Saturday 09 December 2023 13:16:44 +0000 (0:00:00.207) 0:00:16.445 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate file owner and group] ********************************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:51 Saturday 09 December 2023 13:16:44 +0000 (0:00:00.020) 0:00:16.465 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate permissions] ****************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:63 Saturday 09 December 2023 13:16:44 +0000 (0:00:00.020) 0:00:16.486 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Retrieve key file stats] ************************************************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:69 Saturday 09 December 2023 13:16:44 +0000 (0:00:00.019) 0:00:16.506 ***** ok: [sut] => { "changed": false, "stat": { "atime": 1702127798.673777, "attr_flags": "", "attributes": [], "block_size": 4096, "blocks": 8, "charset": "us-ascii", "checksum": "c46ea22f76dee911a716812a8ab53d6690f293f4", "ctime": 1702127798.7297769, "dev": 51716, "device_type": 0, "executable": false, "exists": true, "gid": 0, "gr_name": "root", "inode": 17521622, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mimetype": "text/plain", "mode": "0600", "mtime": 1702127798.7297769, "nlink": 1, "path": "/etc/pki/tls/private/another-cert.key", "pw_name": "root", "readable": true, "rgrp": false, "roth": false, "rusr": true, "size": 1704, "uid": 0, "version": "4265057302", "wgrp": false, "woth": false, "writeable": true, "wusr": true, "xgrp": false, "xoth": false, "xusr": false } } TASK [Verify if key file exists] *********************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:74 Saturday 09 December 2023 13:16:44 +0000 (0:00:00.200) 0:00:16.707 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify key file owner and group] ***************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:80 Saturday 09 December 2023 13:16:45 +0000 (0:00:00.036) 0:00:16.743 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Parse certificate] ******************************************************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:92 Saturday 09 December 2023 13:16:45 +0000 (0:00:00.023) 0:00:16.766 ***** ok: [sut] => { "certificate": { "extensions": { "authorityKeyIdentifier": { "critical": false, "value": "D0:F9:E2:EF:5B:E8:8E:B4:6D:23:BF:DB:5A:EE:99:B6:6A:4F:CE:0D" }, "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.net" } ] }, "subjectKeyIdentifier": { "critical": false, "value": "A8:19:FA:6C:6B:CF:ED:CB:69:B9:BA:48:A0:D9:A8:A1:5B:95:34:08" } }, "key_size": 2048, "signature_algorithm": { "algorithm": "sha256WithRSAEncryption", "signature": "14:4F:E2:90:43:84:9B:0B:E8:E7:4E:A0:C3:6A:49:71:2B:49:0E:BC:21:C4:BA:1D:28:CE:AD:BF:63:1F:6D:5E:C3:36:DF:4A:13:F6:E7:20:E9:6D:03:A2:F3:BD:60:C0:25:93:53:C4:0E:EF:C5:61:0B:26:AF:31:3D:F9:F5:66:31:B6:DE:27:90:4F:B8:5E:A5:D3:91:DB:F8:41:F0:87:A9:7E:63:BA:92:B1:59:D8:4E:62:F2:3D:44:03:ED:4C:F7:4F:BE:26:E4:00:0F:6A:3F:BC:CA:12:AB:2A:83:AB:F2:F0:A4:57:39:23:13:69:9F:28:45:7C:58:F1:42:79:EE:2A:EA:F0:DA:A7:F3:7B:49:7D:84:41:5B:1B:9E:C0:E3:12:88:53:06:72:83:B5:73:A0:CC:5A:DB:04:D4:9A:E1:E8:62:AE:6C:BF:1E:68:40:4A:A1:97:BA:48:15:B0:6E:A6:8C:F4:4D:CF:8D:A9:EC:C0:52:E7:0C:F4:47:9F:F1:06:76:9D:0F:F3:74:27:24:07:56:D0:CB:96:8D:7D:F1:A6:DE:AC:41:68:D9:DC:8E:DB:91:2F:FE:01:D2:D2:F4:64:E4:BA:9A:3A:C0:33:05:F1:66:1B:01:6E:9E:45:9F:6D:61:96:F1:DF:DE:C6:D5:28:89:5E:90:A6:7D:9E" }, "subject": [ { "name": "commonName", "oid": "2.5.4.3", "value": "www.example.net" } ], "validity": { "not_valid_after": "20241209131636Z", "not_valid_before": "20231209131638Z" } }, "changed": false } TASK [Load certificate YAML to cert_issued variable] *************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:98 Saturday 09 December 2023 13:16:45 +0000 (0:00:00.250) 0:00:17.016 ***** ok: [sut] => { "ansible_facts": { "cert_issued": { "extensions": { "authorityKeyIdentifier": { "critical": false, "value": "D0:F9:E2:EF:5B:E8:8E:B4:6D:23:BF:DB:5A:EE:99:B6:6A:4F:CE:0D" }, "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.net" } ] }, "subjectKeyIdentifier": { "critical": false, "value": "A8:19:FA:6C:6B:CF:ED:CB:69:B9:BA:48:A0:D9:A8:A1:5B:95:34:08" } }, "key_size": 2048, "signature_algorithm": { "algorithm": "sha256WithRSAEncryption", "signature": "14:4F:E2:90:43:84:9B:0B:E8:E7:4E:A0:C3:6A:49:71:2B:49:0E:BC:21:C4:BA:1D:28:CE:AD:BF:63:1F:6D:5E:C3:36:DF:4A:13:F6:E7:20:E9:6D:03:A2:F3:BD:60:C0:25:93:53:C4:0E:EF:C5:61:0B:26:AF:31:3D:F9:F5:66:31:B6:DE:27:90:4F:B8:5E:A5:D3:91:DB:F8:41:F0:87:A9:7E:63:BA:92:B1:59:D8:4E:62:F2:3D:44:03:ED:4C:F7:4F:BE:26:E4:00:0F:6A:3F:BC:CA:12:AB:2A:83:AB:F2:F0:A4:57:39:23:13:69:9F:28:45:7C:58:F1:42:79:EE:2A:EA:F0:DA:A7:F3:7B:49:7D:84:41:5B:1B:9E:C0:E3:12:88:53:06:72:83:B5:73:A0:CC:5A:DB:04:D4:9A:E1:E8:62:AE:6C:BF:1E:68:40:4A:A1:97:BA:48:15:B0:6E:A6:8C:F4:4D:CF:8D:A9:EC:C0:52:E7:0C:F4:47:9F:F1:06:76:9D:0F:F3:74:27:24:07:56:D0:CB:96:8D:7D:F1:A6:DE:AC:41:68:D9:DC:8E:DB:91:2F:FE:01:D2:D2:F4:64:E4:BA:9A:3A:C0:33:05:F1:66:1B:01:6E:9E:45:9F:6D:61:96:F1:DF:DE:C6:D5:28:89:5E:90:A6:7D:9E" }, "subject": [ { "name": "commonName", "oid": "2.5.4.3", "value": "www.example.net" } ], "validity": { "not_valid_after": "20241209131636Z", "not_valid_before": "20231209131638Z" } } }, "changed": false } TASK [Verify certificate subject] ********************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:102 Saturday 09 December 2023 13:16:45 +0000 (0:00:00.028) 0:00:17.045 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate SAN] ************************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:111 Saturday 09 December 2023 13:16:45 +0000 (0:00:00.044) 0:00:17.090 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify key size] ********************************************************* task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:120 Saturday 09 December 2023 13:16:45 +0000 (0:00:00.073) 0:00:17.163 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate Key Usage] ******************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:127 Saturday 09 December 2023 13:16:45 +0000 (0:00:00.115) 0:00:17.279 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Verify certificate Extended Key Usage] *********************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:138 Saturday 09 December 2023 13:16:45 +0000 (0:00:00.040) 0:00:17.319 ***** ok: [sut] => { "changed": false } MSG: All assertions passed TASK [Retrieve auto-renew flag] ************************************************ task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:151 Saturday 09 December 2023 13:16:45 +0000 (0:00:00.035) 0:00:17.354 ***** ok: [sut] => { "changed": false, "cmd": "set -euo pipefail; getcert list -f /etc/pki/tls/certs/another-cert.crt | grep 'auto-renew' | sed 's/^\\s\\+auto-renew: //g'", "delta": "0:00:00.048028", "end": "2023-12-09 13:16:45.832595", "rc": 0, "start": "2023-12-09 13:16:45.784567" } STDOUT: yes TASK [Verify certificate auto-renew flag] ************************************** task path: /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:160 Saturday 09 December 2023 13:16:45 +0000 (0:00:00.245) 0:00:17.600 ***** ok: [sut] => { "changed": false } MSG: All assertions passed META: ran handlers META: ran handlers PLAY RECAP ********************************************************************* sut : ok=68 changed=6 unreachable=0 failed=0 skipped=15 rescued=0 ignored=0 Saturday 09 December 2023 13:16:45 +0000 (0:00:00.031) 0:00:17.632 ***** =============================================================================== linux-system-roles.certificate : Ensure certificate role dependencies are installed --- 3.00s /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/main.yml:5 linux-system-roles.certificate : Ensure certificate requests ------------ 2.90s /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/main.yml:104 linux-system-roles.certificate : Ensure provider packages are installed --- 2.40s /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/main.yml:24 Ensure python3 is installed --------------------------------------------- 0.78s /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:29 Ensure python3 is installed --------------------------------------------- 0.78s /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:29 Ensure python3 is installed --------------------------------------------- 0.78s /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:29 linux-system-roles.certificate : Ensure provider service is running ----- 0.73s /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/main.yml:92 Gathering Facts --------------------------------------------------------- 0.64s /WORKDIR/git-weekly-ciwa8bkj3c/tests/tests_many_self_signed.yml:2 ------------- Gathering Facts --------------------------------------------------------- 0.55s /WORKDIR/git-weekly-ciwa8bkj3c/tests/tests_many_self_signed.yml:18 ------------ Parse certificate ------------------------------------------------------- 0.32s /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:92 linux-system-roles.certificate : Ensure pre-scripts hooks directory exists --- 0.31s /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/main.yml:37 Retrieve auto-renew flag ------------------------------------------------ 0.31s /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:151 linux-system-roles.certificate : Check if system is ostree -------------- 0.26s /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/set_vars.yml:11 Parse certificate ------------------------------------------------------- 0.25s /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:92 Retrieve auto-renew flag ------------------------------------------------ 0.25s /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:151 Parse certificate ------------------------------------------------------- 0.24s /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:92 Retrieve auto-renew flag ------------------------------------------------ 0.24s /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:151 Retrieve certificate file stats ----------------------------------------- 0.21s /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:40 linux-system-roles.certificate : Ensure post-scripts hooks directory exists --- 0.21s /WORKDIR/git-weekly-ciwa8bkj3c/tests/roles/linux-system-roles.certificate/tasks/main.yml:63 Retrieve certificate file stats ----------------------------------------- 0.21s /WORKDIR/git-weekly-ciwa8bkj3c/tests/tasks/assert_certificate_parameters.yml:40 ---^---^---^---^---^--- # STDERR: ---v---v---v---v---v--- ---^---^---^---^---^---