diff options
author | Endi Sukma Dewata <edewata@redhat.com> | 2013-05-08 19:32:26 -0400 |
---|---|---|
committer | Endi Sukma Dewata <edewata@redhat.com> | 2013-05-15 15:47:27 -0400 |
commit | aaf6e899f28ecfc5d75bc378a7dc6ccee5b2249e (patch) | |
tree | a6c32a5edbc3f1a3c60ed995a9d0cf4d0e084fa9 /base/server/upgrade | |
parent | c90155c4983b55cc93b6d7cf131bd4aa541ab515 (diff) | |
download | pki-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-x | base/server/upgrade/10.0.1/01-ReplaceRandomNumberGenerator | 10 | ||||
-rwxr-xr-x | base/server/upgrade/10.0.1/02-CloningInterfaceChanges | 2 | ||||
-rwxr-xr-x | base/server/upgrade/10.0.1/03-AddRestServlet | 2 |
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() |