summaryrefslogtreecommitdiffstats
path: root/src/lib
Commit message (Collapse)AuthorAgeFilesLines
* Compatibility with Jinja < 2.7.Gordon Messmer2015-09-091-3/+9
|
* Keep trailing newlines in Jinja2 templates.Gordon Messmer2015-09-091-1/+3
|
* Merge branch 'no-django' of https://github.com/AlexanderS/bcfg2Sol Jerome2015-09-011-2/+4
|\
| * DBSettings: Don't use django, if it's not availableAlexander Sulfrian2015-07-201-2/+4
| |
* | Merge branch 'rules-replace_name' of https://github.com/AlexanderS/bcfg2Sol Jerome2015-09-013-2/+51
|\ \
| * | Rules: New options replace_name to replace %{name} in attributesAlexander Sulfrian2015-08-263-2/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you use the regex feature of Rules/Defaults you may need the real name of the matched entry in an attribute (for example home of POSIXUser). You can now enable replace_name for rules or defaults and %{name} will be replaces in the attribues of the Element before adding them to the target entry. This allows you to write something like that in Defaults to assing a default home directory somewhere else to all users with unset home: <POSIXUser name='.*' home='/somewhere/%{name}'/>
* | | Merge branch 'no-jinja2' of https://github.com/AlexanderS/bcfg2Sol Jerome2015-07-281-14/+15
|\ \ \
| * | | Plugins/Cfg: Don't depend on jinja2Alexander Sulfrian2015-07-201-14/+15
| | |/ | |/| | | | | | | | | | If jinja2 is not available, we cannot use some classes. So the access to these classes have to be dependent on the available of jinja2.
* | | Merge pull request #292 from AlexanderS/fix-options-defaultChris St. Pierre2015-07-281-0/+3
|\ \ \ | | | | | | | | Options: Set default values from config, right after adding a new option
| * | | Options: Set default values from config, right after adding a new optionAlexander Sulfrian2015-07-221-0/+3
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If adding an option during the "Main Parser Loop" (for example because of loading a component for bcfg-lint) a value for the option from the config file is simply ignored. After adding the option, the parser first tries to find the value in the command line, but cannot find it and set the default value from the source code as option value. After that the value from the config file is set as new default, but because the option already is in the Namespace, it does not use the new "default" value from the config file. This patch simply sets the default value from the config file for the new options, right after adding it to the parser and so the correct value is used afterwards, if the parser cannot find the flag on the command line.
* | | BuiltinCore: Fix logging with daemonizationAlexander Sulfrian2015-07-281-1/+20
| | | | | | | | | | | | | | | python-daemon closes all open files, so we need to specify the filehandles of the log files to keep logging working.
* | | Merge branch 'fix/systemd-ignore' of https://github.com/AlexanderS/bcfg2Sol Jerome2015-07-281-1/+1
|\ \ \
| * | | Client/Tools/Systemd: Do not stop services if status is set to ignoreAlexander Sulfrian2015-07-271-1/+1
| | | |
* | | | Ldap: Complete renew of the Ldap pluginAlexander Sulfrian2015-07-241-165/+159
| | | |
* | | | Utils: Generalize safe_module_nameAlexander Sulfrian2015-07-243-13/+17
|/ / / | | | | | | | | | | | | Other plugins that also import user generated python source code, may want to use safe_module_name from TemplateHelper.
* | | Merge branch 'fix-date-format' of https://github.com/AlexanderS/bcfg2Sol Jerome2015-07-238-31/+27
|\ \ \
| * | | DBSettings: Add possibility to specify arbitrary django options.Alexander Sulfrian2015-07-231-1/+8
| | | |
| * | | Reporting/templates: Use configurable date formats.Alexander Sulfrian2015-07-236-6/+12
| | | |
| * | | Options/Types: Fix database OPTIONS parsingAlexander Sulfrian2015-07-232-24/+7
| | |/ | |/| | | | | | | | | | | | | | | | | | | This is mostly from 257eb0c17 and 16d3e04cb to allow for setting arbitrary database options since some settings require nested dictionaries, etc. This got lost during merge from maint into master because of the completely different Options parsing.
* | | Merge branch 'merge-files-ignore-binary' of https://github.com/AlexanderS/bcfg2Sol Jerome2015-07-223-17/+22
|\ \ \ | |/ / |/| |
| * | Utils: Generalize is_string from POSIX/FileAlexander Sulfrian2015-07-223-24/+22
| | | | | | | | | | | | | | | | | | is_string from POSIX/File could be used in other situations, too. So we move it to Utils, use it from Lint/MergeFiles and replace a custom is_binary function.
| * | Lint/MergeFiles: Ignore binary filesAlexander Sulfrian2015-07-211-0/+7
| |/ | | | | | | | | Ignore files with binary content, because SequenceMatcher seems to have problems and sometimes detect files with different content as identically.
* / PrioDir: Only set text content, if something is availableAlexander Sulfrian2015-07-211-1/+2
|/ | | | | | This is used for the Rules and Defaults plugins. Without this patch all text content that was there before (for example file content bound by Cfg) is lost, for all entries specified in Defaults.
* Merge branch 'maint'Alexander Sulfrian2015-06-1215-89/+306
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Version bump to 1.3.6Sol Jerome2015-06-112-2/+2
| | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
| * Reporting: Fix plus/minusSol Jerome2015-06-111-2/+2
| | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
| * Merge branch 'fix-yum-packages-traceback' into maintSol Jerome2015-04-281-4/+9
| |\
| | * Yum.py: Add debug log messageSol Jerome2015-04-281-0/+2
| | | | | | | | | | | | | | | | | | | | | Log a message to debug if the package is missing from the host's primary architecture package list (as per Chris's request). Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
| | * Yum.py: Fix traceback when arch missingSol Jerome2014-11-041-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | Sometimes repositories may not contain packages for a specific architecture group. This handles that case gracefully instead of causing a traceback and failing to bind all Package entries. Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
| * | Merge pull request #276 from gaurdro/fix-secontext-not-supportedChris St. Pierre2015-04-212-20/+37
| |\ \ | | | | | | | | handle filesystem secontexts properly for contextless filesystems
| | * | handle filesystem secontexts properly for contextless filesystemsRoss Smith2015-04-162-20/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - adds 'secontext_ignore' under POSIX in the configuration file - short circuits on filesystems that are known not to support file labels - defaults to filesystems that have a genfs command in selinux reference policy - checks for Operation not supported while setting a file label - fixes #275
| * | | Reporting: Fix typoSol Jerome2015-04-171-1/+1
| |/ / | | | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
| * | FreeBSDInit: Fix __init__ callSol Jerome2015-04-091-1/+1
| | | | | | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
| * | Yum.py: Compare epoch/version/release separatelySol Jerome2015-03-311-6/+15
| | | | | | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
| * | Packages/Yum.py: Fix dependency resolution logicSol Jerome2015-03-301-2/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit helps the internal YUM resolver to choose the latest version of a package to generate dependencies. Previously, we were simply iterating through the file so that the last instance listed always won (even if that instance was an older version with differing dependencies). Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
| * | Server/Plugins/Packages: Fix _init_attributes position.Alexander Sulfrian2015-03-251-2/+2
| | | | | | | | | | | | | | | | | | | | | _init_attributes should be called after all properties of the Source class are initialized (so that _init_attributes could overwrite some of it). The Yum class initializes self.deps with a different default entry, that should not be reset by __init__ of Source afterwards.
| * | compat: use eval instead of ast.literal_eval on python 2.4Michael Fenn2015-03-192-2/+8
| | |
| * | APT.py: Fix syntax error introduced in cae39b7Sol Jerome2015-03-191-1/+1
| | | | | | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
| * | Reporting/models.py: Fix typoSol Jerome2015-03-171-1/+1
| | | | | | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
| * | Server/Core: drop privileges even if not running as daemonAlexander Sulfrian2015-02-254-8/+32
| | |
| * | Merge pull request #267 from stpierre/pylint-0.28-maintChris St. Pierre2015-02-2512-81/+79
| |\ \ | | | | | | | | Fix pylint errors
| | * | Fix pylint errorsChris St. Pierre2015-02-2512-81/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This also pins pylint to <= 0.28 so we don't have to keep playing whack-a-mole with it. Also removes unnecessary suppression of apt warnings. This is no longer necessary in 12.04, so should be safe to remove. If you're on Ubuntu < 12.04, upgrade for heaven's sake.
| * | | Merge pull request #254 from AlexanderS/fix-yum-initChris St. Pierre2015-02-252-48/+92
| |\ \ \ | | | | | | | | | | Plugins/Packages: fix initialization of YumSource
| | * | | Plugins/Packages/Source: Remove unused arguments of _init_attributesAlexander Sulfrian2015-01-232-9/+4
| | | | |
| | * | | Plugins/Packages: all attributes should be defined in __init__Alexander Sulfrian2015-01-232-53/+81
| | | | |
| | * | | Plugins/Packages: fix initialization of YumSourceAlexander Sulfrian2015-01-162-60/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During __init__ of the parent class get_repo_name is called. That needs fields (pump_id) that are defined later in the __init__ of YumSource. We introduce the new function _init_attributes to parse all attributes out of the <Source> tag before calling any other functions.
| * | | | Server/Plugins/Metadata: Reject passwd clients, if auth_type is certAlexander Sulfrian2015-02-241-2/+7
| | |/ / | |/| | | | | | | | | | | | | | If the auth type (either globally or specific for the client) is set to cert auth, we have to reject clients that does not provide a cert.
| * | | Make SSHbase also a Connector plugin.Alexander Sulfrian2015-01-271-0/+14
| |/ / | | | | | | | | | Make the public host key data avaialabe for the templates.
* | | Reporting: Add --no-dry-run and --no-only-important flagsAlexander Sulfrian2015-05-121-68/+102
| | | | | | | | | | | | | | | All bcfg2-reports subcommands, that work with specific interactions, can now ignore interactions created by --dry-run or --only-important run.
* | | Reporting: Add dry_run and only_important flagsAlexander Sulfrian2015-05-124-1/+315
| | | | | | | | | | | | | | | Save the status of --dry-run and --only-important in the statistics, so that the reports could be filtered to only respect "normal" runs.