summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Core.py
Commit message (Collapse)AuthorAgeFilesLines
* Server/Core: Ignore pylint errorAlexander Sulfrian2016-08-171-1/+1
| | | | | pylint should ignore this method, because it is only used as fallback for older django versions and does not exists in newer versions.
* Merge branch 'setup-options' of https://github.com/gordonmessmer/bcfg2Sol Jerome2016-03-031-2/+2
|\
| * Correct the name of the server's location option.Gordon Messmer2016-02-171-2/+2
| |
* | DefaultACL: Deny remote access to expire_metadata_cacheAlexander Sulfrian2015-10-131-1/+2
| |
* | Admin: Add expirecache commandAlexander Sulfrian2015-10-131-0/+15
| | | | | | | | | | | | | | Expirecache is now part of bcfg2-admin and will call expire_metadata_cache from Core via XML-RPC. This will expire the metadata cache of the supplied clients (or the complete cache if no arguments are supplied) on a running bcfg2-server.
* | Merge branch 'fix/django1.7' of https://github.com/AlexanderS/bcfg2Sol Jerome2015-10-011-6/+8
|\ \
| * | Replace close_connection() for newer django versionsAlexander Sulfrian2015-09-231-2/+7
| | | | | | | | | | | | | | | | | | | | | django.db.close_connection() is deprecated in django1.7 (and removed in 1.8). The new django.db.close_old_connections() does not seem to work like the old one (see http://stackoverflow.com/a/32614137), so we replace it with an own implementation.
| * | Server: Use close_db_connection decorator everywhereAlexander Sulfrian2015-09-231-4/+1
| |/
* / Prevent lxml Element from being passed non-string dataGordon Messmer2015-09-131-1/+1
|/
* Merge branch 'maint'Alexander Sulfrian2015-06-121-0/+11
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: debian/changelog doc/conf.py misc/bcfg2-selinux.spec misc/bcfg2.spec osx/Makefile osx/macports/Portfile 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/Tools/APT.py src/lib/Bcfg2/Client/Tools/FreeBSDInit.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/CherrypyCore.py src/lib/Bcfg2/Server/Core.py src/lib/Bcfg2/Server/FileMonitor/__init__.py src/lib/Bcfg2/Server/Lint/Validate.py src/lib/Bcfg2/Server/Lint/__init__.py src/lib/Bcfg2/Server/MultiprocessingCore.py src/lib/Bcfg2/Server/Plugin/__init__.py src/lib/Bcfg2/Server/Plugins/GroupPatterns.py src/lib/Bcfg2/Server/Plugins/Metadata.py src/lib/Bcfg2/Server/Plugins/Packages/Source.py src/lib/Bcfg2/Server/Plugins/Packages/Yum.py src/lib/Bcfg2/Server/Plugins/SSHbase.py src/lib/Bcfg2/Server/Plugins/SSLCA.py src/lib/Bcfg2/version.py src/sbin/bcfg2-info src/sbin/bcfg2-test testsuite/requirements.txt
| * Server/Core: drop privileges even if not running as daemonAlexander Sulfrian2015-02-251-1/+16
| |
* | Server/Plugin/helpers: remove track_statisticsAlexander Sulfrian2014-12-131-8/+8
| | | | | | | | Bcfg2.Server.Statistics.track_statistics was identical.
* | Server/Core: fix missing bundle errorAlexander Sulfrian2014-11-211-1/+2
| | | | | | | | | | | | Bundles could be converted into Independent tags, so we need to check Bundle and Independent elements in the generated structure to find all requested bundles.
* | 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.).