summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Plugin
Commit message (Collapse)AuthorAgeFilesLines
* Remove blanket excepts from plugins and lintChris St. Pierre2015-02-182-8/+12
| | | | | | | | | | 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-3/+0
| | | | | 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.
* Server/Plugin/helpers: remove track_statisticsAlexander Sulfrian2014-12-131-36/+0
| | | | Bcfg2.Server.Statistics.track_statistics was identical.
* InfoXML: <Path> filter should match on realpathAlexander Sulfrian2014-10-141-1/+1
| | | | | | | When using altsrc the name of real file created on the client is now in the realname attribute of the entry. The <Path> filter in the info.xml should match theses if available to set different permissions for the different files created by one template with altsrc.
* Merge branch 'maint'Sol Jerome2014-06-101-1/+7
|\ | | | | | | | | | | | | | | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com> Conflicts: doc/server/plugins/structures/bundler/index.txt src/lib/Bcfg2/Server/Admin/Init.py src/lib/Bcfg2/Server/Plugins/GroupLogic.py src/lib/Bcfg2/Server/Plugins/Properties.py src/lib/Bcfg2/Server/Plugins/Reporting.py
| * XMLFileBacked: Watch XIncluded files that do not existChris St. Pierre2014-05-151-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes a best effort to watch XIncluded files that do not exist. Assume that you have XIncluded ``foo.xml``, the following (currently) fails: mv foo.xml /tmp mv /tmp/foo.xml . Bcfg2 processes the deletion event, and stops watching ``foo.xml``; consequently, it receives no creation event when you put ``foo.xml`` back. This does not fix the situation where you add a new file that is matched by a wildcard XInclude, which turns out to be much more difficult, and will likely require a significant restructuring of how wildcard XIncludes are processed. (I.e., we'll need to place a monitor on the directory or directories where the wildcard XInclude is looking, and then filter events according to the wildcard.)
* | Merge branch 'maint'Chris St. Pierre2014-04-251-13/+9
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: misc/bcfg2.spec src/lib/Bcfg2/Client/Client.py src/lib/Bcfg2/Client/Tools/APK.py src/lib/Bcfg2/Client/Tools/MacPorts.py src/lib/Bcfg2/Client/Tools/Pacman.py src/lib/Bcfg2/Client/Tools/YUM.py src/lib/Bcfg2/Server/Admin/Minestruct.py src/lib/Bcfg2/Server/Admin/Pull.py src/lib/Bcfg2/Server/Admin/Viz.py src/lib/Bcfg2/Server/Core.py src/lib/Bcfg2/Server/Plugins/Cfg/CfgEncryptedGenerator.py src/lib/Bcfg2/Server/Plugins/Cfg/CfgPrivateKeyCreator.py src/lib/Bcfg2/Server/Plugins/Properties.py src/lib/Bcfg2/settings.py src/sbin/bcfg2-crypt src/sbin/bcfg2-info src/sbin/bcfg2-lint src/sbin/bcfg2-yum-helper testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestCfg/TestCfgEncryptedGenerator.py testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProperties.py
* | Merge branch 'maint' into masterSol Jerome2014-04-162-1/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com> Conflicts: doc/appendix/guides/import-existing-ssh-keys.txt misc/bcfg2.spec src/lib/Bcfg2/Client/Tools/VCS.py src/lib/Bcfg2/Client/Tools/YUM.py src/lib/Bcfg2/Encryption.py src/lib/Bcfg2/Reporting/Collector.py src/lib/Bcfg2/Reporting/Storage/DjangoORM.py src/lib/Bcfg2/Server/Core.py src/lib/Bcfg2/Server/FileMonitor/__init__.py src/lib/Bcfg2/Server/Lint/RequiredAttrs.py src/lib/Bcfg2/Server/Plugin/helpers.py src/lib/Bcfg2/Server/Plugins/Metadata.py src/lib/Bcfg2/Server/Plugins/Packages/Yum.py src/lib/Bcfg2/Server/Plugins/Packages/__init__.py src/lib/Bcfg2/settings.py src/sbin/bcfg2-crypt src/sbin/bcfg2-reports src/sbin/bcfg2-yum-helper testsuite/Testsrc/Testlib/TestClient/TestTools/TestPOSIX/TestAugeas.py
| * cleared pylint error on PluginDatabaseModel metadata optionsChris St. Pierre2014-03-031-1/+2
| |
| * helpers: better error message when failing to read FileBackedChris St. Pierre2014-02-251-1/+2
| |
| * Metadata: reread client list from databaseChris St. Pierre2014-02-231-0/+4
| | | | | | | | | | | | | | | | This fixes two related bugs: One causes Metadata to use an out-of-date cached list of clients when a client is deleted or added with bcfg2-admin; the other causes child worker processes to use an out-of-date cached list of clients when a client is added with a Bcfg2 run when the multiprocessing core is in use.
* | Merge branch 'maint'Chris St. Pierre2013-12-091-6/+15
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/appendix/guides/fedora.txt misc/bcfg2.spec schemas/types.xsd src/lib/Bcfg2/Encryption.py src/lib/Bcfg2/Options.py src/lib/Bcfg2/Server/Admin/Client.py src/lib/Bcfg2/Server/Core.py src/lib/Bcfg2/Server/Lint/Validate.py src/lib/Bcfg2/Server/Plugin/helpers.py src/lib/Bcfg2/Server/Plugins/Bundler.py src/lib/Bcfg2/Server/Plugins/Cfg/CfgEncryptedGenerator.py src/lib/Bcfg2/Server/Plugins/Probes.py src/sbin/bcfg2-crypt testsuite/Testsrc/Testlib/TestServer/TestPlugin/Testhelpers.py testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestCfg/TestCfgEncryptedGenerator.py testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProbes.py testsuite/common.py testsuite/install.sh
| * XMLSrc: Load XML in one step instead of separate read and parseChris St. Pierre2013-12-091-9/+2
| |
| * testsuite: fixed unit tests for database fixesChris St. Pierre2013-11-251-4/+5
| |
| * Core: Avoid starting server if database is enabled but cannot be usedChris St. Pierre2013-11-251-4/+13
| | | | | | | | | | | | | | Plugins that use the database often act quite differently depending on whether or not the database is enabled. If we start the server without the database (e.g., the connection failed), then Very Strange Things can happen.
* | Plugins: Added TemplateDataProvider plugin interfaceChris St. Pierre2013-10-302-15/+106
| | | | | | | | | | | | | | This lets you provide variables to the top-level namespace of templates in a more seamless way than through a Connector plugin. It's mostly useful for TemplateHelper for now, but may find other uses in the future.
* | Plugins: refactored out unnecessary datastore constructor argumentChris St. Pierre2013-10-293-14/+12
| |
* | Merge branch 'maint'Chris St. Pierre2013-09-161-11/+8
|\| | | | | | | | | | | Conflicts: src/lib/Bcfg2/Server/Plugins/Cfg/CfgPublicKeyCreator.py testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestCfg/TestCfgPrivateKeyCreator.py
| * XMLFileBacked: removed unused variableChris St. Pierre2013-09-111-1/+1
| |
| * XMLFileBacked: Fixed multiple identical XIncludes in one fileChris St. Pierre2013-09-111-12/+9
| |
* | Pylint/PEP8 fixesSol Jerome2013-09-061-1/+1
| | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* | Merge branch 'maint'Chris St. Pierre2013-09-051-1/+23
|\| | | | | | | | | | | Conflicts: src/lib/Bcfg2/Server/Core.py src/lib/Bcfg2/Server/Plugins/GroupLogic.py
| * Allow Connector to create new groupsChris St. Pierre2013-09-051-1/+23
| | | | | | | | | | Connector plugins can now create new groups, including the full range of options on those groups (profile, public, category, etc.).
| * XMLFileBacked: Monitor XIncludes whenever a FAM is availableChris St. Pierre2013-09-041-3/+4
| | | | | | | | | | | | | | | | | | | | This monitors XIncluded files even if should_monitor=False, since the object monitoring the base file will not monitor XIncludes. This ensures that XIncluded files are properly monitored whenever possible, particularly for Bundler and Properties. This is a partial backport of 5b66845 -- as much of a backport as is possible without a module-level FAM object.
* | XMLFileBacked: always watch xincludesChris St. Pierre2013-08-301-5/+2
| | | | | | | | | | | | | | | | | | In Bcfg2 1.3, XInclude'd files only got FAM watches if the parent file was monitoring itself, and it got a FAM object passed to it. This led to some ugly workarounds, and bugs -- you couldn't easily use XInclude in Properties or Bundler, for instance, and have changes recognized. Since FAM objects are now module-level, we can always monitor XInclude'd files.
* | Rewrote arbitrary data cache systemChris St. Pierre2013-08-162-19/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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.).
* | PrioDir: Fixed event handlerChris St. Pierre2013-08-141-7/+6
| |
* | testsuite: fixed unit tests for new SSLCA stuffChris St. Pierre2013-08-131-1/+4
| |
* | testsuite: fixed more unit testsChris St. Pierre2013-08-121-1/+1
| |
* | testsuite: fixed most pylint complaintsChris St. Pierre2013-08-092-1/+2
| |
* | testsuite: Fixed base plugin testsChris St. Pierre2013-08-091-1/+2
| |
* | Merge branch 'options-rewrite'Chris St. Pierre2013-08-084-179/+115
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-274-137/+83
| | |
* | | Merge branch 'maint'Chris St. Pierre2013-08-082-3/+39
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Plugin: added missing docstringChris St. Pierre2013-08-071-0/+11
| | |
| * | MultiprocessingCore: added a way to dispatch RMI calls to child processesChris St. Pierre2013-08-071-0/+18
| | |
| * | Plugin: added new Caching interfaceChris St. Pierre2013-08-071-0/+8
| | | | | | | | | | | | | | | | | | | | | 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.
| * | Plugin: quiet down set_debug, but keep it usefulChris St. Pierre2013-08-061-3/+2
| | |
* | | Plugin/helpers: Remove duplicate _include_testsSol Jerome2013-06-281-14/+0
| |/ |/| | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* | Merge branch 'maint'Chris St. Pierre2013-06-272-1/+9
|\| | | | | | | | | | | | | | | | | Conflicts: doc/server/plugins/generators/cfg.txt doc/server/plugins/generators/tcheetah.txt src/lib/Bcfg2/Server/Admin/Xcmd.py src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py src/lib/Bcfg2/Server/Plugins/Packages/Yum.py
| * do not create data directories for plugins that don't need themChris St. Pierre2013-06-132-1/+9
| |
* | Plugin helpers: Add missing importSol Jerome2013-06-021-0/+1
| | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* | Merge branch 'maint'Sol Jerome2013-06-021-0/+57
|\| | | | | | | | | | | | | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com> Conflicts: doc/installation/distributions.txt doc/server/snapshots/index.txt src/lib/Bcfg2/Server/Plugin/helpers.py src/sbin/bcfg2-server
| * tools: make migrate_info.py migrate "perms" ↵Chris St. Pierre2013-05-221-9/+9
| | | | | | | | (http://trac.mcs.anl.gov/projects/bcfg2/ticket/1150)
* | fixed unit testsChris St. Pierre2013-05-201-1/+3
| |
* | Replaced XMLSrc with StructFileChris St. Pierre2013-05-201-134/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Fixing unit testsChris St. Pierre2013-04-251-3/+4
| |
* | Merge branch 'maint'Chris St. Pierre2013-04-243-41/+127
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * XMLFileBacked: fixed deprecated logic when create is lxml.etree._Element objectChris St. Pierre2013-03-281-2/+2
| |
| * XMLFileBacked: track FAM monitors separately from processed xincludes to ↵Chris St. Pierre2013-03-271-2/+8
| | | | | | | | avoid infinite loop with pseudo FAM