diff --git a/wo/core/services.py b/wo/core/services.py index bd545ea..6fcf220 100644 --- a/wo/core/services.py +++ b/wo/core/services.py @@ -1,10 +1,9 @@ """WordOps Service Manager""" +import os import subprocess -from subprocess import Popen from wo.core.logging import Log - class WOService(): """Intialization for service""" def ___init__(): @@ -16,25 +15,31 @@ class WOService(): Similar to `service xyz start` """ try: - if service_name in ['nginx', 'php5-fpm']: + if service_name in ['nginx']: # Check Nginx configuration before executing command sub = subprocess.Popen('nginx -t', stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) output, error_output = sub.communicate() if 'emerg' not in str(error_output): service_cmd = ('service {0} start'.format(service_name)) + retcode = subprocess.getstatusoutput(service_cmd) + Log.info(self, "[" + Log.ENDC + "OK" + Log.OKBLUE + "]") + return True + else: + Log.info(self, "[" + Log.FAIL + "Failed" + Log.OKBLUE+"]") + return False else: service_cmd = ('service {0} start'.format(service_name)) - Log.info(self, "Start : {0:10}" .format(service_name), end='') - retcode = subprocess.getstatusoutput(service_cmd) - if retcode[0] == 0: - Log.info(self, "[" + Log.ENDC + "OK" + Log.OKBLUE + "]") - return True - else: - Log.debug(self, "{0}".format(retcode[1])) - Log.info(self, "[" + Log.FAIL + "Failed" + Log.OKBLUE+"]") - return False + Log.info(self, "Start : {0:10}" .format(service_name), end='') + retcode = subprocess.getstatusoutput(service_cmd) + if retcode[0] == 0: + Log.info(self, "[" + Log.ENDC + "OK" + Log.OKBLUE + "]") + return True + else: + Log.debug(self, "{0}".format(retcode[1])) + Log.info(self, "[" + Log.FAIL + "Failed" + Log.OKBLUE+"]") + return False except OSError as e: Log.debug(self, "{0}".format(e)) Log.error(self, "\nFailed to start service {0}" @@ -67,25 +72,30 @@ class WOService(): Similar to `service xyz restart` """ try: - if service_name in ['nginx', 'php5-fpm']: + if service_name in ['nginx']: # Check Nginx configuration before executing command sub = subprocess.Popen('nginx -t', stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) output, error_output = sub.communicate() if 'emerg' not in str(error_output): + Log.info(self, "[" + Log.ENDC + "OK" + Log.OKBLUE + "]") service_cmd = ('service {0} restart'.format(service_name)) + retcode = subprocess.getstatusoutput(service_cmd) + return True + else: + Log.info(self, "[" + Log.FAIL + "Failed" + Log.OKBLUE+"]") + return False else: service_cmd = ('service {0} restart'.format(service_name)) - - Log.info(self, "Restart : {0:10}".format(service_name), end='') - retcode = subprocess.getstatusoutput(service_cmd) - if retcode[0] == 0: - Log.info(self, "[" + Log.ENDC + "OK" + Log.OKBLUE + "]") - return True - else: - Log.debug(self, "{0}".format(retcode[1])) - Log.info(self, "[" + Log.FAIL + "Failed" + Log.OKBLUE+"]") - return False + Log.info(self, "Restart : {0:10}".format(service_name), end='') + retcode = subprocess.getstatusoutput(service_cmd) + if retcode[0] == 0: + Log.info(self, "[" + Log.ENDC + "OK" + Log.OKBLUE + "]") + return True + else: + Log.debug(self, "{0}".format(retcode[1])) + Log.info(self, "[" + Log.FAIL + "Failed" + Log.OKBLUE+"]") + return False except OSError as e: Log.debug(self, "{0} {1}".format(e.errno, e.strerror)) Log.error(self, "\nFailed to restart service : {0}" @@ -97,25 +107,32 @@ class WOService(): Similar to `service xyz stop` """ try: - if service_name in ['nginx', 'php5-fpm']: + if service_name in ['nginx']: # Check Nginx configuration before executing command sub = subprocess.Popen('nginx -t', stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) output, error_output = sub.communicate() if 'emerg' not in str(error_output): service_cmd = ('service {0} restart'.format(service_name)) + retcode = subprocess.getstatusoutput(service_cmd) + Log.info(self, "[" + Log.ENDC + "OK" + Log.OKBLUE + "]") + return True + else: + Log.info(self, "[" + Log.FAIL + "Failed" + Log.OKBLUE+"]") + return False + else: service_cmd = ('service {0} reload'.format(service_name)) - Log.info(self, "Reload : {0:10}".format(service_name), end='') - retcode = subprocess.getstatusoutput(service_cmd) - if retcode[0] == 0: - Log.info(self, "[" + Log.ENDC + "OK" + Log.OKBLUE + "]") - return True - else: - Log.debug(self, "{0}".format(retcode[1])) - Log.info(self, "[" + Log.FAIL + "Failed" + Log.OKBLUE+"]") - return False + Log.info(self, "Reload : {0:10}".format(service_name), end='') + retcode = subprocess.getstatusoutput(service_cmd) + if retcode[0] == 0: + Log.info(self, "[" + Log.ENDC + "OK" + Log.OKBLUE + "]") + return True + else: + Log.debug(self, "{0}".format(retcode[1])) + Log.info(self, "[" + Log.FAIL + "Failed" + Log.OKBLUE+"]") + return False except OSError as e: Log.debug(self, "{0}".format(e)) Log.error(self, "\nFailed to reload service {0}"