From bff73023105ea0036b57d28f0571744f658cb2a8 Mon Sep 17 00:00:00 2001 From: Seth Vidal Date: Thu, 27 Sep 2007 16:31:06 -0400 Subject: port minion/funcd over to new config object --- minion/logger.py | 13 ++++++------- minion/server.py | 19 +++++++++++++------ minion/utils.py | 12 ++++++------ 3 files changed, 25 insertions(+), 19 deletions(-) (limited to 'minion') diff --git a/minion/logger.py b/minion/logger.py index f6f9c0f..9e8b62d 100755 --- a/minion/logger.py +++ b/minion/logger.py @@ -16,7 +16,9 @@ import logging -import config_data +from func.config import BaseConfig, BoolOption, IntOption, Option, ConfigError, read_config, ListOption + +from server import FuncdConfig # from the comments in http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/66531 @@ -33,12 +35,9 @@ class Logger(Singleton): _no_handlers = True def __init__(self, logfilepath ="/var/log/func/func.log"): - - self.config = config_data.Config().get() - if self.config.has_key("log_level"): - self.loglevel = logging._levelNames[self.config["log_level"]] - else: - self.loglevel = logging.INFO + config_fle = '/etc/func/minion.conf' + self.config = read_config(config_file, FuncdConfig) + self.loglevel = logging._levelNames[self.config.log_level] self._setup_logging() if self._no_handlers: self._setup_handlers(logfilepath=logfilepath) diff --git a/minion/server.py b/minion/server.py index e5b9574..134cd13 100755 --- a/minion/server.py +++ b/minion/server.py @@ -25,7 +25,7 @@ from rhpl.translate import textdomain I18N_DOMAIN = "func" -from func import config_data +from func.config import BaseConfig, BoolOption, IntOption, Option, ConfigError, read_config, ListOption from func import logger # our modules @@ -34,6 +34,13 @@ import codes import module_loader import utils +class FuncdConfig(BaseConfig) + overlord_server = Option('funcmaster') + log_level = Option('INFO') + certmaster = Option('http://certmaster:51235/') + cert_dir = Option('/etc/pki/func') + + class XmlRpcInterface(object): def __init__(self): @@ -42,8 +49,8 @@ class XmlRpcInterface(object): Constructor. """ - config_obj = config_data.Config() - self.config = config_obj.get() + config_fle = '/etc/func/minion.conf' + self.config = read_config(config_file, FuncdConfig) self.logger = logger.Logger().logger self.audit_logger = logger.AuditLogger() self.__setup_handlers() @@ -167,9 +174,9 @@ class FuncSSLXMLRPCServer(AuthedXMLRPCServer.AuthedSSLXMLRPCServer, XmlRpcInterface.__init__(self) hn = socket.getfqdn() - self.key = "%s/%s.pem" % (self.config['cert_dir'], hn) - self.cert = "%s/%s.cert" % (self.config['cert_dir'], hn) - self.ca = "%s/ca.cert" % self.config['cert_dir'] + self.key = "%s/%s.pem" % (self.config.cert_dir, hn) + self.cert = "%s/%s.cert" % (self.config.cert_dir, hn) + self.ca = "%s/ca.cert" % self.config.cert_dir AuthedXMLRPCServer.AuthedSSLXMLRPCServer.__init__(self, ("", 51234), self.key, self.cert, diff --git a/minion/utils.py b/minion/utils.py index 177d4ee..bc64d1b 100755 --- a/minion/utils.py +++ b/minion/utils.py @@ -23,15 +23,15 @@ import xmlrpclib import codes from func import certs -from func import config_data - +from func.config import BaseConfig, BoolOption, IntOption, Option, ConfigError, read_config, ListOption +from server import FuncdConfig def create_minion_keys(): - config_obj = config_data.Config() - config = config_obj.get() - cert_dir = config['cert_dir'] - master_uri = config['certmaster'] + config_fle = '/etc/func/minion.conf' + config = read_config(config_file, FuncdConfig) + cert_dir = config.cert_dir + master_uri = config.certmaster hn = socket.getfqdn() key_file = '%s/%s.pem' % (cert_dir, hn) -- cgit