summaryrefslogtreecommitdiffstats
path: root/base/server/python/pki/server/deployment
diff options
context:
space:
mode:
authorAde Lee <alee@redhat.com>2014-01-03 12:46:36 -0500
committerAde Lee <alee@redhat.com>2014-01-08 17:35:06 -0500
commit26f73fc5bb226c1d2f0a3d6f686c21c5d0cb24e3 (patch)
tree3370c1112fe792625af918f248b861e136096152 /base/server/python/pki/server/deployment
parentcc831a6be57a868cd36d15335eb0f65e77779c55 (diff)
downloadpki-26f73fc5bb226c1d2f0a3d6f686c21c5d0cb24e3.tar.gz
pki-26f73fc5bb226c1d2f0a3d6f686c21c5d0cb24e3.tar.xz
pki-26f73fc5bb226c1d2f0a3d6f686c21c5d0cb24e3.zip
Debian: add init script functionality
The addtions in this patch will add start/stop/restart/status functionality to operations, so that Debian systems can perform these operations by calling these functions from an init script. We also introduce a parameter in the configuration scripts that can be used to determine if the system is a debian system. This parameter is used to specify a system V init script instead of a systemd script on a debian system, when the configuration scriptlets start and stop a system. Also source apparently does not work by default in debian. Used dot (.) instead.
Diffstat (limited to 'base/server/python/pki/server/deployment')
-rw-r--r--base/server/python/pki/server/deployment/pkihelper.py30
-rw-r--r--base/server/python/pki/server/deployment/pkiparser.py4
2 files changed, 29 insertions, 5 deletions
diff --git a/base/server/python/pki/server/deployment/pkihelper.py b/base/server/python/pki/server/deployment/pkihelper.py
index a84cd0e7b..67519293b 100644
--- a/base/server/python/pki/server/deployment/pkihelper.py
+++ b/base/server/python/pki/server/deployment/pkihelper.py
@@ -3073,7 +3073,13 @@ class Systemd:
service = "pki-tomcatd" + "@" +\
self.master_dict['pki_instance_name'] + "." +\
"service"
- command = ["systemctl", "start", service]
+
+ if pki.system.SYSTEM_TYPE == "debian":
+ command = ["/etc/init.d/pki-tomcatd", "start",
+ self.master_dict['pki_instance_name']]
+ else:
+ command = ["systemctl", "start", service]
+
# Display this "systemd" execution managment command
config.pki_log.info(
log.PKIHELPER_SYSTEMD_COMMAND_1, ' '.join(command),
@@ -3081,6 +3087,9 @@ class Systemd:
# Execute this "systemd" execution management command
subprocess.check_call(command)
except subprocess.CalledProcessError as exc:
+ if pki.system.SYSTEM_TYPE == "debian":
+ if exc.returncode == 6:
+ return
config.pki_log.error(log.PKI_SUBPROCESS_ERROR_1, exc,
extra=config.PKI_INDENTATION_LEVEL_2)
if critical_failure == True:
@@ -3099,7 +3108,13 @@ class Systemd:
service = "pki-tomcatd" + "@" +\
self.master_dict['pki_instance_name'] + "." +\
"service"
- command = ["systemctl", "stop", service]
+
+ if pki.system.SYSTEM_TYPE == "debian":
+ command = ["/etc/init.d/pki-tomcatd", "stop",
+ self.master_dict['pki_instance_name']]
+ else:
+ command = ["systemctl", "stop", service]
+
# Display this "systemd" execution managment command
config.pki_log.info(
log.PKIHELPER_SYSTEMD_COMMAND_1, ' '.join(command),
@@ -3125,7 +3140,13 @@ class Systemd:
service = "pki-tomcatd" + "@" +\
self.master_dict['pki_instance_name'] + "." +\
"service"
- command = ["systemctl", "restart", service]
+
+ if pki.system.SYSTEM_TYPE == "debian":
+ command = ["/etc/init.d/pki-tomcatd", "restart",
+ self.master_dict['pki_instance_name']]
+ else:
+ command = ["systemctl", "restart", service]
+
# Display this "systemd" execution managment command
config.pki_log.info(
log.PKIHELPER_SYSTEMD_COMMAND_1, ' '.join(command),
@@ -3133,6 +3154,9 @@ class Systemd:
# Execute this "systemd" execution management command
subprocess.check_call(command)
except subprocess.CalledProcessError as exc:
+ if pki.system.SYSTEM_TYPE == "debian":
+ if exc.returncode == 6:
+ return
config.pki_log.error(log.PKI_SUBPROCESS_ERROR_1, exc,
extra=config.PKI_INDENTATION_LEVEL_2)
if critical_failure == True:
diff --git a/base/server/python/pki/server/deployment/pkiparser.py b/base/server/python/pki/server/deployment/pkiparser.py
index dba1f50f1..9bce634f9 100644
--- a/base/server/python/pki/server/deployment/pkiparser.py
+++ b/base/server/python/pki/server/deployment/pkiparser.py
@@ -163,14 +163,14 @@ class PKIConfigParser:
# RESTEasy
resteasy_lib = subprocess.check_output(
- 'source /etc/pki/pki.conf && echo $RESTEASY_LIB',
+ '. /etc/pki/pki.conf && echo $RESTEASY_LIB',
shell=True)
# workaround for pylint error E1103
resteasy_lib = str(resteasy_lib).strip()
# JNI jar location
jni_jar_dir = subprocess.check_output(
- 'source /usr/share/pki/etc/pki.conf && echo $JNI_JAR_DIR',
+ '. /usr/share/pki/etc/pki.conf && echo $JNI_JAR_DIR',
shell=True)
# workaround for pylint error E1103
jni_jar_dir = str(jni_jar_dir).strip()