summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2
Commit message (Collapse)AuthorAgeFilesLines
* Preliminary support for seperate reporting databaseMichael Fenn2014-03-214-12/+106
| | | | | | | | | | | | | 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.
* Options: call _set_defaults_from_config before _parse_config_optionsMichael Fenn2014-03-191-0/+18
| | | | | | | | | | | | | | | | | | | | _set_defaults_from_config must be called before _parse_config_options This is due to a tricky interaction between the two methods: (1) _set_defaults_from_config does what its name implies, it updates the "default" property of each Option based on the value that exists in the config. (2) _parse_config_options will look at each option and set it to the default value that is _currently_ defined. If the option does not exist in the namespace, it will be added. The method carefully avoids overwriting the value of an option that is already defined in the namespace. Thus, if _set_defaults_from_config has not been called yet when _parse_config_options is called, all config file options will get set to their hardcoded defaults. This process defines the options in the namespace and _parse_config_options will never look at them again.
* Options: rename _set_defaults to _set_defaults_from_configMichael Fenn2014-03-191-3/+3
| | | | This is to make the method name more in line with what it does
* Options: set config file options only for the running parserChris St. Pierre2014-03-141-5/+4
|
* Options: finalize ConfigFileActionsChris St. Pierre2014-03-051-15/+27
| | | | | This ensures that /etc/bcfg2-web.conf gets read, even if the --web-config for [reporting].config options are not given
* DBSettings: Set config options at the module levelChris St. Pierre2014-03-051-0/+3
| | | | | Some bits of Django appear to query the options directly from the module, even if django.conf.settings.configure() has been called
* Options: Finalize actual value, not default valueChris St. Pierre2014-03-053-17/+21
| | | | This also fixes some extraneous calls in the option parsing loop.
* Options: set options debugging with environment variableChris St. Pierre2014-03-052-4/+48
|
* Options: fail_silently really fails silently when loading componentsChris St. Pierre2014-03-051-1/+1
|
* Proxy: Remove m2crypto fallbackSol Jerome2014-02-271-64/+1
| | | | | | | | | Older clients used to depend on this because there was no backported python-ssl module available for various platforms. All supported platforms now appear to either a) have the backported module or b) have a recent enough version of python to use the builtin ssl module. Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* bcfg2-lint: verify Path tags in RequiredAttrsChris St. Pierre2014-02-261-0/+10
|
* Bundler: added path globbingChris St. Pierre2014-02-262-18/+29
|
* FAM: Deprecate the gamin FAM driverChris St. Pierre2014-02-131-4/+7
|
* bcfg2-lint: Fixed TemplateHelper lint pluginChris St. Pierre2014-01-071-3/+5
|
* bcfg2-lint: new Crypto plugin checks for data that should be encrypted but isn'tChris St. Pierre2014-01-071-0/+61
|
* bcfg2-crypt: Protect against double-encrypting dataChris St. Pierre2014-01-071-0/+16
|
* bcfg2-lint: fixed automatically loading server plugin lint pluginsChris St. Pierre2014-01-071-5/+5
|
* Merge branch 'maint'Chris St. Pierre2013-12-0916-49/+560
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * bcfg2-lint: New ValidateJSON pluginChris St. Pierre2013-12-091-0/+70
| | | | | | | | | | This plugin validates the JSON files that can be used by Properties and Ohai.
| * bcfg2-lint: New TemplateAbuse plugin detects templated scriptsChris St. Pierre2013-12-091-0/+75
| | | | | | | | | | | | | | | | TemplateAbuse detects templated scripts (either files that end with a known extension, or that start with a shebang line) and executables (based off of their permissions in info.xml) and warns about them, since templating scripts is dicey at best, and almost always better done by templating a config file for the script to read instead.
| * XMLSrc: Load XML in one step instead of separate read and parseChris St. Pierre2013-12-091-9/+2
| |
| * Cfg: let EncryptedGenerator load setup object whenever the plugin is importedChris St. Pierre2013-12-091-3/+6
| | | | | | | | | | | | | | Previously, if CfgEncryptedGenerator was imported before the Cfg object was instantiated, it would finalize the Bcfg2.Server.Plugins.Cfg.SETUP object with a value of None, and would be unable to access the options dict.
| * Probes: fixed default list of allowed probe groupsChris St. Pierre2013-12-061-1/+1
| |
| * Augeas: avoid deprecation warningChris St. Pierre2013-12-051-2/+2
| |
| * Augeas: Added docstrings, fixed some minor pylint issuesChris St. Pierre2013-12-051-20/+91
| |
| * Augeas: Only install unverified commandsChris St. Pierre2013-12-051-0/+2
| |
| * POSIX: skip loading POSIX sub-tools that raise ImportErrorChris St. Pierre2013-12-051-2/+5
| | | | | | | | This mimics the behavior for "real" tools
| * Encryption: fixed unit testsChris St. Pierre2013-12-051-4/+4
| |
| * Tools: new Augeas driverChris St. Pierre2013-12-051-0/+211
| |
| * 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-252-8/+17
| | | | | | | | | | | | | | 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.
| * bcfg2-admin: added missing docstringChris St. Pierre2013-11-251-1/+2
| |
| * bcfg2-admin: Restored missing "bcfg2-admin client add ... attrib=val" ↵Chris St. Pierre2013-11-252-3/+25
| | | | | | | | functionality
| * Bundler: Fix parsing XML template output with encoding declarationChris St. Pierre2013-11-211-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lxml 3.2.1 complains when you try to parse a unicode (in Python 2) or string (in Python 3) containing an XML document with an encoding declaration. Traceback: ValueError: Unicode strings with encoding declaration are not supported. Please use bytes input or XML fragments without declaration. This encodes the document as a string (in Python 2) or bytes (in Python 3) to avoid the lxml error. There may be other places this happens, too, although in most other cases we should use lxml.etree.parse() to parse a file, or we parse strings (in Python 2) instead of unicode objects.
| * bcfg2-lint: resolve XIncludes when parsing XML for validationChris St. Pierre2013-11-181-3/+12
| |
| * Reporting: Remove wildcard importsSol Jerome2013-11-163-6/+3
| | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
| * Probes: added missing docstringChris St. Pierre2013-11-141-0/+3
| |
| * testsuite: fixed unit tests for Probes allowed_groups optionChris St. Pierre2013-11-142-2/+4
| |
| * Add probes.allowed_groups option to restrict group assignments.Simon Ruderich2013-11-142-2/+25
| |
| * Options: make "public" default pgsql database schemaChris St. Pierre2013-11-131-1/+1
| |
* | Packages: better way to find bcfg2-yum-helperChris St. Pierre2013-12-091-11/+8
| |
* | Options: Finalize onceMichael Fenn2013-12-071-1/+1
| | | | | | | | | | | | | | | | If finalize is called early, then some options will not be parsed but instead always take the default value (observed with reporting.transport). Calling finalize once at the end of the processing lets all options take the values they were assigned in the config file.
* | Core: handle errors in FAM thread more verboselyChris St. Pierre2013-11-131-8/+12
| |
* | Multiprocessing: stringify server core safely before options are parsedChris St. Pierre2013-11-131-2/+6
| |
* | Options: parse config options before setting defaultsChris St. Pierre2013-11-121-0/+1
| |
* | NagiosGen: Sort the hostgroup listStéphane Graber2013-11-121-1/+1
| | | | | | | | This prevents the hostgroup list from flipping at random.
* | Merge branch 'maint'Chris St. Pierre2013-11-127-13/+33
|\| | | | | | | | | | | | | | | | | Conflicts: src/lib/Bcfg2/Server/Admin/Reports.py src/lib/Bcfg2/Server/Hostbase/hostbase/urls.py src/lib/Bcfg2/Server/Hostbase/urls.py src/sbin/bcfg2-crypt tools/upgrade/1.3/migrate_dbstats.py
| * Reports: Add missing ImportErrorSol Jerome2013-11-111-1/+1
| | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
| * Fix compatibility with Django 1.6.Simon Ruderich2013-11-118-12/+32
| |
* | Options: made unit test flag publicChris St. Pierre2013-11-121-3/+3
| |