From aaf6e899f28ecfc5d75bc378a7dc6ccee5b2249e Mon Sep 17 00:00:00 2001 From: Endi Sukma Dewata Date: Wed, 8 May 2013 19:32:26 -0400 Subject: 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 --- base/server/python/pki/server/upgrade.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'base/server/python') 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(): -- cgit