summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Core.py
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'maint'Alexander Sulfrian2014-11-121-4/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: debian/changelog doc/conf.py doc/releases/index.txt doc/server/database.txt doc/server/plugins/generators/cfg.txt doc/server/plugins/generators/sslca.txt man/bcfg2.conf.5 misc/bcfg2-selinux.spec misc/bcfg2.spec osx/Makefile osx/macports/Portfile schemas/packages.xsd solaris-ips/MANIFEST.bcfg2-server.header solaris-ips/MANIFEST.bcfg2.header solaris-ips/Makefile solaris-ips/pkginfo.bcfg2 solaris-ips/pkginfo.bcfg2-server solaris/Makefile solaris/pkginfo.bcfg2 solaris/pkginfo.bcfg2-server src/lib/Bcfg2/Client/Client.py src/lib/Bcfg2/Client/Proxy.py src/lib/Bcfg2/Client/Tools/APT.py src/lib/Bcfg2/Client/Tools/Action.py src/lib/Bcfg2/Client/Tools/SYSV.py src/lib/Bcfg2/Client/Tools/YUM.py src/lib/Bcfg2/Client/Tools/__init__.py src/lib/Bcfg2/Options.py src/lib/Bcfg2/Reporting/Collector.py src/lib/Bcfg2/Reporting/templates/base.html src/lib/Bcfg2/Server/Admin/__init__.py src/lib/Bcfg2/Server/BuiltinCore.py src/lib/Bcfg2/Server/Core.py src/lib/Bcfg2/Server/Plugins/Packages/Apt.py src/lib/Bcfg2/Server/Plugins/Probes.py src/lib/Bcfg2/settings.py src/lib/Bcfg2/version.py testsuite/Testsrc/Testlib/TestClient/TestTools/Test_init.py testsuite/Testsrc/test_code_checks.py
| * Server/Core: also shutdown on exceptions during fam blockingAlexander Sulfrian2014-10-251-5/+5
| | | | | | | | | | | | | | Previously the server got stuck, if a keyboard interrupt occured during block_for_fam_events. The KeyboardInterrupt exception was only handled in the executable and it does not call shutdown for the Core. So the running fam thread does not get killed and the main thread waits for it.
| * Use the older Thread.getName() interface for python 2.4 compatMichael Fenn2014-09-101-1/+1
| |
* | Options: add missing communication:protocol optionsAlexander Sulfrian2014-10-151-0/+1
| | | | | | | | | | The option was there in bcfg2-1.3.x and is still documented (maybe it just got lost during the options rewrite).
* | Options/Common: remove defaults for ssl-key/ssl-cert on the ClientAlexander Sulfrian2014-10-141-2/+9
| | | | | | | | | | | | | | With these default values it is impossible to remove the ssl key and ssl cert from the configuration and use password auth. Configuration options could not be condensed in Bcfg2.Options.Common, because Server and Client needs different default values.
* | Add a --no-fam-blocking command-line argument to bcfg2-serverMichael Fenn2014-07-071-1/+2
| | | | | | | | | | | | | | There is a quirk in the configuration parser where a BooleanOption with default=True will always return false __unless_ a command-line option is provided. Not sure why that's the case, but this is a work- around
* | Change fam_blocking default to TrueMichael Fenn2014-07-071-1/+1
| | | | | | | | | | | | | | Based on discussion in #bcfg2, the consensus seems to be that the behavior provided by fam_blocking = True is the least surprising of the two options (i.e. the server should not process data until it is ready). 1.4 seems like a good time to make this change.
* | Merge branch 'maint'Chris St. Pierre2014-04-251-2/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * fixed pylint/pep-8 testsChris St. Pierre2014-04-251-1/+1
| |
* | Merge branch 'maint' into masterSol Jerome2014-04-161-10/+50
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Core: better error messages when altsrc bind failsChris St. Pierre2014-03-141-3/+4
| |
| * Core: close all database connections at the end of XML-RPC requestsChris St. Pierre2014-03-031-6/+26
| |
| * core: only shut down core onceChris St. Pierre2014-02-191-0/+10
| |
| * Fixed typo. Need coffee.Chris St. Pierre2014-02-181-1/+1
| |
| * Core: add default name for base Core implementationChris St. Pierre2014-02-181-1/+2
| |
| * ensure that DB connections are always closed at thread/process exitChris St. Pierre2014-02-181-7/+11
| |
| * Core: explicitly close database connections at the end of each client runChris St. Pierre2014-02-131-0/+5
| |
* | Preliminary support for seperate reporting databaseMichael Fenn2014-03-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | This commit implements a Django database router which routes each Django application to a database whose name matches a key in the database dict, falling back to the default database if no matching key is found. This support is plumbed through to the config file via database.reporting_* database connection config options. These options mirror ones available for the default database config. If database.reporting_engine is not specified in the config, then the configuration falls back to the traditional single-database way of doing things with the database router becoming a no-op.
* | Merge branch 'maint'Chris St. Pierre2013-12-091-4/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Core: Avoid starting server if database is enabled but cannot be usedChris St. Pierre2013-11-251-4/+4
| | | | | | | | | | | | | | 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.
* | Core: handle errors in FAM thread more verboselyChris St. Pierre2013-11-131-8/+12
| |
* | Core: Avoid unnecessarily reparsing config file on startupChris St. Pierre2013-10-301-1/+4
| |
* | fixed Core stringificationChris St. Pierre2013-10-301-2/+5
| |
* | DB: fixed how Django settings are loadedChris St. Pierre2013-10-301-11/+11
| |
* | Core: Better stringification of server core objectsChris St. Pierre2013-10-301-0/+7
| |
* | Core: Make core object available at the module levelChris St. Pierre2013-10-291-3/+3
| |
* | Plugins: refactored out unnecessary datastore constructor argumentChris St. Pierre2013-10-291-5/+5
| |
* | Merge branch 'maint'Chris St. Pierre2013-10-281-1/+2
|\| | | | | | | | | | | | | | | | | | | | | 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
| * Core: Fixed error message on failed altsrc bindChris St. Pierre2013-09-301-3/+3
| |
* | Core: Do not create DefaultACL/ directoryChris St. Pierre2013-09-121-0/+2
| |
* | Merge branch 'maint'Chris St. Pierre2013-09-091-2/+1
|\| | | | | | | | | | | | | Conflicts: src/lib/Bcfg2/Server/Plugins/Cfg/CfgAuthorizedKeysGenerator.py src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py testsuite/Testsrc/Testlib/TestClient/TestTools/TestPOSIXUsers.py
| * Core: avoid importing Metadata before Django has been configuredChris St. Pierre2013-09-051-2/+1
| |
* | Pylint/PEP8 fixesSol Jerome2013-09-061-3/+3
| | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* | Merge branch 'maint'Chris St. Pierre2013-09-051-2/+34
|\| | | | | | | | | | | Conflicts: src/lib/Bcfg2/Server/Core.py src/lib/Bcfg2/Server/Plugins/GroupLogic.py
| * Allow Connector to create new groupsChris St. Pierre2013-09-051-2/+34
| | | | | | | | | | Connector plugins can now create new groups, including the full range of options on those groups (profile, public, category, etc.).
* | Core: Added default ACLsChris St. Pierre2013-08-191-6/+22
| | | | | | | | | | | | Since we're exposing more stuff via XML-RPC, this adds a default, fairly restrictive ACL plugin if no other ClientACLs plugin is loaded. This makes us secure by default.
* | Rewrote arbitrary data cache systemChris St. Pierre2013-08-161-17/+3
| | | | | | | | | | | | | | | | | | | | | | | | 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-2/+8
|\| | | | | | | | | | | Conflicts: src/lib/Bcfg2/Server/Admin/Viz.py src/lib/Bcfg2/Server/Plugins/Packages/__init__.py
| * Core: iterate over RMI objects properlyChris St. Pierre2013-08-091-1/+1
| |
| * Core: fixed py3k incompatibilityChris St. Pierre2013-08-091-2/+8
| | | | | | | | | | Also abstracted getting the list of objects that may register RMI calls into a separate function.
* | Merge branch 'options-rewrite'Chris St. Pierre2013-08-081-189/+194
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 server core to new option parserChris St. Pierre2013-06-271-197/+193
| | |
* | | Merge branch 'maint'Chris St. Pierre2013-08-081-16/+35
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-4/+2
| | |
| * | Plugin: added new Caching interfaceChris St. Pierre2013-08-071-2/+16
| | | | | | | | | | | | | | | | | | | | | 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.
| * | Core: log when a cached metadata object is usedChris St. Pierre2013-08-061-0/+3
| | |
| * | Core: track statistics on resolve_clientChris St. Pierre2013-08-051-0/+1
| | |
| * | Core: update VCS revision only when events are handledChris St. Pierre2013-07-311-1/+2
| | |
| * | MultiprocessingCore: make multiprocessing children threaded for higher ↵Chris St. Pierre2013-07-301-9/+11
| | | | | | | | | | | | performance
* | | Merge branch 'maint'Sol Jerome2013-07-181-9/+35
|\| | | | | | | | | | | | | | | | | | | | | | | | | | 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