summaryrefslogtreecommitdiffstats
path: root/base/server/python/pki/server/upgrade.py
diff options
context:
space:
mode:
authorEndi Sukma Dewata <edewata@redhat.com>2013-05-08 19:32:26 -0400
committerEndi Sukma Dewata <edewata@redhat.com>2013-05-15 15:47:27 -0400
commitaaf6e899f28ecfc5d75bc378a7dc6ccee5b2249e (patch)
treea6c32a5edbc3f1a3c60ed995a9d0cf4d0e084fa9 /base/server/python/pki/server/upgrade.py
parentc90155c4983b55cc93b6d7cf131bd4aa541ab515 (diff)
downloadpki-aaf6e899f28ecfc5d75bc378a7dc6ccee5b2249e.tar.gz
pki-aaf6e899f28ecfc5d75bc378a7dc6ccee5b2249e.tar.xz
pki-aaf6e899f28ecfc5d75bc378a7dc6ccee5b2249e.zip
Added support for backup/restore on upgrade.
The upgrade framework has been modified to support backup and restore functionality. A new method backup(filename) has been added to save a file into a backup folder. The CLI's have been modified to accept a --revert parameter which will restore the backup files one version at a time. Ticket #583
Diffstat (limited to 'base/server/python/pki/server/upgrade.py')
-rw-r--r--base/server/python/pki/server/upgrade.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/base/server/python/pki/server/upgrade.py b/base/server/python/pki/server/upgrade.py
index 84e05127e..940dbe44a 100644
--- a/base/server/python/pki/server/upgrade.py
+++ b/base/server/python/pki/server/upgrade.py
@@ -29,6 +29,7 @@ import pki.server
from pki.upgrade import verbose
UPGRADE_DIR = pki.SHARE_DIR + '/server/upgrade'
+BACKUP_DIR = pki.LOG_DIR + '/server/upgrade'
INSTANCE_TRACKER = '%s/tomcat.conf'
SUBSYSTEM_TRACKER = '%s/CS.cfg'
@@ -40,6 +41,9 @@ class PKIServerUpgradeScriptlet(pki.upgrade.PKIUpgradeScriptlet):
super(PKIServerUpgradeScriptlet, self).__init__()
+ def get_backup_dir(self):
+ return BACKUP_DIR + '/' + str(self.version) + '/' + str(self.index)
+
def can_upgrade(self, instance, subsystem=None):
# A scriptlet can run if the version matches the tracker and
@@ -293,6 +297,8 @@ class PKIServerUpgrader(pki.upgrade.PKIUpgrader):
tracker = self.get_tracker(instance, subsystem)
tracker.set(version)
+ print 'Tracker has been set to version ' + str(version) + '.'
+
def remove_tracker(self):
for instance in self.instances():