summaryrefslogtreecommitdiffstats
path: root/ipaserver/install/upgradeinstance.py
diff options
context:
space:
mode:
authorPetr Viktorin <pviktori@redhat.com>2014-08-22 14:22:06 +0200
committerMartin Kosek <mkosek@redhat.com>2014-09-25 13:23:51 +0200
commit9a188607fcf68721fc8c38c3c73ee02cac76b58a (patch)
tree69e62e091a4d0cd2d644a59425effa6fc527d917 /ipaserver/install/upgradeinstance.py
parentf3b1471af946c7231447b36ea4196bb3278d6a1b (diff)
downloadfreeipa-9a188607fcf68721fc8c38c3c73ee02cac76b58a.tar.gz
freeipa-9a188607fcf68721fc8c38c3c73ee02cac76b58a.tar.xz
freeipa-9a188607fcf68721fc8c38c3c73ee02cac76b58a.zip
upgradeinstance: Restore listeners on failure
Allow running some installation after failure, and use this for the upgradeinstance cleanup steps. https://fedorahosted.org/freeipa/ticket/4499 Reviewed-By: Martin Kosek <mkosek@redhat.com>
Diffstat (limited to 'ipaserver/install/upgradeinstance.py')
-rw-r--r--ipaserver/install/upgradeinstance.py19
1 files changed, 13 insertions, 6 deletions
diff --git a/ipaserver/install/upgradeinstance.py b/ipaserver/install/upgradeinstance.py
index 062d5da22..b553721eb 100644
--- a/ipaserver/install/upgradeinstance.py
+++ b/ipaserver/install/upgradeinstance.py
@@ -82,8 +82,11 @@ class IPAUpgrade(service.Service):
if self.schema_files:
self.step("updating schema", self.__update_schema)
self.step("upgrading server", self.__upgrade)
- self.step("stopping directory server", self.__stop_instance)
- self.step("restoring configuration", self.__restore_config)
+
+ self.step("stopping directory server", self.__stop_instance,
+ run_after_failure=True)
+ self.step("restoring configuration", self.__restore_config,
+ run_after_failure=True)
self.step("starting directory server", self.start)
self.start_creation(start_message="Upgrading IPA:",
@@ -103,10 +106,14 @@ class IPAUpgrade(service.Service):
port = self.restore_state('nsslapd-port')
security = self.restore_state('nsslapd-security')
- installutils.set_directive(self.filename, 'nsslapd-port',
- port, quotes=False, separator=':')
- installutils.set_directive(self.filename, 'nsslapd-security',
- security, quotes=False, separator=':')
+ if port is not None:
+ installutils.set_directive(
+ self.filename, 'nsslapd-port', port,
+ quotes=False, separator=':')
+ if security is not None:
+ installutils.set_directive(
+ self.filename, 'nsslapd-security', security,
+ quotes=False, separator=':')
def __disable_listeners(self):
installutils.set_directive(self.filename, 'nsslapd-port',