The following patch, plus python logging module is an initial steps towards rhel3 compatibility. I forgot to mention in the certmaster e-mail that it would be nice to come up with a conditional around the "from __future__ import generators" -greg diff --git a/func/forkbomb.py b/func/forkbomb.py index 0168e8a..4a581be 100644 --- a/func/forkbomb.py +++ b/func/forkbomb.py @@ -31,7 +31,11 @@ def __get_storage(dir): dir = os.path.expanduser(dir) if not os.path.exists(dir): os.makedirs(dir) - return tempfile.mktemp(suffix='', prefix='asynctmp', dir=dir) + tempfile.tempdir = dir + try: + return tempfile.mkstemp(suffix='asynctmp') + except: + return tempfile.mktemp(suffix='asynctmp') def __access_buckets(filename,clear,new_key=None,new_value=None): """ @@ -135,6 +139,7 @@ def batch_run(pool,callback,nforks=DEFAULT_FORKS,cachedir=DEFAULT_CACHE_DIR): # modulus voodoo gets crazy otherwise and bad things happen nforks = 1 shelf_file = __get_storage(cachedir) + print "Shelf_file: %s" % (shelf_file) __access_buckets(shelf_file,True,None) buckets = __bucketize(pool, nforks) __forkbomb(0,buckets,callback,shelf_file) diff --git a/func/module_loader.py b/func/module_loader.py index 2aa1378..c3a726f 100755 --- a/func/module_loader.py +++ b/func/module_loader.py @@ -27,6 +27,12 @@ from inspect import isclass from func.minion.modules import func_module from func.utils import is_public_valid_method +try: + os.walk +except: + from aoOSWalk import aoOSWalk as walk + os.walk = walk + def module_walker(topdir): module_files = [] for root, dirs, files in os.walk(topdir): diff --git a/func/overlord/client.py b/func/overlord/client.py index 5d930fe..03dad32 100755 --- a/func/overlord/client.py +++ b/func/overlord/client.py @@ -460,8 +460,8 @@ class Overlord(object): else: #we're directly calling minions, so treat everything normally spec = self.server_spec minionurls = self.minions - #print "Minion_url is :",minionurls - #print "Process server is :",process_server + print "Minion_url is :",minionurls + print "Process server is :",process_server if not self.noglobs: if self.nforks > 1 or self.async: @@ -470,7 +470,8 @@ class Overlord(object): results = forkbomb.batch_run(minionurls, process_server, nforks) else: - minion_info =dict(spec=spec,module=module,method=method) +# minion_info =dict(spec=spec,module=module,method=method) + minion_info = {'spec':spec,'module':module,'method':method} results = jobthing.batch_run(minionurls, process_server,nforks,**minion_info) else: # no need to go through the fork code, we can do this directly diff --git a/func/overlord/delegation_tools.py b/func/overlord/delegation_tools.py index 0f3b43e..3367c0f 100644 --- a/func/overlord/delegation_tools.py +++ b/func/overlord/delegation_tools.py @@ -15,6 +15,8 @@ ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ## +from __future__ import generators + import fnmatch class groupby(object): diff --git a/func/overlord/groups.py b/func/overlord/groups.py index 77010ef..5c4a748 100644 --- a/func/overlord/groups.py +++ b/func/overlord/groups.py @@ -42,8 +42,11 @@ class Groups(object): self.__parse() def __parse(self): - - self.cp = ConfigParser.SafeConfigParser() + + try: + self.cp = ConfigParser.SafeConfigParser() + except: + self.cp = ConfigParser.ConfigParser() self.cp.read(self.__filename) #loop through the group_names _______________________________________________ Func-list mailing list Func-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/func-list