summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
Commit message (Collapse)AuthorAgeFilesLines
* Packages: Add "pyapt" source typeAlexander Sulfrian2022-01-171-1/+1
| | | | | | | | Pyapt is a new source that is using the apt python bindings to parse the Packages files from debian repositories. Compared to the python implementation it is faster and more robust. It will use the dependencies of the newest version of a package from a specific source (because it can use the python bindings to compare the version numbers).
* Packages: Support different compression methodsAlexander Sulfrian2022-01-171-1/+14
| | | | | | | The new Reader classes implement different compression methods for the files parsed by the Packages backends. Each source can specify a default compression format. The user can configure a compression format per Source and the filename and extension for the metadata files are generated automatically.
* Server/Plugin: Move OnDemandDict to helpersAlexander Sulfrian2017-03-211-49/+3
| | | | The OnDemandDict could be used by different plugins.
* Remove blanket excepts from plugins and lintChris St. Pierre2015-02-181-4/+0
| | | | | | | | | | This removes most blanket except: clauses from all plugins, including the base plugin libraries, and bcfg2-lint. The few that remain should all be necessary. Most of the changes were quite minor, but this did require some restructuring of the CfgPrivateKeyCreator; as a result, the tests for that module were rewritten.
* Pylint fixes for pylint 0.28Chris St. Pierre2015-02-171-2/+2
| | | | | This also pins Pylint to 0.28 or older so that we don't have to do this again. At some point we should look at upgrading to Pylint 1.x.
* fixed some places where plugin loading should fail silentlyChris St. Pierre2014-11-101-0/+1
|
* Packages: enable Pkgng backend by defaultAlexander Sulfrian2014-10-141-1/+2
|
* Packages: Fix pylint testsSol Jerome2014-05-171-2/+2
| | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* Plugins/Packages: ability to overwrite recommended flag per packageAlexander Sulfrian2014-05-111-1/+6
|
* Plugins: refactored out unnecessary datastore constructor argumentChris St. Pierre2013-10-291-2/+2
|
* Merge branch 'maint'Chris St. Pierre2013-10-281-1/+1
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: doc/development/lint.txt misc/bcfg2.spec src/lib/Bcfg2/Reporting/Collector.py src/lib/Bcfg2/Server/Core.py src/lib/Bcfg2/Server/Plugins/Metadata.py src/lib/Bcfg2/Server/models.py testsuite/install.sh
| * Packages: fixed metadata.Packages["sources"]Chris St. Pierre2013-10-091-1/+1
| |
* | Pylint/PEP8 fixesSol Jerome2013-09-061-2/+2
| | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* | Rewrote arbitrary data cache systemChris St. Pierre2013-08-161-43/+19
| | | | | | | | | | | | | | | | | | | | | | | | The caching facilities in Bcfg2.Server.Cache provided basically no features. This rewrites that to allow for much more powerful cache expiration, with a particular focus on interoperation between different components and plugins to let caches be expired as necessary. (E.g., the Probes plugin can expire the Metadata cache.) This does not affect any of the file data cached by Bcfg2, only the caches that are populated with arbitrary data (Metadata, Packages, Probes, etc.).
* | Merge branch 'maint'Chris St. Pierre2013-08-121-3/+7
|\| | | | | | | | | | | Conflicts: src/lib/Bcfg2/Server/Admin/Viz.py src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
| * Packages: always add collections to group/package cacheChris St. Pierre2013-08-091-4/+8
| | | | | | | | | | | | | | This fixes cases where the collection itself would not be cached because a host had no sources, or multiple sources of different types; we still want to cache package group results and package sets (both of which will be empty).
* | testsuite: fixed more unit testsChris St. Pierre2013-08-121-23/+7
| |
* | testsuite: fixed most pylint complaintsChris St. Pierre2013-08-091-1/+2
| |
* | Merge branch 'options-rewrite'Chris St. Pierre2013-08-081-51/+58
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/lib/Bcfg2/Client/Frame.py src/lib/Bcfg2/Options.py src/lib/Bcfg2/Server/Admin/Init.py src/lib/Bcfg2/Server/Admin/Xcmd.py src/lib/Bcfg2/Server/BuiltinCore.py src/lib/Bcfg2/Server/Core.py src/lib/Bcfg2/Server/MultiprocessingCore.py src/lib/Bcfg2/Server/Plugin/base.py src/lib/Bcfg2/Server/Plugin/helpers.py src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py src/lib/Bcfg2/Server/Plugins/Packages/Yum.py src/lib/Bcfg2/Server/Plugins/Packages/__init__.py src/lib/Bcfg2/Server/SSLServer.py src/lib/Bcfg2/Utils.py src/lib/Bcfg2/settings.py src/sbin/bcfg2-crypt src/sbin/bcfg2-info src/sbin/bcfg2-lint src/sbin/bcfg2-test src/sbin/bcfg2-yum-helper tools/bcfg2-profile-templates.py
| * | Options: migrated plugins to new options parserChris St. Pierre2013-06-271-50/+58
| | |
* | | Merge branch 'maint'Chris St. Pierre2013-08-081-5/+40
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/appendix/files/mysql.txt doc/getting_started/index.txt doc/server/plugins/structures/bundler/kernel.txt src/lib/Bcfg2/Server/MultiprocessingCore.py src/lib/Bcfg2/Server/Plugin/interfaces.py src/lib/Bcfg2/Server/Plugins/Packages/Yum.py src/lib/Bcfg2/Server/Plugins/Probes.py src/lib/Bcfg2/Server/Plugins/SSHbase.py
| * | MultiprocessingCore: added a way to dispatch RMI calls to child processesChris St. Pierre2013-08-071-0/+3
| | |
| * | Plugin: added new Caching interfaceChris St. Pierre2013-08-071-0/+5
| | | | | | | | | | | | | | | | | | | | | This gives a single unified interface for expiring caches, no matter the plugin. This will be particularly useful with the MultiprocessingCore, as certain calls must be dispatched to child processes to expire their caches.
| * | Packages: cache group and package selectionsChris St. Pierre2013-08-071-5/+32
| | |
* | | Merge branch 'maint'Sol Jerome2013-07-181-10/+78
|\| | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com> Conflicts: src/lib/Bcfg2/Server/Plugins/Cfg/CfgPrivateKeyCreator.py src/lib/Bcfg2/Server/Plugins/Packages/Yum.py src/lib/Bcfg2/Server/Plugins/Properties.py
| * | Packages: better stringification/representation of OnDemandDictChris St. Pierre2013-07-181-1/+1
| | |
| * | Packages: added missing docstringChris St. Pierre2013-07-151-0/+3
| | |
| * | Read-only yum cacheChris St. Pierre2013-07-151-10/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes the yum cache read-only so that bcfg2-yum-helper cannot update the cache on the fly, which should help avoid locking issues with the yum caches that can cause client runs to fail. It also makes the Packages plugin behave more consistently, since use of yum libraries won't cause the cache to be refreshed at random times on the fly, but rather more predictably as with the Apt cache or the yum cache without using yum libraries. Unlike those two cases, though, the caches will not all be downloaded initially, but rather opportunistically as needed. In order for this to work, the Bcfg2 server must not run as root. Root ignores the 'w' permissions bit, so the cache cannot be made read-only.
* | | Merge branch 'maint'Sol Jerome2013-07-081-1/+2
|\| | | |/ |/| | | | | | | Conflicts: src/lib/Bcfg2/settings.py src/sbin/bcfg2-crypt
| * Plugins/Packages: add missing format string parameterAlexander Sulfrian2013-06-281-1/+2
| |
| * Packages: don't cache package collections with no sourcesChris St. Pierre2013-05-211-2/+3
| |
* | Merge branch 'maint'Chris St. Pierre2013-05-211-2/+3
|\ \
| * | Packages: don't cache package collections with no sourcesChris St. Pierre2013-05-211-2/+3
| |/
* | fixed unit testsChris St. Pierre2013-05-201-1/+1
| |
* | Replaced XMLSrc with StructFileChris St. Pierre2013-05-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | XMLSrc and StructFile were very different implementations of basically the same thing. StructFile has gotten lots and lots of improvements, while XMLSrc, with its wonky, unintuitive interface, has floundered. This replaces XMLSrc with StructFile (nearly) everywhere, and rebases everything that inherited from XMLSrc with StructFile. XMLSrc lives on somewhat in the Pkgmgr plugin's PNode and PkgSrc objects, where originally inherited from the XMLSrc and INode objects but are now the only implementation of that older interface. Pkgmgr was left as-is because a) it's a little-used plugin; b) it's in need of a rewrite anyway; and c) it has deep, deep hooks into the guts of XMLSrc and INode, and rewriting it with StructFile was deeply nontrivial.
* | Merge branch 'maint'Chris St. Pierre2013-05-171-2/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/appendix/guides/centos.txt doc/server/plugins/grouping/metadata.txt setup.py src/lib/Bcfg2/Client/Frame.py src/lib/Bcfg2/Client/Proxy.py src/lib/Bcfg2/Server/Lint/Genshi.py src/lib/Bcfg2/Server/Lint/Validate.py src/lib/Bcfg2/Server/Plugins/Bundler.py src/lib/Bcfg2/Server/Plugins/SSHbase.py src/sbin/bcfg2-lint
| * Packages: handle URLErrors (e.g., timeouts) when downloading GPG keys betterChris St. Pierre2013-05-101-2/+2
| |
* | Merge branch 'maint'Chris St. Pierre2013-04-241-11/+19
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/lib/Bcfg2/Client/Client.py src/lib/Bcfg2/Client/Frame.py src/lib/Bcfg2/Client/Tools/YUM.py src/lib/Bcfg2/Options.py src/lib/Bcfg2/Server/Admin/Perf.py src/lib/Bcfg2/Server/Admin/Xcmd.py src/lib/Bcfg2/Server/Admin/__init__.py src/lib/Bcfg2/Server/Core.py src/lib/Bcfg2/Server/FileMonitor/Fam.py src/lib/Bcfg2/Server/Lint/RequiredAttrs.py src/lib/Bcfg2/Server/Plugin/helpers.py src/lib/Bcfg2/Server/Plugins/Base.py src/lib/Bcfg2/Server/Plugins/Bundler.py src/lib/Bcfg2/Server/Plugins/Cfg/CfgPrivateKeyCreator.py src/lib/Bcfg2/Server/Plugins/Cvs.py src/lib/Bcfg2/Server/Plugins/Darcs.py src/lib/Bcfg2/Server/Plugins/Decisions.py src/lib/Bcfg2/Server/Plugins/FileProbes.py src/lib/Bcfg2/Server/Plugins/Fossil.py src/lib/Bcfg2/Server/Plugins/Git.py src/lib/Bcfg2/Server/Plugins/Metadata.py src/lib/Bcfg2/Server/Plugins/NagiosGen.py src/lib/Bcfg2/Server/Plugins/Packages/PackagesSources.py src/lib/Bcfg2/Server/Plugins/Packages/Source.py src/lib/Bcfg2/Server/Plugins/Packages/Yum.py src/lib/Bcfg2/Server/Plugins/Properties.py src/lib/Bcfg2/Server/Plugins/__init__.py src/lib/Bcfg2/Server/__init__.py src/sbin/bcfg2-build-reports src/sbin/bcfg2-crypt testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testhelpers.py testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestMetadata.py testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProperties.py
| * remove some unnecessary __all__ variablesChris St. Pierre2013-03-291-1/+2
| |
| * Change generated APT sources default to someplace APT will actually look, ↵Phil Miller2013-03-281-1/+1
| | | | | | | | and avoid potential name conflicts there
| * testsuite: fixed issues found by latest version of pep8Chris St. Pierre2013-03-261-8/+8
| |
| * Packages: add and expose get_config() function to get configs for other hostsChris St. Pierre2013-03-251-1/+10
| |
| * Revert "Packages: expose full source list via Connector interface"Chris St. Pierre2013-03-251-3/+1
| | | | | | | | This reverts commit fe7a3e9c7a7d66cccbd825465cefcf88165a0c3a.
| * Revert "Packages: properly implemented deepcopy() for PackagesSources objects"Chris St. Pierre2013-03-251-10/+1
| | | | | | | | This reverts commit 432f448983ff27452d82d62314d91c942f31bce5.
| * Packages: properly implemented deepcopy() for PackagesSources objectsChris St. Pierre2013-03-251-1/+10
| |
* | Merge branch '1.4.x'Chris St. Pierre2013-04-231-25/+10
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: debian/bcfg2-server.install doc/server/plugins/grouping/metadata.txt src/lib/Bcfg2/Client/Client.py src/lib/Bcfg2/Client/Tools/Portage.py src/lib/Bcfg2/Client/Tools/RcUpdate.py src/lib/Bcfg2/Client/Tools/YUM24.py src/lib/Bcfg2/Client/Tools/__init__.py src/lib/Bcfg2/Client/Tools/launchd.py src/lib/Bcfg2/Options.py src/lib/Bcfg2/Server/Core.py src/lib/Bcfg2/Server/Plugin/helpers.py src/lib/Bcfg2/Server/Plugins/Metadata.py src/lib/Bcfg2/Server/models.py src/lib/Bcfg2/Utils.py src/sbin/bcfg2-info src/sbin/bcfg2-test testsuite/Testsrc/Testlib/TestClient/TestTools/Test_init.py testsuite/Testsrc/test_code_checks.py
| * converted InfoXML objects from XMLSrc to StructFileChris St. Pierre2013-02-061-13/+13
| |
| * moved some libraries in Bcfg2/ into more specific (Server/ or Client/) placesChris St. Pierre2013-02-051-5/+6
| |
| * Merge branch '1.3.1' into 1.4.xChris St. Pierre2013-01-171-2/+1
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/lib/Bcfg2/Server/Plugins/Packages/Collection.py src/lib/Bcfg2/Server/Plugins/Packages/PackagesSources.py src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
| | * removed passing of optionparser object amongst Packages pluginChris St. Pierre2013-01-171-2/+1
| | |