diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-07-18 10:16:17 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-07-18 10:16:17 -0400 |
commit | 259c84f9ddaaf0233a65e686bd8f3346ab0972b0 (patch) | |
tree | 48905c27fc4b5af8aef7e4efacbf2a500b6eac14 /src/lib/Bcfg2 | |
parent | a8cbdb38cc7a95a189352bb22e1e61eaf0dcd15e (diff) | |
download | bcfg2-259c84f9ddaaf0233a65e686bd8f3346ab0972b0.tar.gz bcfg2-259c84f9ddaaf0233a65e686bd8f3346ab0972b0.tar.bz2 bcfg2-259c84f9ddaaf0233a65e686bd8f3346ab0972b0.zip |
Packages: make opportunistic yum cache creation respect metadata=disabled
Diffstat (limited to 'src/lib/Bcfg2')
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Packages/Yum.py | 23 |
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 |