+++ This bug was initially created as a clone of Bug #2186057 +++ Description of problem: When using the `rhel-system-roles.certificate` system role provided in EL8.7, the role does not sufficiently check existing certificate parameters before reporting that no changes are needed. For example, if you create a certificate with basic syntax: - name: Build TLS certs for Satellite ansible.builtin.include_role: name: rhel-system-roles.certificate vars: certificate_requests: - name: test dns: - test.example.com - "{{ inventory_hostname }}" ips: - "{{ ansible_eth0.ipv4.address }}" principal: HTTP/test.example.com ca: ipa Modifying it to: - name: Build TLS certs for Satellite ansible.builtin.include_role: name: rhel-system-roles.certificate vars: certificate_requests: - name: test key_size: 3072 <<<<<===== dns: - test.example.com - "{{ inventory_hostname }}" ips: - "{{ ansible_eth0.ipv4.address }}" principal: HTTP/test.example.com ca: ipa Results in the second run reporting no changes, and the existing certificate not being modified. When adding a "country" parameter, a new key/certificate pair is (re)issued. - name: Build TLS certs for Satellite ansible.builtin.include_role: name: rhel-system-roles.certificate vars: certificate_requests: - name: test key_size: 3072 <<<<<===== country: "AU" <<<<<===== dns: - test.example.com - "{{ inventory_hostname }}" ips: - "{{ ansible_eth0.ipv4.address }}" principal: HTTP/test.example.com ca: ipa Actual results: Certificate is not issued with new parameters. Expected results: Modifying any of the creation parameters would modify the created certificate and reissue if required. --- Additional comment from Rafael Jeffman on 2023-07-18 22:55:42 UTC --- Upstream PR: https://github.com/linux-system-roles/certificate/pull/188