[Pki-devel] [PATCH] 594 Refactored upgrade scripts.
Endi Sukma Dewata
edewata at redhat.com
Mon May 11 04:13:26 UTC 2015
The upgrade scripts have been modified to use the uid and gid
provided by PKIInstance object.
https://fedorahosted.org/pki/ticket/1341
--
Endi S. Dewata
-------------- next part --------------
From 44d79fbea55cbe53d7bb869c573cc225ad1ecebb Mon Sep 17 00:00:00 2001
From: "Endi S. Dewata" <edewata at redhat.com>
Date: Sat, 9 May 2015 03:21:57 -0400
Subject: [PATCH] Refactored upgrade scripts.
The upgrade scripts have been modified to use the uid and gid
provided by PKIInstance object.
https://fedorahosted.org/pki/ticket/1341
---
.../upgrade/10.0.1/01-ReplaceRandomNumberGenerator | 25 +++++------
base/server/upgrade/10.0.99/03-FixRegistryFile | 13 +-----
base/server/upgrade/10.0.99/04-FixLogFileOwnership | 22 +---------
.../10.1.1/01-MoveWebApplicationContextFile | 23 +---------
.../10.1.99/01-MoveWebApplicationContextFile | 23 +---------
.../upgrade/10.1.99/02-ReplaceJettisonWithJackson | 51 +++++++---------------
base/server/upgrade/10.1.99/03-AddedRESTEasyClient | 27 ++----------
.../01-MoveWebApplicationDeploymentLocations | 12 +----
.../10.2.3/01-FixInstanceWorkFolderOwnership | 25 +----------
9 files changed, 35 insertions(+), 186 deletions(-)
diff --git a/base/server/upgrade/10.0.1/01-ReplaceRandomNumberGenerator b/base/server/upgrade/10.0.1/01-ReplaceRandomNumberGenerator
index e6737d8697cfaad6dceb871656b37044cd411720..01614d56ae6b62c3bc64ea7cb2e3ca813c8e1bb8 100755
--- a/base/server/upgrade/10.0.1/01-ReplaceRandomNumberGenerator
+++ b/base/server/upgrade/10.0.1/01-ReplaceRandomNumberGenerator
@@ -19,9 +19,7 @@
# All rights reserved.
#
-import grp
import os
-import pwd
import shutil
import signal
import sys
@@ -45,12 +43,13 @@ class ReplaceRandomNumberGenerator(pki.server.upgrade.PKIServerUpgradeScriptlet)
meta_inf = os.path.join(instance.base_dir, 'webapps', subsystem.name, 'META-INF')
self.backup(meta_inf)
- self.create_meta_inf(meta_inf)
+ self.create_meta_inf(instance, meta_inf)
context_xml = os.path.join(meta_inf, 'context.xml')
self.backup(context_xml)
self.create_context_xml(
+ instance,
self.context_xml % (subsystem.name, subsystem.name),
context_xml)
@@ -76,12 +75,13 @@ class ReplaceRandomNumberGenerator(pki.server.upgrade.PKIServerUpgradeScriptlet)
meta_inf = os.path.join(instance.base_dir, 'webapps', 'ROOT', 'META-INF')
self.backup(meta_inf)
- self.create_meta_inf(meta_inf)
+ self.create_meta_inf(instance, meta_inf)
context_xml = os.path.join(meta_inf, 'context.xml')
self.backup(context_xml)
self.create_context_xml(
+ instance,
self.context_xml % ('server', 'ROOT'),
context_xml)
@@ -97,12 +97,13 @@ class ReplaceRandomNumberGenerator(pki.server.upgrade.PKIServerUpgradeScriptlet)
meta_inf = os.path.join(instance.base_dir, 'webapps', 'pki', 'META-INF')
self.backup(meta_inf)
- self.create_meta_inf(meta_inf)
+ self.create_meta_inf(instance, meta_inf)
context_xml = os.path.join(meta_inf, 'context.xml')
self.backup(context_xml)
self.create_context_xml(
+ instance,
self.context_xml % ('server', 'pki'),
context_xml)
@@ -113,26 +114,20 @@ class ReplaceRandomNumberGenerator(pki.server.upgrade.PKIServerUpgradeScriptlet)
with open(context_xml, 'w') as f:
f.write(etree.tostring(document, pretty_print=True))
- def create_meta_inf(self, path):
-
- uid = pwd.getpwnam('pkiuser').pw_uid
- gid = grp.getgrnam('pkiuser').gr_gid
+ def create_meta_inf(self, instance, path):
if not os.path.exists(path):
os.mkdir(path)
- os.chown(path, uid, gid)
+ os.chown(path, instance.uid, instance.gid)
os.chmod(path, 0770)
- def create_context_xml(self, source, target):
+ def create_context_xml(self, instance, source, target):
if not os.path.exists(target):
shutil.copyfile(source, target)
- uid = pwd.getpwnam('pkiuser').pw_uid
- gid = grp.getgrnam('pkiuser').gr_gid
-
- os.chown(target, uid, gid)
+ os.chown(target, instance.uid, instance.gid)
os.chmod(target, 0660)
def add_manager(self, document):
diff --git a/base/server/upgrade/10.0.99/03-FixRegistryFile b/base/server/upgrade/10.0.99/03-FixRegistryFile
index 053697f49711cac0a3b5149ea638737fa38a3c74..7940e7c460523fc4fc86c5fe03759a856db8a957 100755
--- a/base/server/upgrade/10.0.99/03-FixRegistryFile
+++ b/base/server/upgrade/10.0.99/03-FixRegistryFile
@@ -19,9 +19,7 @@
# All rights reserved.
#
-import grp
import os
-import pwd
import re
import pki.server
import pki.server.upgrade
@@ -42,16 +40,7 @@ class FixRegistryFile(pki.server.upgrade.PKIServerUpgradeScriptlet):
with open(registry_file, "w") as registry:
for line in lines:
- m = re.search('^PKI_USER=(.*)$', line)
- if m:
- user = m.group(1)
- m = re.search('^PKI_GROUP=(.*)$', line)
- if m:
- group = m.group(1)
-
registry.write(
re.sub(r'PKI_INSTANCE_ID', 'PKI_INSTANCE_NAME', line))
- uid = pwd.getpwnam(user).pw_uid
- gid = grp.getgrnam(group).gr_gid
- os.chown(registry_file, uid, gid)
+ os.chown(registry_file, instance.uid, instance.gid)
diff --git a/base/server/upgrade/10.0.99/04-FixLogFileOwnership b/base/server/upgrade/10.0.99/04-FixLogFileOwnership
index b63055f29d3da928bb0095c3eeaf76dd755c3ee3..e4cb93437f6cfea0495e0e7fffe0ed57c4aadda9 100755
--- a/base/server/upgrade/10.0.99/04-FixLogFileOwnership
+++ b/base/server/upgrade/10.0.99/04-FixLogFileOwnership
@@ -19,10 +19,7 @@
# All rights reserved.
#
-import grp
import os
-import pwd
-import re
import pki.server.upgrade
@@ -32,23 +29,6 @@ class FixLogFileOwnership(pki.server.upgrade.PKIServerUpgradeScriptlet):
self.message = 'Fix log file ownership'
def upgrade_instance(self, instance):
- registry_file = os.path.join(
- pki.server.REGISTRY_DIR, 'tomcat', instance.name, instance.name)
-
- with open(registry_file, "r") as registry:
- lines = registry.readlines()
-
- for line in lines:
- m = re.search('^PKI_USER=(.*)$', line)
- if m:
- user = m.group(1)
- m = re.search('^PKI_GROUP=(.*)$', line)
- if m:
- group = m.group(1)
-
- uid = pwd.getpwnam(user).pw_uid
- gid = grp.getgrnam(group).gr_gid
log_dir = os.path.join('/var/log/pki', instance.name)
-
- pki.util.chown(log_dir, uid, gid)
+ pki.util.chown(log_dir, instance.uid, instance.gid)
diff --git a/base/server/upgrade/10.1.1/01-MoveWebApplicationContextFile b/base/server/upgrade/10.1.1/01-MoveWebApplicationContextFile
index 603fc6b8f69c3124d302294be15011ed84e178b1..d2526c5310f117b65fdb79308dcb068aee44aeef 100755
--- a/base/server/upgrade/10.1.1/01-MoveWebApplicationContextFile
+++ b/base/server/upgrade/10.1.1/01-MoveWebApplicationContextFile
@@ -19,10 +19,7 @@
# All rights reserved.
#
-import grp
import os
-import pwd
-import re
import pki.server.upgrade
@@ -72,26 +69,8 @@ class MoveWebApplicationContextFile(pki.server.upgrade.PKIServerUpgradeScriptlet
# copy context file, don't overwrite existing file
pki.util.copyfile(old_context_file, new_context_file, overwrite=False)
- # find uid and gid
- registry_file = os.path.join(
- pki.server.REGISTRY_DIR, 'tomcat', instance.name, instance.name)
-
- with open(registry_file, 'r') as registry:
- lines = registry.readlines()
-
- for line in lines:
- m = re.search('^PKI_USER=(.*)$', line)
- if m:
- user = m.group(1)
- m = re.search('^PKI_GROUP=(.*)$', line)
- if m:
- group = m.group(1)
-
- uid = pwd.getpwnam(user).pw_uid
- gid = grp.getgrnam(group).gr_gid
-
# set file and folder ownership
- pki.util.chown(catalina_dir, uid, gid)
+ pki.util.chown(catalina_dir, instance.uid, instance.gid)
# remove old context file
if os.path.exists(old_context_file):
diff --git a/base/server/upgrade/10.1.99/01-MoveWebApplicationContextFile b/base/server/upgrade/10.1.99/01-MoveWebApplicationContextFile
index 603fc6b8f69c3124d302294be15011ed84e178b1..d2526c5310f117b65fdb79308dcb068aee44aeef 100755
--- a/base/server/upgrade/10.1.99/01-MoveWebApplicationContextFile
+++ b/base/server/upgrade/10.1.99/01-MoveWebApplicationContextFile
@@ -19,10 +19,7 @@
# All rights reserved.
#
-import grp
import os
-import pwd
-import re
import pki.server.upgrade
@@ -72,26 +69,8 @@ class MoveWebApplicationContextFile(pki.server.upgrade.PKIServerUpgradeScriptlet
# copy context file, don't overwrite existing file
pki.util.copyfile(old_context_file, new_context_file, overwrite=False)
- # find uid and gid
- registry_file = os.path.join(
- pki.server.REGISTRY_DIR, 'tomcat', instance.name, instance.name)
-
- with open(registry_file, 'r') as registry:
- lines = registry.readlines()
-
- for line in lines:
- m = re.search('^PKI_USER=(.*)$', line)
- if m:
- user = m.group(1)
- m = re.search('^PKI_GROUP=(.*)$', line)
- if m:
- group = m.group(1)
-
- uid = pwd.getpwnam(user).pw_uid
- gid = grp.getgrnam(group).gr_gid
-
# set file and folder ownership
- pki.util.chown(catalina_dir, uid, gid)
+ pki.util.chown(catalina_dir, instance.uid, instance.gid)
# remove old context file
if os.path.exists(old_context_file):
diff --git a/base/server/upgrade/10.1.99/02-ReplaceJettisonWithJackson b/base/server/upgrade/10.1.99/02-ReplaceJettisonWithJackson
index 7a6216ef4e3bde4c3497b6125f6b9a31a76b3d94..e39acb0e02086bbbf56dfb6613016a88175abee9 100755
--- a/base/server/upgrade/10.1.99/02-ReplaceJettisonWithJackson
+++ b/base/server/upgrade/10.1.99/02-ReplaceJettisonWithJackson
@@ -19,10 +19,7 @@
# All rights reserved.
#
-import grp
import os
-import pwd
-import re
import subprocess
import pki.server.upgrade
@@ -39,24 +36,6 @@ class ReplaceJettisonWithJackson(pki.server.upgrade.PKIServerUpgradeScriptlet):
# Tomcat common library
common_lib = os.path.join(instance.base_dir, 'common', 'lib')
- # Tomcat user and group
- registry_file = os.path.join(
- pki.server.REGISTRY_DIR, 'tomcat', instance.name, instance.name)
-
- with open(registry_file, "r") as registry:
- lines = registry.readlines()
-
- for line in lines:
- m = re.search('^PKI_USER=(.*)$', line)
- if m:
- user = m.group(1)
- m = re.search('^PKI_GROUP=(.*)$', line)
- if m:
- group = m.group(1)
-
- uid = pwd.getpwnam(user).pw_uid
- gid = grp.getgrnam(group).gr_gid
-
# RESTEasy library
resteasy_lib = subprocess.check_output(
'. /etc/pki/pki.conf && echo $RESTEASY_LIB',
@@ -74,63 +53,63 @@ class ReplaceJettisonWithJackson(pki.server.upgrade.PKIServerUpgradeScriptlet):
# create new links
source = os.path.join('/usr/share/java', 'jackson-annotations.jar')
link = os.path.join(common_lib, 'jackson-annotations.jar')
- self.create_link(source, link, uid, gid)
+ self.create_link(instance, source, link)
source = os.path.join('/usr/share/java/jackson', 'jackson-core-asl.jar')
link = os.path.join(common_lib, 'jackson-core-asl.jar')
- self.create_link(source, link, uid, gid)
+ self.create_link(instance, source, link)
source = os.path.join('/usr/share/java', 'jackson-core.jar')
link = os.path.join(common_lib, 'jackson-core.jar')
- self.create_link(source, link, uid, gid)
+ self.create_link(instance, source, link)
source = os.path.join('/usr/share/java', 'jackson-databind.jar')
link = os.path.join(common_lib, 'jackson-databind.jar')
- self.create_link(source, link, uid, gid)
+ self.create_link(instance, source, link)
source = os.path.join('/usr/share/java/jackson-jaxrs-providers', 'jackson-jaxrs-base.jar')
link = os.path.join(common_lib, 'jackson-jaxrs-base.jar')
- self.create_link(source, link, uid, gid)
+ self.create_link(instance, source, link)
source = os.path.join('/usr/share/java/jackson', 'jackson-jaxrs.jar')
link = os.path.join(common_lib, 'jackson-jaxrs.jar')
- self.create_link(source, link, uid, gid)
+ self.create_link(instance, source, link)
source = os.path.join('/usr/share/java/jackson-jaxrs-providers', 'jackson-jaxrs-json-provider.jar')
link = os.path.join(common_lib, 'jackson-jaxrs-json-provider.jar')
- self.create_link(source, link, uid, gid)
+ self.create_link(instance, source, link)
source = os.path.join('/usr/share/java/jackson', 'jackson-mapper-asl.jar')
link = os.path.join(common_lib, 'jackson-mapper-asl.jar')
- self.create_link(source, link, uid, gid)
+ self.create_link(instance, source, link)
source = os.path.join('/usr/share/java', 'jackson-module-jaxb-annotations.jar')
link = os.path.join(common_lib, 'jackson-module-jaxb-annotations.jar')
- self.create_link(source, link, uid, gid)
+ self.create_link(instance, source, link)
source = os.path.join('/usr/share/java/jackson', 'jackson-mrbean.jar')
link = os.path.join(common_lib, 'jackson-mrbean.jar')
- self.create_link(source, link, uid, gid)
+ self.create_link(instance, source, link)
source = os.path.join('/usr/share/java/jackson', 'jackson-smile.jar')
link = os.path.join(common_lib, 'jackson-smile.jar')
- self.create_link(source, link, uid, gid)
+ self.create_link(instance, source, link)
source = os.path.join('/usr/share/java/jackson', 'jackson-xc.jar')
link = os.path.join(common_lib, 'jackson-xc.jar')
- self.create_link(source, link, uid, gid)
+ self.create_link(instance, source, link)
source = os.path.join(resteasy_lib, 'resteasy-jackson-provider.jar')
link = os.path.join(common_lib, 'resteasy-jackson-provider.jar')
- self.create_link(source, link, uid, gid)
+ self.create_link(instance, source, link)
def remove_link(self, link):
self.backup(link)
os.remove(link)
- def create_link(self, source, link, uid, gid):
+ def create_link(self, instance, source, link):
self.backup(link)
os.symlink(source, link)
- os.lchown(link, uid, gid)
+ os.lchown(link, instance.uid, instance.gid)
diff --git a/base/server/upgrade/10.1.99/03-AddedRESTEasyClient b/base/server/upgrade/10.1.99/03-AddedRESTEasyClient
index 55bc8c367719e7f22ebd2e81d8ef4369641456b5..63d4a93eb60d1edde0fbe953ed7d78d44a1a6b59 100755
--- a/base/server/upgrade/10.1.99/03-AddedRESTEasyClient
+++ b/base/server/upgrade/10.1.99/03-AddedRESTEasyClient
@@ -19,10 +19,7 @@
# All rights reserved.
#
-import grp
import os
-import pwd
-import re
import subprocess
import pki.server.upgrade
@@ -39,24 +36,6 @@ class AddedRESTEasyClient(pki.server.upgrade.PKIServerUpgradeScriptlet):
# Tomcat common library
common_lib = os.path.join(instance.base_dir, 'common', 'lib')
- # Tomcat user and group
- registry_file = os.path.join(
- pki.server.REGISTRY_DIR, 'tomcat', instance.name, instance.name)
-
- with open(registry_file, "r") as registry:
- lines = registry.readlines()
-
- for line in lines:
- m = re.search('^PKI_USER=(.*)$', line)
- if m:
- user = m.group(1)
- m = re.search('^PKI_GROUP=(.*)$', line)
- if m:
- group = m.group(1)
-
- uid = pwd.getpwnam(user).pw_uid
- gid = grp.getgrnam(group).gr_gid
-
# RESTEasy library
resteasy_lib = subprocess.check_output(
'. /etc/pki/pki.conf && echo $RESTEASY_LIB',
@@ -67,10 +46,10 @@ class AddedRESTEasyClient(pki.server.upgrade.PKIServerUpgradeScriptlet):
# create new links
source = os.path.join(resteasy_lib, 'resteasy-client.jar')
link = os.path.join(common_lib, 'resteasy-client.jar')
- self.create_link(source, link, uid, gid)
+ self.create_link(instance, source, link)
- def create_link(self, source, link, uid, gid):
+ def create_link(self, instance, source, link):
self.backup(link)
os.symlink(source, link)
- os.lchown(link, uid, gid)
+ os.lchown(link, instance.uid, instance.gid)
diff --git a/base/server/upgrade/10.2.2/01-MoveWebApplicationDeploymentLocations b/base/server/upgrade/10.2.2/01-MoveWebApplicationDeploymentLocations
index 20f35e837d2dbce7bfee01187b9763d4ff592d40..2a1ec99d716ff0124cfa58327ef003cd1e8e0eb1 100755
--- a/base/server/upgrade/10.2.2/01-MoveWebApplicationDeploymentLocations
+++ b/base/server/upgrade/10.2.2/01-MoveWebApplicationDeploymentLocations
@@ -19,9 +19,7 @@
# All rights reserved.
#
-import grp
import os
-import pwd
import shutil
import signal
import sys
@@ -52,10 +50,7 @@ class MoveWebApplicationDeploymentLocations(pki.server.upgrade.PKIServerUpgradeS
if not os.path.exists(subsystem_webapps):
os.mkdir(subsystem_webapps)
- uid = pwd.getpwnam('pkiuser').pw_uid
- gid = grp.getgrnam('pkiuser').gr_gid
-
- os.chown(subsystem_webapps, uid, gid)
+ os.chown(subsystem_webapps, instance.uid, instance.gid)
os.chmod(subsystem_webapps, 0770)
# move subsystem webapp
@@ -74,10 +69,7 @@ class MoveWebApplicationDeploymentLocations(pki.server.upgrade.PKIServerUpgradeS
if not os.path.exists(common_webapps):
os.mkdir(common_webapps)
- uid = pwd.getpwnam('pkiuser').pw_uid
- gid = grp.getgrnam('pkiuser').gr_gid
-
- os.chown(common_webapps, uid, gid)
+ os.chown(common_webapps, instance.uid, instance.gid)
os.chmod(common_webapps, 0770)
# move ROOT webapp
diff --git a/base/server/upgrade/10.2.3/01-FixInstanceWorkFolderOwnership b/base/server/upgrade/10.2.3/01-FixInstanceWorkFolderOwnership
index 6872a165a6f5ae0629f2709aa7522713ea2d4d0f..700aaf3ce682682148ed444337b25eaac2482b0b 100755
--- a/base/server/upgrade/10.2.3/01-FixInstanceWorkFolderOwnership
+++ b/base/server/upgrade/10.2.3/01-FixInstanceWorkFolderOwnership
@@ -19,10 +19,7 @@
# All rights reserved.
#
-import grp
import os
-import pwd
-import re
import pki.server.upgrade
@@ -32,26 +29,6 @@ class FixInstanceWorkFolderOwnership(pki.server.upgrade.PKIServerUpgradeScriptle
self.message = 'Fix instance work folder ownership'
def upgrade_instance(self, instance):
- registry_file = os.path.join(
- pki.server.REGISTRY_DIR, 'tomcat', instance.name, instance.name)
-
- with open(registry_file, "r") as registry:
- lines = registry.readlines()
-
- user = None
- group = None
-
- for line in lines:
- m = re.search('^PKI_USER=(.*)$', line)
- if m:
- user = m.group(1)
- m = re.search('^PKI_GROUP=(.*)$', line)
- if m:
- group = m.group(1)
-
- uid = pwd.getpwnam(user).pw_uid
- gid = grp.getgrnam(group).gr_gid
dir = os.path.join(instance.base_dir, 'work/Catalina/localhost/pki')
-
- pki.util.chown(dir, uid, gid)
+ pki.util.chown(dir, instance.uid, instance.gid)
--
1.9.3
More information about the Pki-devel
mailing list