diff options
author | Petr Vobornik <pvoborni@redhat.com> | 2017-04-26 18:47:53 +0200 |
---|---|---|
committer | Tomas Krizek <tkrizek@redhat.com> | 2017-04-28 14:56:02 +0200 |
commit | 3a4c8e39c3e38ec651cfcbb3cac59e0e92e04fe0 (patch) | |
tree | 975ab9911ced8faee63f12a3f4dc1bda37fb8fb9 | |
parent | b4e447fa6fc7d659ae6a3b6285d4ddda0baa0be4 (diff) | |
download | freeipa-3a4c8e39c3e38ec651cfcbb3cac59e0e92e04fe0.tar.gz freeipa-3a4c8e39c3e38ec651cfcbb3cac59e0e92e04fe0.tar.xz freeipa-3a4c8e39c3e38ec651cfcbb3cac59e0e92e04fe0.zip |
restore: restart/reload gssproxy after restore
So that gssproxy picks up new configuration and therefore related
usages like authentication of CLI against server works
https://pagure.io/freeipa/issue/6902
Reviewed-By: Tomas Krizek <tkrizek@redhat.com>
-rw-r--r-- | ipaplatform/base/services.py | 21 | ||||
-rw-r--r-- | ipaserver/install/ipa_restore.py | 3 |
2 files changed, 21 insertions, 3 deletions
diff --git a/ipaplatform/base/services.py b/ipaplatform/base/services.py index 068b9723c..fca6298fc 100644 --- a/ipaplatform/base/services.py +++ b/ipaplatform/base/services.py @@ -154,6 +154,10 @@ class PlatformService(object): return + def reload_or_restart(self, instance_name="", capture_output=True, + wait=True): + return + def restart(self, instance_name="", capture_output=True, wait=True): return @@ -298,14 +302,25 @@ class SystemdService(PlatformService): instance_name, update_service_list=update_service_list) - def restart(self, instance_name="", capture_output=True, wait=True): - ipautil.run([paths.SYSTEMCTL, "restart", - self.service_instance(instance_name)], + def _restart_base(self, instance_name, operation, capture_output=True, + wait=False): + + ipautil.run([paths.SYSTEMCTL, operation, + self.service_instance(instance_name)], skip_output=not capture_output) if wait and self.is_running(instance_name): self.wait_for_open_ports(self.service_instance(instance_name)) + def reload_or_restart(self, instance_name="", capture_output=True, + wait=True): + self._restart_base(instance_name, "reload-or-restart", + capture_output, wait) + + def restart(self, instance_name="", capture_output=True, wait=True): + self._restart_base(instance_name, "restart", + capture_output, wait) + def is_running(self, instance_name="", wait=True): instance = self.service_instance(instance_name, 'is-active') diff --git a/ipaserver/install/ipa_restore.py b/ipaserver/install/ipa_restore.py index 378c013b6..96fc493c7 100644 --- a/ipaserver/install/ipa_restore.py +++ b/ipaserver/install/ipa_restore.py @@ -401,6 +401,9 @@ class Restore(admintool.AdminTool): services.knownservices.pki_tomcatd.enable() services.knownservices.pki_tomcatd.disable() + self.log.info('Restarting GSS-proxy') + gssproxy = services.service('gssproxy', api) + gssproxy.reload_or_restart() self.log.info('Starting IPA services') run(['ipactl', 'start']) self.log.info('Restarting SSSD') |