From f9326a1996a665171c37e0f35a53e037c50666e8 Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Tue, 25 Sep 2012 14:03:55 -0400 Subject: misc. minor bug fixes --- src/lib/Bcfg2/Server/Plugins/Packages/Yum.py | 21 ++++++++++++--------- src/lib/Bcfg2/Server/Plugins/Packages/__init__.py | 4 ++-- 2 files changed, 14 insertions(+), 11 deletions(-) (limited to 'src/lib/Bcfg2/Server/Plugins/Packages') diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py index 04d4e9f74..592369029 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py @@ -598,17 +598,20 @@ class YumCollection(Collection): attrs = dict(version=self.setup.cfp.get("packages", "version", default="auto")) - if attrs['version'] == 'any': + if attrs['version'] == 'any' or not isinstance(pkgtup, tuple): return attrs - if pkgtup[1]: - attrs['arch'] = pkgtup[1] - if pkgtup[2]: - attrs['epoch'] = pkgtup[2] - if pkgtup[3]: - attrs['version'] = pkgtup[3] - if pkgtup[4]: - attrs['release'] = pkgtup[4] + try: + if pkgtup[1]: + attrs['arch'] = pkgtup[1] + if pkgtup[2]: + attrs['epoch'] = pkgtup[2] + if pkgtup[3]: + attrs['version'] = pkgtup[3] + if pkgtup[4]: + attrs['release'] = pkgtup[4] + except IndexError: + self.logger.warning("Malformed package tuple: %s" % pkgtup) return attrs packages = dict() diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py b/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py index 6f8e3ecad..628ba929f 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py @@ -458,7 +458,7 @@ class Packages(Bcfg2.Server.Plugin.Plugin, if not self.sources.loaded: # if sources.xml has not received a FAM event yet, defer; # instantiate a dummy Collection object - return Collection(metadata, [], self.data) + return Collection(metadata, [], self.cachepath) if metadata.hostname in self.clients: return self.collections[self.clients[metadata.hostname]] @@ -488,7 +488,7 @@ class Packages(Bcfg2.Server.Plugin.Plugin, self.logger.error("Packages: Using %s for Collection of sources " "for %s" % (cclass.__name__, metadata.hostname)) - collection = cclass(metadata, relevant, self.data, + collection = cclass(metadata, relevant, self.cachepath, debug=self.debug_flag) ckey = collection.cachekey self.clients[metadata.hostname] = ckey -- cgit v1.2.3-1-g7c22