From 11266d039f6c59be1bf8ce888972d012ce49ddf6 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Tue, 22 Jan 2008 11:58:06 +0000 Subject: Re-factor the ipa_webgui and ipa_kpasswd instance code The ipa_webgui and ipa_kpasswd instance code is identical and I want to add another similar instance down the line, so re-factor the code into a service.SimpleServiceInstance class. Signed-off-by: Mark McLoughlin --- ipa-server/ipaserver/service.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'ipa-server/ipaserver/service.py') diff --git a/ipa-server/ipaserver/service.py b/ipa-server/ipaserver/service.py index e960c43d..e9dc1dcd 100644 --- a/ipa-server/ipaserver/service.py +++ b/ipa-server/ipaserver/service.py @@ -125,3 +125,26 @@ class Service: self.print_msg("done configuring %s." % self.service_name) self.steps = [] + +class SimpleServiceInstance(Service): + def create_instance(self): + self.step("starting %s " % self.service_name, self.__start) + self.step("configuring %s to start on boot" % self.service_name, self.__enable) + self.start_creation("Configuring %s" % self.service_name) + + def __start(self): + self.backup_state("running", self.is_running()) + self.restart() + + def __enable(self): + self.backup_state("enabled", self.is_enabled()) + self.chkconfig_on() + + def uninstall(self): + running = self.restore_state("running") + enabled = not self.restore_state("enabled") + + if not running is None and not running: + self.stop() + if not enabled is None and not enabled: + self.chkconfig_off() -- cgit