diff options
author | Ade Lee <alee@redhat.com> | 2014-01-03 12:46:36 -0500 |
---|---|---|
committer | Ade Lee <alee@redhat.com> | 2014-01-08 17:35:06 -0500 |
commit | 26f73fc5bb226c1d2f0a3d6f686c21c5d0cb24e3 (patch) | |
tree | 3370c1112fe792625af918f248b861e136096152 /base/server/python/pki/server/deployment | |
parent | cc831a6be57a868cd36d15335eb0f65e77779c55 (diff) | |
download | pki-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.py | 30 | ||||
-rw-r--r-- | base/server/python/pki/server/deployment/pkiparser.py | 4 |
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() |