Browse Source

ee stack reload

bugfixes
harshadyeola 10 years ago
parent
commit
3645200589
  1. 27
      ee/cli/plugins/stack_services.py
  2. 67
      ee/core/services.py

27
ee/cli/plugins/stack_services.py

@ -125,3 +125,30 @@ class EEStackStatusController(CementBaseController):
for service in services: for service in services:
if EEService.get_service_status(self, service): if EEService.get_service_status(self, service):
Log.info(self, "{0:10}: {1}".format(service, "Running")) Log.info(self, "{0:10}: {1}".format(service, "Running"))
@expose(help="reload stack services")
def reload(self):
services = []
if self.app.pargs.nginx:
Log.debug(self, "nginx service restart")
services = services + ['nginx']
elif self.app.pargs.php:
Log.debug(self, "php5-fpm service restart")
services = services + ['php5-fpm']
elif self.app.pargs.mysql:
Log.debug(self, "mysql service restart")
services = services + ['mysql']
elif self.app.pargs.postfix:
Log.debug(self, "postfix service restart")
services = services + ['postfix']
elif self.app.pargs.memcache:
Log.debug(self, "memcached service restart")
services = services + ['memcached']
elif self.app.pargs.dovecot:
Log.debug(self, "dovecot service restart")
services = services + ['dovecot']
else:
services = services + ['nginx', 'php5-fpm', 'mysql', 'postfix']
for service in services:
Log.debug(self, "nginx,php5-fpm,mysql,postfix services restart")
EEService.reload_service(self, service)

67
ee/core/services.py

@ -10,74 +10,88 @@ import pystache
class EEService(): class EEService():
"""Intialization for service""" """Intialization for service"""
def ___init__(): def ___init__():
# TODO method for services
pass pass
def start_service(self, service_name): def start_service(self, service_name):
try: try:
Log.info(self, "Start : {0:10}" .format(service_name), end='')
retcode = subprocess.getstatusoutput('service {0} start' retcode = subprocess.getstatusoutput('service {0} start'
.format(service_name)) .format(service_name))
if retcode[0] == 0: if retcode[0] == 0:
Log.info(self, "Started : {0:10}{1}" Log.info(self, "[OK]")
.format(service_name, "[OK]")) return True
else: else:
Log.error(self, retcode[1]) Log.debug(self, "{0}".format(retcode[1]))
Log.info(self, "[" + Log.FAIL + "Failed" + Log.OKBLUE+"]")
return False
except OSError as e: except OSError as e:
Log.debug(self, "{0}{1}".format(e.errno, e.strerror)) Log.debug(self, "{0}".format(e))
Log.error(self, "Failed to start service {0}" Log.error(self, "\nFailed to start service {0}"
.format(service_name)) .format(service_name))
return False
def stop_service(self, service_name): def stop_service(self, service_name):
try: try:
Log.info(self, "Stop : {0:10}" .format(service_name), end='')
retcode = subprocess.getstatusoutput('service {0} stop' retcode = subprocess.getstatusoutput('service {0} stop'
.format(service_name)) .format(service_name))
if retcode[0] == 0: if retcode[0] == 0:
Log.info(self, "Stopped : {0:10}{1}" Log.info(self, "[OK]")
.format(service_name, "[OK]"))
return True return True
else: else:
Log.debug(self, "{0}".format(retcode[1]))
Log.info(self, "[" + Log.FAIL + "Failed" + Log.OKBLUE+"]")
return False return False
except OSError as e: except OSError as e:
Log.debug(self, "{0} {1}".format(e.errno, e.strerror)) Log.debug(self, "{0}".format(e))
Log.error(self, "Failed to stop service : {0}" Log.error(self, "\nFailed to stop service : {0}"
.format(service_name)) .format(service_name))
return False
def restart_service(self, service_name): def restart_service(self, service_name):
try: try:
EEService.stop_service(self, service_name) Log.info(self, "Restart : {0:10}".format(service_name), end='')
EEService.start_service(self, service_name) retcode = subprocess.getstatusoutput('service {0} restart'
Log.info(self, "restart : {0:10}{1}" .format(service_name))
.format(service_name, "[OK]")) if retcode[0] == 0:
Log.info(self, "[OK]")
return True
else:
Log.debug(self, "{0}".format(retcode[1]))
Log.info(self, "[" + Log.FAIL + "Failed" + Log.OKBLUE+"]")
return False
except OSError as e: except OSError as e:
Log.debug(self, "{0}{1}".format(e.errno, e.strerror)) Log.debug(self, "{0} {1}".format(e.errno, e.strerror))
Log.error(self, "Failed to restart services \{0}" Log.error(self, "\nFailed to restart service : {0}"
.format(service_name)) .format(service_name))
def reload_service(self, service_name): def reload_service(self, service_name):
try: try:
if service_name in ['nginx', 'php5-fpm']: if service_name in ['nginx', 'php5-fpm']:
retcode = subprocess.getstatusoutput('{0} -t' Log.info(self, "Reload : {0:10}".format(service_name),
end='')
retcode = subprocess.getstatusoutput('{0} -t &&'
' service {0} reload'
.format(service_name)) .format(service_name))
if retcode[0] == 0: if retcode[0] == 0:
subprocess.getstatusoutput('service {0} reload' # print(retcode[0])
.format(service_name)) # subprocess.getstatusoutput('service {0} reload'
Log.info(self, "reload :{0:10}{1}" # .format(service_name))
.format(service_name, "[OK]")) Log.info(self, "[OK]")
return True return True
else: else:
Log.debug(self, "{0}".format(retcode[1])) Log.debug(self, "{0}".format(retcode[1]))
Log.error(self, "reload : {0}".format(service_name)) Log.info(self, "[" + Log.FAIL + "Failed" +
Log.OKBLUE+"]")
return False return False
Log.info(self, "Reload : {0:10}".format(service_name), end='')
retcode = subprocess.getstatusoutput('service {0} reload' retcode = subprocess.getstatusoutput('service {0} reload'
.format(service_name)) .format(service_name))
if retcode[0] == 0: if retcode[0] == 0:
Log.info(self, "reload : {0:10}{1}" Log.info(self, "[OK]")
.format(service_name, "[OK]"))
return True return True
else: else:
Log.debug(self, "{0}".format(retcode[1]))
Log.info(self, "[" + Log.FAIL + "Failed" + Log.OKBLUE+"]")
return False return False
except OSError as e: except OSError as e:
Log.debug(self, "{0}".format(e)) Log.debug(self, "{0}".format(e))
@ -94,6 +108,7 @@ class EEService():
if retcode[0] == 0: if retcode[0] == 0:
return True return True
else: else:
Log.debug(self, "{0}".format(retcode[1]))
return False return False
else: else:
return False return False

Loading…
Cancel
Save