From d774652d1abfe763dcecb208beb36c0136e6f838 Mon Sep 17 00:00:00 2001 From: "Krzysztof A. Adamski" Date: Fri, 27 Jun 2008 15:10:07 -0400 Subject: Fix traceback when starting funcd on Python 2.4 --- func/minion/acls.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'func') diff --git a/func/minion/acls.py b/func/minion/acls.py index c592bd6..2203446 100644 --- a/func/minion/acls.py +++ b/func/minion/acls.py @@ -65,7 +65,7 @@ class Acls(object): self.acls[host] = [] self.acls[host].extend(methods) - self.logger.debug("acls", self.acls) + self.logger.debug("acls %s" % self.acls) return self.acls -- cgit From a5929a01854dd53828e10008b68763c3959632ec Mon Sep 17 00:00:00 2001 From: "Krzysztof A. Adamski" Date: Sun, 29 Jun 2008 14:43:20 -0400 Subject: Add support for forcing some long running methods to be called in async mode from command line. --- func/overlord/cmd_modules/call.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'func') diff --git a/func/overlord/cmd_modules/call.py b/func/overlord/cmd_modules/call.py index 18af3a6..648bcab 100644 --- a/func/overlord/cmd_modules/call.py +++ b/func/overlord/cmd_modules/call.py @@ -17,13 +17,19 @@ import optparse import pprint import xmlrpclib import time +import sys from func.overlord import client from func.overlord import base_command +from func.config import read_config, BaseConfig, ListOption import func.jobthing as jobthing DEFAULT_FORKS = 1 +config_file = '/etc/func/async_methods.conf' + +class CallConfig(BaseConfig): + force_async = ListOption('') class Call(base_command.BaseCommand): name = "call" @@ -126,6 +132,9 @@ class Call(base_command.BaseCommand): # or some sort of shared datastruct? # self.getOverlord() + call_config = read_config(config_file, CallConfig) + if self.method and (self.module+"."+self.method in call_config.force_async): + self.options.async=True self.interactive = False self.async = self.options.async -- cgit From fa085e9a10aabf66cc784541f3ed8297afaf6436 Mon Sep 17 00:00:00 2001 From: "Krzysztof A. Adamski" Date: Sun, 29 Jun 2008 14:48:11 -0400 Subject: Remove unneded print statement. --- func/overlord/cmd_modules/ping.py | 1 - 1 file changed, 1 deletion(-) (limited to 'func') diff --git a/func/overlord/cmd_modules/ping.py b/func/overlord/cmd_modules/ping.py index 4e45af8..8c77ada 100644 --- a/func/overlord/cmd_modules/ping.py +++ b/func/overlord/cmd_modules/ping.py @@ -60,7 +60,6 @@ class Ping(base_command.BaseCommand): noglobs=True) results = overlord_obj.run("test", "ping", []) - print "results", results, type(results) if results == 1: print "[ ok ... ] %s" % server else: -- cgit From c778b947e9ddb9ea3aa39a2d69c36e90ba9b089e Mon Sep 17 00:00:00 2001 From: "Krzysztof A. Adamski" Date: Sun, 29 Jun 2008 14:49:10 -0400 Subject: Add support for local modules configuration files. --- func/minion/modules/func_module.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'func') diff --git a/func/minion/modules/func_module.py b/func/minion/modules/func_module.py index 53fd66b..d75cb33 100644 --- a/func/minion/modules/func_module.py +++ b/func/minion/modules/func_module.py @@ -13,7 +13,7 @@ import inspect from func import logger -from func.config import read_config +from func.config import read_config, BaseConfig from func.commonconfig import FuncdConfig from func.minion.func_arg import * #the arg getter stuff @@ -24,6 +24,9 @@ class FuncModule(object): api_version = "0.0.0" description = "No Description provided" + class Config(BaseConfig): + pass + def __init__(self): config_file = '/etc/func/minion.conf' @@ -37,11 +40,17 @@ class FuncModule(object): "list_methods" : self.__list_methods, "get_method_args" : self.__get_method_args, } + self.__init_options() def __init_log(self): log = logger.Logger() self.logger = log.logger + def __init_options(self): + options_file = '/etc/func/modules/'+self.__class__.__name__+'.conf' + self.options = read_config(options_file, self.Config) + return + def register_rpc(self, handlers, module_name): # add the internal methods, note that this means they # can get clobbbered by subclass versions -- cgit