summaryrefslogtreecommitdiffstats
path: root/base/server/upgrade
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/upgrade
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/upgrade')
-rwxr-xr-xbase/server/upgrade/10.0.1/01-ReplaceRandomNumberGenerator10
-rwxr-xr-xbase/server/upgrade/10.0.1/02-CloningInterfaceChanges2
-rwxr-xr-xbase/server/upgrade/10.0.1/03-AddRestServlet2
3 files changed, 10 insertions, 4 deletions
diff --git a/base/server/upgrade/10.0.1/01-ReplaceRandomNumberGenerator b/base/server/upgrade/10.0.1/01-ReplaceRandomNumberGenerator
index e73ede236..af3d53cc4 100755
--- a/base/server/upgrade/10.0.1/01-ReplaceRandomNumberGenerator
+++ b/base/server/upgrade/10.0.1/01-ReplaceRandomNumberGenerator
@@ -46,6 +46,8 @@ class ReplaceRandomNumberGenerator(pki.server.upgrade.PKIServerUpgradeScriptlet)
'webapps', subsystem.name,
'META-INF', 'context.xml')
+ self.backup(context_xml)
+
if not os.path.exists(context_xml):
self.create_context_xml(
instance,
@@ -64,13 +66,11 @@ class ReplaceRandomNumberGenerator(pki.server.upgrade.PKIServerUpgradeScriptlet)
with open(context_xml, 'w') as f:
f.write(etree.tostring(document, pretty_print=True))
-
def upgrade_instance(self, instance):
self.update_root_context_xml(instance)
self.update_pki_context_xml(instance)
-
def update_root_context_xml(self, instance):
context_xml = os.path.join(
@@ -78,6 +78,8 @@ class ReplaceRandomNumberGenerator(pki.server.upgrade.PKIServerUpgradeScriptlet)
'webapps', 'ROOT',
'META-INF', 'context.xml')
+ self.backup(context_xml)
+
if not os.path.exists(context_xml):
self.create_context_xml(instance, 'server', 'ROOT')
@@ -95,6 +97,8 @@ class ReplaceRandomNumberGenerator(pki.server.upgrade.PKIServerUpgradeScriptlet)
'webapps', 'pki',
'META-INF', 'context.xml')
+ self.backup(context_xml)
+
if not os.path.exists(context_xml):
self.create_context_xml(instance, 'server', 'pki')
@@ -105,7 +109,6 @@ class ReplaceRandomNumberGenerator(pki.server.upgrade.PKIServerUpgradeScriptlet)
with open(context_xml, 'w') as f:
f.write(etree.tostring(document, pretty_print=True))
-
def create_context_xml(self, instance, pkg, context):
uid = pwd.getpwnam('pkiuser').pw_uid
@@ -147,7 +150,6 @@ class ReplaceRandomNumberGenerator(pki.server.upgrade.PKIServerUpgradeScriptlet)
manager.set('secureRandomProvider', 'Mozilla-JSS')
manager.set('secureRandomAlgorithm', 'pkcs11prng')
-
def update_authenticator(self, document):
context = document.getroot()
diff --git a/base/server/upgrade/10.0.1/02-CloningInterfaceChanges b/base/server/upgrade/10.0.1/02-CloningInterfaceChanges
index d97cb4258..c70a4263c 100755
--- a/base/server/upgrade/10.0.1/02-CloningInterfaceChanges
+++ b/base/server/upgrade/10.0.1/02-CloningInterfaceChanges
@@ -106,6 +106,8 @@ class CloningInterfaceChanges(pki.server.upgrade.PKIServerUpgradeScriptlet):
'webapps', subsystem.name,
'WEB-INF', 'web.xml')
+ self.backup(web_xml)
+
self.doc = ET.parse(web_xml)
self.root = self.doc.getroot()
self.remove_get_token_info(subsystem.name)
diff --git a/base/server/upgrade/10.0.1/03-AddRestServlet b/base/server/upgrade/10.0.1/03-AddRestServlet
index dd656e972..37304e294 100755
--- a/base/server/upgrade/10.0.1/03-AddRestServlet
+++ b/base/server/upgrade/10.0.1/03-AddRestServlet
@@ -53,6 +53,8 @@ class AddRestServlet(pki.server.upgrade.PKIServerUpgradeScriptlet):
'webapps', subsystem.name,
'WEB-INF', 'web.xml')
+ self.backup(web_xml)
+
self.doc = ET.parse(web_xml)
self.root = self.doc.getroot()
self.add_rest_services_servlet()