summaryrefslogtreecommitdiffstats
path: root/src/lib
Commit message (Collapse)AuthorAgeFilesLines
...
| * FAM: Only shut down inotify notifier onceChris St. Pierre2014-02-191-1/+1
| |
| * Merge pull request #156 from irconan/default-aclsChris St. Pierre2014-02-182-46/+92
| |\ | | | | | | Support ACLs without a specific user/group
| | * support python 2.4 for default ACL checking in LintRichard Connon2014-02-181-6/+7
| | |
| | * Working lint check for invalid default ACLsRichard Connon2014-02-141-29/+18
| | |
| | * Correct XML source for bundles in default ACL LintRichard Connon2014-02-141-1/+1
| | |
| | * Lint checking for invalid default ACLsRichard Connon2014-02-141-1/+32
| | |
| | * Don't strip other entries from default ACL, these are defined by mode number.Richard Connon2014-02-101-3/+1
| | |
| | * docstring for new sub-methodRichard Connon2014-02-041-0/+2
| | |
| | * Except _verify_acls from pylint branches checkRichard Connon2014-02-041-1/+1
| | |
| | * Removed redundant condition for empty default ACLRichard Connon2014-02-041-8/+7
| | |
| | * Fixed continue not in a loop error in previousRichard Connon2014-02-041-1/+1
| | |
| | * fix for "Too many branches" in _verify_aclsRichard Connon2014-02-041-20/+23
| | |
| | * Minor changes to default ACL codeRichard Connon2014-02-041-5/+4
| | |
| | * Support ACLs without a specific user/group for default owner/owning-group ↵Richard Connon2014-02-041-28/+52
| | | | | | | | | | | | ACLs on directories
| * | 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-182-10/+17
| | |
| * | settings: Make it possible to use ibm_db_django engineChris St. Pierre2014-02-141-1/+6
| | | | | | | | | | | | This is a forward-port of 49362b6d633a7784f77650d5218d0e629d50e4fb
| * | Core: explicitly close database connections at the end of each client runChris St. Pierre2014-02-131-0/+5
| | |
| * | Merge pull request #149 from danfoster/apt-essential-cacheChris St. Pierre2014-02-101-0/+1
| |\ \ | | | | | | | | Essential package list cache is not cleared when Packages is refreshed
| | * | Reset essential package list to an empty set when Packages is refreshedDan Foster2013-12-291-0/+1
| | | |
| * | | Metadata: fix check for Groups with options in duplicate groups testChris St. Pierre2014-02-071-3/+4
| | |/ | |/|
| * | fixed pylint testsChris St. Pierre2014-01-306-7/+12
| | |
| * | Augeas: ensure that entry.attrib is always a dictChris St. Pierre2014-01-291-1/+2
| | |
| * | load correct JSON library on py2.4Chris St. Pierre2014-01-295-5/+10
| | |
| * | Client: let lxml.etree XML implementation parse very large documentsChris St. Pierre2014-01-291-1/+9
| | |
| * | added missing docstringChris St. Pierre2014-01-221-2/+5
| | |
| * | Don't parse unicode XML with encodingChris St. Pierre2014-01-221-1/+10
| | | | | | | | | | | | | | | Fix another place where a unicode XML string with an encoding declaration may be read. Cf. 0f8d403d1a86cfbfe8222662dc445e16e8f7eff9
| * | POSIX: Properly stringify ACLs with no user/group specifiedChris St. Pierre2014-01-161-1/+4
| | | | | | | | | | | | | | | | | | | | | This is just a workaround to avoid a traceback; the real fix will involve making the POSIX tool properly handle ACLs with no user/group given, which refer to the current user/group of the file they apply to.
| * | FAM: Get full traceback when event handling errorsChris St. Pierre2014-01-161-1/+2
| | |
| * | Reporting: occasionally reap child threadsMichael Fenn2014-01-101-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | I noticed that, at least on Python 2.4, memory for threads doesn't get freed until the threads are joined. This patch causes the collector to periodically go through and reap those threads. Tested in production for ~1 month, no reported issues.
| * | Encryption: fixed base64 decode failure messageChris St. Pierre2014-01-071-1/+1
| | |
| * | fixed indentation in previousRichard Connon2014-01-051-1/+1
| | |
| * | Fixed syntatical error in previousRichard Connon2014-01-051-2/+2
| | |
| * | Fixed group blacklist issue #150Richard Connon2014-01-051-0/+1
| | |
| * | Encryption: better error message when base64 decode failsChris St. Pierre2014-01-021-1/+10
| | |
| * | bcfg2-lint: expand wildcard xincludes when validating XMLChris St. Pierre2013-12-311-0/+29
| | |
| * | Augeas improvements:Chris St. Pierre2013-12-111-10/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added ability to specify initial content for a file that doesn't exist, to avoid a messy situation where you'd have to probe for file existence and either use a Path type="file" or Path type="augeas" depending, and run Bcfg2 twice. * All commands in an Augeas path are run if *any* of them fail to verify. Previously, only commands that hadn't been run would be installed, but that had issues, particularly with the Clear command, which could pass verification but then be required during the installation phase anyway. * Miscellaneous bug fixes.
* | | Merge branch 'master-test-fixes' of https://github.com/fennm/bcfg2Sol Jerome2014-04-141-1/+0
|\ \ \
| * | | pep8 fixesMichael Fenn2014-04-091-1/+0
| | | |
* | | | don't trigger full reparse on adding config fileMichael Fenn2014-04-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The full reparse turns out to be unnecessary with one change to the server options, and plays havoc with ordering of django components and overriding values in bcfg2-web.conf
* | | | Reporting: update non-ORM bits to know about separate databaseMichael Fenn2014-04-092-9/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a little bit of code in the reporting web interface that uses raw SQL rather than the django ORM. This bypassed the database router functionality (since there is no model to bind to). Django supports keeping track of multiple connections in the raw SQL interface, so this commit does the refactoring necessary to support the multiple databases.
* | | | Remove unused importMichael Fenn2014-04-091-1/+1
| | | |
* | | | Add BCFG2_CONFIG_FILE environment variable (regression from 1.3)Michael Fenn2014-04-071-0/+2
| | | |
* | | | check for existence of isatty to account for older wsgi Log objectsMichael Fenn2014-04-071-1/+1
|/ / /
* | | Be more robust about checking for reporting_db_engine presenceMichael Fenn2014-03-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This matters during the test suite: ====================================================================== ERROR: Failure: AttributeError ('Namespace' object has no attribute 'reporting_db_engine') ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/nose/loader.py", line 364, in loadTestsFromName addr.filename, addr.module) File "/usr/lib/python2.6/site-packages/nose/importer.py", line 39, in importFromPath return self.importFromDir(dir_path, fqname) File "/usr/lib/python2.6/site-packages/nose/importer.py", line 84, in importFromDir mod = load_module(part_fqname, fh, filename, desc) File "/d/en/fennm-0/bcfg2-dbrouter/bcfg2-dbrouter.git/testsuite/Testtools/__init__.py", line 14, in <module> from common import * File "/d/en/fennm-0/bcfg2-dbrouter/bcfg2-dbrouter.git/testsuite/common.py", line 62, in <module> Bcfg2.DBSettings.finalize_django_config() File "/d/en/fennm-0/bcfg2-dbrouter/bcfg2-dbrouter.git/src/lib/Bcfg2/DBSettings.py", line 99, in finalize_django_config if opts.reporting_db_engine is not None: AttributeError: 'Namespace' object has no attribute 'reporting_db_engine'
* | | Make indentation consistent with other elements of the dictMichael Fenn2014-03-241-1/+1
| | |
* | | 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