summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Plugin/helpers.py
Commit message (Collapse)AuthorAgeFilesLines
* 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-161-1/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| |
* | 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-301-5/+79
| | | | | | | | | | | | | | 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-291-4/+4
| |
* | 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
| |
| * 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.
* | Pylint/PEP8 fixesSol Jerome2013-09-061-1/+1
| | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* | 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-161-0/+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-091-1/+0
| |
* | testsuite: Fixed base plugin testsChris St. Pierre2013-08-091-1/+2
| |
* | Merge branch 'options-rewrite'Chris St. Pierre2013-08-081-117/+78
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-76/+46
| | |
* | | Plugin/helpers: Remove duplicate _include_testsSol Jerome2013-06-281-14/+0
|/ / | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* | 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-241-31/+106
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * testsuite: fixed more unit test stuffChris St. Pierre2013-03-261-4/+4
| |
| * fixed regex errors introduced by 6c996f42c53a36fc0406f836d64b8c1bec6f4bccChris St. Pierre2013-03-261-3/+3
| |
| * testsuite: can't disable pylint R0924, since it doesn't exist on older ↵Chris St. Pierre2013-03-261-0/+9
| | | | | | | | pylint and pylint barfs
| * Plugin: use appropriate loggers for Debuggable helper objectsChris St. Pierre2013-03-261-34/+35
| |
| * testsuite: fixed issues found by latest version of pylintChris St. Pierre2013-03-261-13/+13
| |
| * testsuite: fixed issues found by latest version of pep8Chris St. Pierre2013-03-261-13/+13
| |
| * Handle FAM monitor failures more gracefully:Chris St. Pierre2013-03-251-9/+38
| | | | | | | | | | | | | | | | | | * Where possible, create the file or directory that is about to be monitored. This ensures that content can be added later without need to restart Bcfg2. (Otherwise, adding the monitor would fail, and so when you did create the file in question, bcfg2-server would never be notified of it.) * When not possible, give better error messages.
| * Revert "Packages: properly implemented deepcopy() for PackagesSources objects"Chris St. Pierre2013-03-251-33/+0
| | | | | | | | This reverts commit 432f448983ff27452d82d62314d91c942f31bce5.
| * Packages: properly implemented deepcopy() for PackagesSources objectsChris St. Pierre2013-03-251-0/+33
| |
* | Merge branch '1.4.x'Chris St. Pierre2013-04-231-272/+344
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * added support for wildcard XInclude in XMLFileBackedChris St. Pierre2013-02-141-11/+20
| |
| * fixed unit testsChris St. Pierre2013-02-121-1/+1
| |
| * Added client ACLs:Chris St. Pierre2013-02-121-15/+21
| | | | | | | | | | | | | | * IP and CIDR-based ACLs * Metadata (group/hostname)-based ACLs * Documentation * Unit tests