summaryrefslogtreecommitdiffstats
path: root/ipaplatform/base/tasks.py
diff options
context:
space:
mode:
authorMartin Basti <mbasti@redhat.com>2015-04-10 15:42:58 +0200
committerJan Cholasta <jcholast@redhat.com>2015-05-04 11:16:26 +0000
commit9f049ca14403f3696d54d186e6b1b15181f055df (patch)
tree80c4c6d0b2d9e0b584322a931a729560e274c174 /ipaplatform/base/tasks.py
parent39426966063b3f3deced90ef3f5d0a87801d7eab (diff)
downloadfreeipa-9f049ca14403f3696d54d186e6b1b15181f055df.tar.gz
freeipa-9f049ca14403f3696d54d186e6b1b15181f055df.tar.xz
freeipa-9f049ca14403f3696d54d186e6b1b15181f055df.zip
Server Upgrade: Verify version and platform
Verify version and platform before upgrade or ipactl start|restart Upgrade: * do not allow upgrade on different platforms * do not allow upgrade data with higher version than build has Start: * do not start services if platform mismatch * do not start services if upgrade is needed * do not start services if data with higher version than build has New ipactl options: --skip-version-check: do not validate IPA version --ignore-service-failures (was --force): ignore if a service start fail and continue with starting other services --force: combine --skip-version-check and --ignore-service-failures https://fedorahosted.org/freeipa/ticket/4904 Reviewed-By: Jan Cholasta <jcholast@redhat.com> Reviewed-By: David Kupka <dkupka@redhat.com>
Diffstat (limited to 'ipaplatform/base/tasks.py')
-rw-r--r--ipaplatform/base/tasks.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/ipaplatform/base/tasks.py b/ipaplatform/base/tasks.py
index ff71c2bd1..10c5e835d 100644
--- a/ipaplatform/base/tasks.py
+++ b/ipaplatform/base/tasks.py
@@ -24,6 +24,9 @@ This module contains default platform-specific implementations of system tasks.
import pwd
import grp
+
+from pkg_resources import parse_version
+
from ipaplatform.paths import paths
from ipapython.ipa_log_manager import log_mgr
from ipapython import ipautil
@@ -208,5 +211,12 @@ class BaseTaskNamespace(object):
else:
log.debug('user %s exists', name)
+ def parse_ipa_version(self, version):
+ """
+ :param version: textual version
+ :return: object implementing proper __cmp__ method for version compare
+ """
+ return parse_version(version)
+
task_namespace = BaseTaskNamespace()