From 2cbc6fd6a2c33b46f97658b613bfca9182a5b518 Mon Sep 17 00:00:00 2001 From: Martin Kosek Date: Tue, 10 May 2011 15:14:20 +0200 Subject: Improve service manipulation in client install Remove redundant ipa-client-install error message when optional nscd daemon was not installed. Additionally, use standard IPA functions for service manipulation and improve logging. https://fedorahosted.org/freeipa/ticket/1207 --- ipapython/ipautil.py | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'ipapython/ipautil.py') diff --git a/ipapython/ipautil.py b/ipapython/ipautil.py index b5a0b9105..4280cd9f4 100644 --- a/ipapython/ipautil.py +++ b/ipapython/ipautil.py @@ -967,3 +967,51 @@ def get_gsserror(e): minor = e[0][1] return (major, minor) + + +def service_stop(service_name, instance_name="", capture_output=True): + run(["/sbin/service", service_name, "stop", instance_name], + capture_output=capture_output) + +def service_start(service_name, instance_name="", capture_output=True): + run(["/sbin/service", service_name, "start", instance_name], + capture_output=capture_output) + +def service_restart(service_name, instance_name="", capture_output=True): + run(["/sbin/service", service_name, "restart", instance_name], + capture_output=capture_output) + +def service_is_running(service_name, instance_name=""): + ret = True + try: + run(["/sbin/service", service_name, "status", instance_name]) + except CalledProcessError: + ret = False + return ret + +def service_is_installed(service_name): + installed = True + try: + run(["/sbin/service", service_name, "status"]) + except CalledProcessError, e: + if e.returncode == 1: + # service is not installed or there is other serious issue + installed = False + return installed + +def service_is_enabled(service_name): + (stdout, stderr, returncode) = run(["/sbin/chkconfig", service_name], raiseonerr=False) + return (returncode == 0) + +def chkconfig_on(service_name): + run(["/sbin/chkconfig", service_name, "on"]) + +def chkconfig_off(service_name): + run(["/sbin/chkconfig", service_name, "off"]) + +def chkconfig_add(service_name): + run(["/sbin/chkconfig", "--add", service_name]) + +def chkconfig_del(service_name): + run(["/sbin/chkconfig", "--del", service_name]) + -- cgit