diff options
author | Petr Viktorin <pviktori@redhat.com> | 2014-08-22 14:22:06 +0200 |
---|---|---|
committer | Martin Kosek <mkosek@redhat.com> | 2014-09-25 13:23:51 +0200 |
commit | 9a188607fcf68721fc8c38c3c73ee02cac76b58a (patch) | |
tree | 69e62e091a4d0cd2d644a59425effa6fc527d917 /ipaserver/install/upgradeinstance.py | |
parent | f3b1471af946c7231447b36ea4196bb3278d6a1b (diff) | |
download | freeipa-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.py | 19 |
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', |