summaryrefslogtreecommitdiffstats
path: root/ipaserver/install/ipa_server_upgrade.py
diff options
context:
space:
mode:
authorJan Cholasta <jcholast@redhat.com>2015-05-28 11:39:37 +0000
committerJan Cholasta <jcholast@redhat.com>2015-05-29 08:00:33 +0000
commitf451af9a5a6618b6c8d24b28ca8d06fd109487dd (patch)
treeb1ac690dc263939c1a474598e15a3acdd77c538d /ipaserver/install/ipa_server_upgrade.py
parent3cb42e33c06fb66702ecfd34ddcad9b548f23132 (diff)
downloadfreeipa-f451af9a5a6618b6c8d24b28ca8d06fd109487dd.tar.gz
freeipa-f451af9a5a6618b6c8d24b28ca8d06fd109487dd.tar.xz
freeipa-f451af9a5a6618b6c8d24b28ca8d06fd109487dd.zip
install: Move ipa-server-upgrade code into a module
https://fedorahosted.org/freeipa/ticket/4468 Reviewed-By: Martin Basti <mbasti@redhat.com>
Diffstat (limited to 'ipaserver/install/ipa_server_upgrade.py')
-rw-r--r--ipaserver/install/ipa_server_upgrade.py64
1 files changed, 6 insertions, 58 deletions
diff --git a/ipaserver/install/ipa_server_upgrade.py b/ipaserver/install/ipa_server_upgrade.py
index 31772dc71..d0a839d0a 100644
--- a/ipaserver/install/ipa_server_upgrade.py
+++ b/ipaserver/install/ipa_server_upgrade.py
@@ -3,18 +3,12 @@
#
import os
-import sys
-
-import krbV
from ipalib import api
from ipaplatform.paths import paths
-from ipapython import admintool, ipautil
-from ipaserver.install import dsinstance
+from ipapython import admintool
from ipaserver.install import installutils
-from ipaserver.install.server import upgrade_configuration
-from ipaserver.install.upgradeinstance import IPAUpgrade
-from ipaserver.install.ldapupdate import BadSyntax
+from ipaserver.install import server
class ServerUpgrade(admintool.AdminTool):
@@ -40,12 +34,6 @@ class ServerUpgrade(admintool.AdminTool):
if self.options.force:
self.options.skip_version_check = True
- try:
- installutils.check_server_configuration()
- except RuntimeError as e:
- print unicode(e)
- sys.exit(1)
-
def setup_logging(self):
super(ServerUpgrade, self).setup_logging(log_file_mode='a')
@@ -55,51 +43,11 @@ class ServerUpgrade(admintool.AdminTool):
api.bootstrap(in_server=True, context='updates')
api.finalize()
- options = self.options
-
- if not options.skip_version_check:
- # check IPA version and data version
- try:
- installutils.check_version()
- except (installutils.UpgradePlatformError,
- installutils.UpgradeDataNewerVersionError) as e:
- raise admintool.ScriptError(
- 'Unable to execute IPA upgrade: %s' % e, 1)
- except installutils.UpgradeMissingVersionError as e:
- self.log.info("Missing version: %s", e)
- except installutils.UpgradeVersionError:
- # Ignore other errors
- pass
- else:
- self.log.info("Skipping version check")
- self.log.warning("Upgrade without version check may break your "
- "system")
-
- realm = krbV.default_context().default_realm
- schema_files = [os.path.join(ipautil.SHARE_DIR, f) for f
- in dsinstance.ALL_SCHEMA_FILES]
- data_upgrade = IPAUpgrade(realm, schema_files=schema_files)
-
try:
- data_upgrade.create_instance()
- except BadSyntax:
- raise admintool.ScriptError(
- 'Bad syntax detected in upgrade file(s).', 1)
- except RuntimeError:
- raise admintool.ScriptError('IPA upgrade failed.', 1)
- else:
- if data_upgrade.modified:
- self.log.info('Update complete')
- else:
- self.log.info('Update complete, no data were modified')
-
- # store new data version after upgrade
- installutils.store_version()
-
- print 'Upgrading IPA services'
- self.log.info('Upgrading the configuration of the IPA services')
- upgrade_configuration()
- self.log.info('The IPA services were upgraded')
+ server.upgrade_check(self.options)
+ server.upgrade()
+ except RuntimeError as e:
+ raise admintool.ScriptError(str(e))
def handle_error(self, exception):
return installutils.handle_error(exception, self.log_file_name)