summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server
Commit message (Collapse)AuthorAgeFilesLines
* Prevent lxml Element from being passed non-string dataGordon Messmer2015-09-131-1/+1
|
* 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 '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.
* | | 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.
* | | Ldap: Complete renew of the Ldap pluginAlexander Sulfrian2015-07-241-165/+159
| | |
* | | Utils: Generalize safe_module_nameAlexander Sulfrian2015-07-242-13/+8
| | | | | | | | | | | | | | | Other plugins that also import user generated python source code, may want to use safe_module_name from TemplateHelper.
* | | Merge branch 'merge-files-ignore-binary' of https://github.com/AlexanderS/bcfg2Sol Jerome2015-07-221-0/+3
|\ \ \ | |_|/ |/| |
| * | Utils: Generalize is_string from POSIX/FileAlexander Sulfrian2015-07-221-7/+3
| | | | | | | | | | | | | | | | | | 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-128-63/+254
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * 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>
| * | 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.
| * | Server/Core: drop privileges even if not running as daemonAlexander Sulfrian2015-02-253-7/+29
| | |
| * | Merge pull request #267 from stpierre/pylint-0.28-maintChris St. Pierre2015-02-257-51/+52
| |\ \ | | | | | | | | Fix pylint errors
| | * | Fix pylint errorsChris St. Pierre2015-02-257-51/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Bundler: Catch all exceptions in BuildStructuresChris St. Pierre2015-05-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | This fixes a regression in 89e7afbf74ffb that made an unexpected failure in a bundle (e.g., an arbitrary exception raised by a templated bundle) prevent all subsequent bundles from being built, too. Restoring the blanket 'except' makes it so that an unexpected failure only affects the specific bundle that fails.
* | | SSHbase: Use correct exception typeAlexander Sulfrian2015-05-101-3/+3
| | | | | | | | | | | | gethostbyaddr() raises socket.herror not socket.gaierror.
* | | SSHbase: Fix logging callAlexander Sulfrian2015-05-101-1/+1
| | | | | | | | | | | | Use the methods of self.logger for logging messages.
* | | Merge pull request #250 from stpierre/blanket-except-plugins-lintChris St. Pierre2015-02-1829-218/+172
|\ \ \ | | | | | | | | Remove blanket excepts from plugins and lint
| * | | Remove blanket excepts from plugins and lintChris St. Pierre2015-02-1829-218/+172
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes most blanket except: clauses from all plugins, including the base plugin libraries, and bcfg2-lint. The few that remain should all be necessary. Most of the changes were quite minor, but this did require some restructuring of the CfgPrivateKeyCreator; as a result, the tests for that module were rewritten.
* | | | FileMonitor/Pseudo: Only produce exists events, if file exists.Alexander Sulfrian2015-02-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | The pseudo filemonitor created exists events, even if the file does not exists and the event handler raises an exception. Not it simply ignores non existing files and does not confuse the user with error messages.
* | | | Server/Plugins/Decisions: Monitor files for changes.Alexander Sulfrian2015-02-171-2/+4
|/ / / | | | | | | | | | | | | | | | StructFile does not monitor the files by default and without the monitor we does not get the content. So we need to supply should_monitor=True to the StructFile.
* | | Pylint fixes for pylint 0.28Chris St. Pierre2015-02-178-45/+51
| | | | | | | | | | | | | | | This also pins Pylint to 0.28 or older so that we don't have to do this again. At some point we should look at upgrading to Pylint 1.x.
* | | Merge branch 'bundle-modification-deps' of https://github.com/AlexanderS/bcfg2Sol Jerome2015-01-031-4/+24
|\ \ \ | | | | | | | | | | | | | | | | Conflicts: src/lib/Bcfg2/Client/__init__.py
| * | | Bundler: modification is now the boolean inherit_modificationAlexander Sulfrian2014-11-251-3/+4
| | | |
| * | | Bundler: add modification support to Bundle dependenciesAlexander Sulfrian2014-11-251-4/+23
| | | | | | | | | | | | | | | | | | | | | | | | Bundle dependencies are now realized with RequiredBundle and support inheritance of the modification flag. This requires new client support and will only work with clients >= 1.4.0pre2.
* | | | Server/Plugin/helpers: remove track_statisticsAlexander Sulfrian2014-12-133-45/+9
| | | | | | | | | | | | | | | | Bcfg2.Server.Statistics.track_statistics was identical.
* | | | Server/Plugins/Metadata: add remove_client to rmi methodsAlexander Sulfrian2014-12-081-1/+2
| | | |
* | | | Server/SSLServer: allow None as return valueAlexander Sulfrian2014-12-081-1/+1
| | | |
* | | | Server/Plugins/Metadata: add list_clients to rmi methodsAlexander Sulfrian2014-11-301-0/+1
| | | |
* | | | Server/SSLServer: allow set as return valueAlexander Sulfrian2014-11-301-1/+3
| | | | | | | | | | | | | | | | | | | | xmlrpclib does not handle sets as return values. So we have to convert it to a list before returning it.
* | | | NagiosGen: Fix typo in b1b6b5aeSol Jerome2014-11-261-1/+0
| | | | | | | | | | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* | | | NagiosGen: Add bundles to configurationSol Jerome2014-11-261-1/+7
| | | | | | | | | | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* | | | Bcfg2/Server/Admin: fix the Help subcommandAlexander Sulfrian2014-11-251-1/+3
| | | | | | | | | | | | | | | | | | | | At least the Help subcommand does not provide a setup method. So we need to exclude if from the setup() call.
* | | | 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.