summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2013-07-18 10:16:17 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2013-07-18 10:16:17 -0400
commit259c84f9ddaaf0233a65e686bd8f3346ab0972b0 (patch)
tree48905c27fc4b5af8aef7e4efacbf2a500b6eac14
parenta8cbdb38cc7a95a189352bb22e1e61eaf0dcd15e (diff)
downloadbcfg2-259c84f9ddaaf0233a65e686bd8f3346ab0972b0.tar.gz
bcfg2-259c84f9ddaaf0233a65e686bd8f3346ab0972b0.tar.bz2
bcfg2-259c84f9ddaaf0233a65e686bd8f3346ab0972b0.zip
Packages: make opportunistic yum cache creation respect metadata=disabled
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Packages/Yum.py23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py
index 35f888efa..7c950a435 100644
--- a/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py
+++ b/src/lib/Bcfg2/Server/Plugins/Packages/Yum.py
@@ -290,7 +290,8 @@ class YumCollection(Collection):
if not os.path.exists(self.cachefile):
self.debug_log("Creating common cache %s" % self.cachefile)
os.mkdir(self.cachefile)
- #self.setup_data()
+ if not self.disableMetaData:
+ self.setup_data()
else:
self.cachefile = None
@@ -314,6 +315,26 @@ class YumCollection(Collection):
self.pulp_cert_set = PulpCertificateSet(certdir, self.fam)
@property
+ def disableMetaData(self):
+ """ Report whether or not metadata processing is enabled.
+ This duplicates code in Packages/__init__.py, and can probably
+ be removed in Bcfg2 1.4 when we have a module-level setup
+ object. """
+ if self.setup is None:
+ return True
+ try:
+ return not self.setup.cfp.getboolean("packages", "resolver")
+ except (ConfigParser.NoSectionError, ConfigParser.NoOptionError):
+ return False
+ except ValueError:
+ # for historical reasons we also accept "enabled" and
+ # "disabled"
+ return self.setup.cfp.get(
+ "packages",
+ "metadata",
+ default="enabled").lower() == "disabled"
+
+ @property
def __package_groups__(self):
return True