summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2
Commit message (Collapse)AuthorAgeFilesLines
* 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
| |
* | Multiprocessing: Added missing Queue back in, merge failChris St. Pierre2013-11-121-1/+1
| |
* | bcfg2-crypt: Avoid duplicate decrypt/encrypt when auto-determining modeChris St. Pierre2013-11-121-5/+7
| |
* | bcfg2-crypt: Fixed several bugs in autodetection of encrypt/decrypt modeChris St. Pierre2013-11-121-41/+58
| |
* | Options: added workaround for unit tests that use the parserChris St. Pierre2013-11-121-13/+12
| |
* | Merge branch 'maint'Chris St. Pierre2013-11-115-34/+53
|\| | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/lib/Bcfg2/Server/Admin/Compare.py src/lib/Bcfg2/Server/Admin/Snapshots.py src/lib/Bcfg2/Server/MultiprocessingCore.py src/lib/Bcfg2/Server/Plugins/Probes.py src/sbin/bcfg2-crypt src/sbin/bcfg2-reports tools/upgrade/1.3/migrate_configs.py tools/upgrade/1.3/migrate_perms_to_mode.py
| * Probes: automatically remove duplicate probe dataChris St. Pierre2013-11-111-3/+10
| |
| * Version bump to 1.3.3v1.3.3Sol Jerome2013-11-072-2/+2
| | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
| * Multiprocessing: removed unused importChris St. Pierre2013-11-061-1/+1
| |
| * Multiprocessing: don't reuse child RPC listenersChris St. Pierre2013-11-051-26/+7
| |
| * Merge pull request #143 from fennm/proxy-retry-on-ssl-errorChris St. Pierre2013-11-051-1/+0
| |\ | | | | | | Proxy: Catch SSL errors and retry
| | * Don't re-raise unknown exceptions per stpierreMichael Fenn2013-11-021-4/+0
| | |
| | * Proxy: Catch SSL errors and retryMichael Fenn2013-11-011-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SSL library can throw an exception during the XMLRPC method call. There is no explicit except statement for this type of exception so they get raised up and abort the client's processing. This patch catches the exception so that normal retry processing occurs. Typical traceback: Traceback (most recent call last): File "/usr/sbin/bcfg2", line 29, in ? sys.exit(main()) File "/usr/sbin/bcfg2", line 26, in main return Client(setup).run() File "/usr/lib/python2.4/site-packages/Bcfg2/Client/Client.py", line 256, in run rawconfig = self.get_config(times=times).decode('utf-8') File "/usr/lib/python2.4/site-packages/Bcfg2/Client/Client.py", line 225, in get_config self.run_probes(times=times) File "/usr/lib/python2.4/site-packages/Bcfg2/Client/Client.py", line 151, in run_probes probes = Bcfg2.Client.XML.XML(str(self.proxy.GetProbes())) File "/usr/lib/python2.4/site-packages/Bcfg2/Proxy.py", line 81, in __call__ return _orig_Method.__call__(self, *args) File "/usr/lib64/python2.4/xmlrpclib.py", line 1096, in __call__ return self.__send(self.__name, args) File "/usr/lib64/python2.4/xmlrpclib.py", line 1383, in __request verbose=self.__verbose File "/usr/lib/python2.4/site-packages/Bcfg2/Proxy.py", line 331, in request return self.parse_response(response) File "/usr/lib64/python2.4/xmlrpclib.py", line 1255, in parse_response return self._parse_response(file, None) File "/usr/lib64/python2.4/xmlrpclib.py", line 1276, in _parse_response response = file.read(1024) File "/usr/lib64/python2.4/httplib.py", line 480, in read s = self.fp.read(amt) File "/usr/lib64/python2.4/socket.py", line 303, in read data = self._sock.recv(recv_size) File "/usr/lib64/python2.4/site-packages/M2Crypto/SSL/Connection.py", line 217, in read return self._read_bio(size) File "/usr/lib64/python2.4/site-packages/M2Crypto/SSL/Connection.py", line 202, in _read_bio return m2.ssl_read(self.ssl, size, self._timeout) M2Crypto.SSL.SSLError: (104, 'Connection reset by peer')
| * | Admin: Don't call dead Mode.__call__ codeMichael Fenn2013-11-052-2/+0
| |/ | | | | | | | | | | | | | | | | In 9eb3db84, Bcfg2.Server.Admin.Mode.__call__() was changed from pass to raise a NotImplementedError. This causes bcfg2-admin compare and bcfg2-admin snapshots to fail because they call Bcfg2.Server.Admin.Mode.__call__() right away. Since that method didn't do anything anyway, it seems expediant to just avoid the call altogether.
* | bcfg2-lint: better checks for TemplateHelper __default__ stuffChris St. Pierre2013-11-111-1/+15
| | | | | | | | | | | | | | * Check to ensure that no symbols use reserved words, which are different for __default__ than for __export__ * Check to ensure that symbols aren't listed in both __default__ and __export__
* | TemplateHelper: misc. cleanup of __default__ featureChris St. Pierre2013-11-111-14/+20
| | | | | | | | | | | | * Don't require symbols to be listed twice; they can be listed in either __export__ or __default__, but need not be in both. * Check for reserved words in __default__ list
* | Reporting: fixed error reportingChris St. Pierre2013-10-311-1/+1
| |
* | Options: Don't reparse initial config fileChris St. Pierre2013-10-311-3/+5
| | | | | | | | It hasn't been parsed at this stage anyway.