diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2011-10-07 08:37:17 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2011-10-07 08:37:17 -0400 |
commit | bd0fd1c4c32864414b60b51828c79198503cb3f6 (patch) | |
tree | 9bc328fedc111ce3e679c4921ef48d8566c3f562 /src/lib/Server/Plugins/Packages/PackagesConfig.py | |
parent | e8821c043cdee6ab61b811fcc508fb83f85ce71b (diff) | |
download | bcfg2-bd0fd1c4c32864414b60b51828c79198503cb3f6.tar.gz bcfg2-bd0fd1c4c32864414b60b51828c79198503cb3f6.tar.bz2 bcfg2-bd0fd1c4c32864414b60b51828c79198503cb3f6.zip |
* Added support for yum libraries (if available and configured). This
can dramatically reduce memory usage, and fixed several bugs:
* #1014 (Package plugin can't resolve dependencies for rpms with
Require: tags for full paths that aren't Provided explicitly)
* #991 (Dependency Resolution difference between Package and yum)
* #996 (Packages high memory usage)
* Added support for Yum package groups when using yum libraries
(#1039)
* Fixed #911 (bcfg2 output for wrong package version with Packages is
misleading)
* YUMng turns down the Yum debug level itself depending on the
debug/verbosity level requested by bcfg2 so you don't have to reduce
the Yum debug level on a global basis
* Added support for Pulp repositories, including registering Pulp
consumers and binding to repositories
* Added ability to disable magic OS groups
Diffstat (limited to 'src/lib/Server/Plugins/Packages/PackagesConfig.py')
-rw-r--r-- | src/lib/Server/Plugins/Packages/PackagesConfig.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/lib/Server/Plugins/Packages/PackagesConfig.py b/src/lib/Server/Plugins/Packages/PackagesConfig.py new file mode 100644 index 000000000..1bb250007 --- /dev/null +++ b/src/lib/Server/Plugins/Packages/PackagesConfig.py @@ -0,0 +1,28 @@ +import os +import logging +from Bcfg2.Bcfg2Py3k import ConfigParser +from Bcfg2.Server.Plugins.Packages import * + +logger = logging.getLogger('Packages') + +class PackagesConfig(Bcfg2.Server.Plugin.FileBacked, + ConfigParser.SafeConfigParser): + def __init__(self, filename, fam, packages): + Bcfg2.Server.Plugin.FileBacked.__init__(self, filename) + ConfigParser.SafeConfigParser.__init__(self) + + self.fam = fam + # packages.conf isn't strictly necessary, so only set a + # monitor if it exists. if it gets added, that will require a + # server restart + if os.path.exists(self.name): + self.fam.AddMonitor(self.name, self) + + self.pkg_obj = packages + + def Index(self): + """ Build local data structures """ + for section in self.sections(): + self.remove_section(section) + self.read(self.name) + self.pkg_obj.Reload() |