diff options
author | Steve Salevan <ssalevan@marillion.rdu.redhat.com> | 2008-07-01 12:40:50 -0400 |
---|---|---|
committer | Steve Salevan <ssalevan@marillion.rdu.redhat.com> | 2008-07-01 12:40:50 -0400 |
commit | 498ee363f87317ec3649e3ab704933e93e8d4216 (patch) | |
tree | 1f49a929017717fb833902d2e4ea086bde764af4 /func | |
parent | 76d705aca2d8366cd9e920a2cb1431ca19951b1d (diff) | |
download | func-498ee363f87317ec3649e3ab704933e93e8d4216.tar.gz func-498ee363f87317ec3649e3ab704933e93e8d4216.tar.xz func-498ee363f87317ec3649e3ab704933e93e8d4216.zip |
Adding in arguments for calling func with delegation
Diffstat (limited to 'func')
-rw-r--r-- | func/overlord/base_command.py | 6 | ||||
-rwxr-xr-x | func/overlord/client.py | 14 |
2 files changed, 18 insertions, 2 deletions
diff --git a/func/overlord/base_command.py b/func/overlord/base_command.py index f7c33c0..ff0f167 100644 --- a/func/overlord/base_command.py +++ b/func/overlord/base_command.py @@ -25,6 +25,8 @@ class BaseCommand(command.Command): port=DEFAULT_PORT async=False forks=1 + delegate=False + mapfile="" def getOverlord(self): self.overlord_obj = client.Overlord(self.server_spec, port=self.port, @@ -32,4 +34,6 @@ class BaseCommand(command.Command): verbose=self.verbose, config=self.config, async=self.async, - nforks=self.forks) + nforks=self.forks, + delegate=self.delegate, + mapfile=self.mapfile) diff --git a/func/overlord/client.py b/func/overlord/client.py index fb436ed..d3e7546 100755 --- a/func/overlord/client.py +++ b/func/overlord/client.py @@ -16,6 +16,7 @@ import sys import glob import os +import yaml from certmaster.commonconfig import CMConfig from func.config import read_config, CONFIG_FILE @@ -158,7 +159,8 @@ def is_minion(minion_string): class Overlord(object): def __init__(self, server_spec, port=DEFAULT_PORT, interactive=False, - verbose=False, noglobs=False, nforks=1, config=None, async=False, init_ssl=True): + verbose=False, noglobs=False, nforks=1, config=None, async=False, init_ssl=True, + delegate=False, mapfile=""): """ Constructor. @server_spec -- something like "*.example.org" or "foosball" @@ -179,9 +181,19 @@ class Overlord(object): self.noglobs = noglobs self.nforks = nforks self.async = async + self.delegate = delegate + self.mapfile = mapfile self.minions_class = Minions(self.server_spec, port=self.port, noglobs=self.noglobs,verbose=self.verbose) self.minions = self.minions_class.get_urls() + + if self.delegate: + try: + mapstream = file(self.mapfile, 'r') + self.minionmap = yaml.load(mapstream) + except e: + sys.stderr.write("mapfile load failed, switching delegation off") + self.delegate = False if init_ssl: self.setup_ssl() |