summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Plugins/Packages
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2012-09-25 14:03:55 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2012-09-25 14:03:55 -0400
commitf9326a1996a665171c37e0f35a53e037c50666e8 (patch)
tree0304068ace06661ceed6e26ef66724906bd8493c /src/lib/Bcfg2/Server/Plugins/Packages
parent161d5506f2dfe7da647c1c3fbf433ec9d18b3906 (diff)
downloadbcfg2-f9326a1996a665171c37e0f35a53e037c50666e8.tar.gz
bcfg2-f9326a1996a665171c37e0f35a53e037c50666e8.tar.bz2
bcfg2-f9326a1996a665171c37e0f35a53e037c50666e8.zip
misc. minor bug fixes
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugins/Packages')
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Packages/Yum.py21
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Packages/__init__.py4
2 files changed, 14 insertions, 11 deletions
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