diff options
| author | David Kupka <dkupka@redhat.com> | 2016-02-17 15:18:17 +0100 |
|---|---|---|
| committer | Jan Cholasta <jcholast@redhat.com> | 2016-02-26 08:27:44 +0100 |
| commit | 4337c4f9c40b2587280eeff5f99ee8dd03092e17 (patch) | |
| tree | da74e6ec28b11e111c55d41d13ba6bda9eaae599 | |
| parent | 431a1a038396d271f680cc4bd4f0bddf617be823 (diff) | |
httpinstance: add start_tracking_certificates method
Configure certmonger to start tracking certificate for httpd.
https://fedorahosted.org/freeipa/ticket/5586
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
| -rw-r--r-- | ipaserver/install/httpinstance.py | 5 | ||||
| -rw-r--r-- | ipaserver/install/server/upgrade.py | 19 |
2 files changed, 20 insertions, 4 deletions
diff --git a/ipaserver/install/httpinstance.py b/ipaserver/install/httpinstance.py index 44e0a7fe0..54aeb8ae7 100644 --- a/ipaserver/install/httpinstance.py +++ b/ipaserver/install/httpinstance.py @@ -552,3 +552,8 @@ class HTTPInstance(service.Service): def stop_tracking_certificates(self): db = certs.CertDB(api.env.realm) db.untrack_server_cert(self.cert_nickname) + + def start_tracking_certificates(self): + db = certs.CertDB(self.realm) + db.track_server_cert(self.cert_nickname, self.principal, + db.passwd_fname, 'restart_httpd') diff --git a/ipaserver/install/server/upgrade.py b/ipaserver/install/server/upgrade.py index f74034aff..1b6b0cd3a 100644 --- a/ipaserver/install/server/upgrade.py +++ b/ipaserver/install/server/upgrade.py @@ -792,7 +792,7 @@ def named_root_key_include(): return True -def certificate_renewal_update(ca, ds): +def certificate_renewal_update(ca, ds, http): """ Update certmonger certificate renewal configuration. """ @@ -857,6 +857,14 @@ def certificate_renewal_update(ca, ds): None, ), ( + paths.HTTPD_ALIAS_DIR, + 'Server-Cert', + 'IPA', + None, + template % 'restart_httpd', + None, + ), + ( dirsrv_dir, 'Server-Cert', 'IPA', @@ -901,6 +909,7 @@ def certificate_renewal_update(ca, ds): # again with new configuration: ca.stop_tracking_certificates() ds.stop_tracking_certificates(serverid) + http.stop_tracking_certificates() if not sysupgrade.get_upgrade_state('dogtag', 'certificate_renewal_update_1'): @@ -915,6 +924,7 @@ def certificate_renewal_update(ca, ds): ca.configure_agent_renewal() ca.track_servercert() ds.start_tracking_certificates(serverid) + http.start_tracking_certificates() sysupgrade.set_upgrade_state('dogtag', state, True) root_logger.info("Certmonger certificate renewal configuration updated to " @@ -1506,6 +1516,9 @@ def upgrade_configuration(): fstore.restore_file(removed_sysconfig_file) http = httpinstance.HTTPInstance(fstore) + http.fqdn = fqdn + http.realm = api.env.realm + http.principal = "HTTP/%s@%s" % (http.fqdn, http.realm) http.configure_selinux_for_httpd() http.change_mod_nss_port_from_http() @@ -1544,8 +1557,6 @@ def upgrade_configuration(): # 389-ds needs to be running ds.start() http.ldapi = True - http.fqdn = fqdn - http.realm = api.env.realm http.suffix = ipautil.realm_to_suffix(api.env.realm) http.ldap_connect() httpinstance.create_kdcproxy_user() @@ -1627,7 +1638,7 @@ def upgrade_configuration(): ca_restart, ca_upgrade_schema(ca), upgrade_ca_audit_cert_validity(ca), - certificate_renewal_update(ca, ds), + certificate_renewal_update(ca, ds, http), ca_enable_pkix(ca), ca_configure_profiles_acl(ca), ]) |
