summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Multiprocessing: don't reuse child RPC listenersChris St. Pierre2013-11-051-26/+7
|
* Merge pull request #110 from AlexanderS/reporting-model-updatesChris St. Pierre2013-11-051-5/+5
|\ | | | | bcfg2-reports: update to use current models
| * bcfg2-reports: update to use current modelsAlexander Sulfrian2013-06-291-5/+5
| |
* | 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')
* | | Merge pull request #144 from fennm/admin-avoid-NotImplementedErrorChris St. Pierre2013-11-052-2/+0
|\ \ \ | |/ / |/| | Admin: Don't call dead Mode.__call__ code
| * | 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.
* | misc/bcfg2.spec: Remove more unnecessary requiresSol Jerome2013-10-301-2/+0
| | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* | misc/bcfg2.spec: Remove some unnecessary requiresSol Jerome2013-10-301-4/+0
| | | | | | | | | | | | | | While a lot of these dependencies can be useful, they aren't necessarily required unless you expect to use particular functionality. Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* | doc: Remove deprecated ssl documentationSol Jerome2013-10-303-68/+0
| | | | | | | | | | | | | | Current RHEL variants and all supported Debian variants have python-ssl support either via the builtin module or a backported python-ssl. Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* | doc: Remove reference to bcfg2-admin querySol Jerome2013-10-301-1/+0
| | | | | | | | | | | | The corresponding documentation was removed in ca6abe45. Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* | specfile: backported merge w/ Fedora specfile to 1.3Chris St. Pierre2013-10-281-180/+478
| |
* | testsuite: remove duplicate django installationChris St. Pierre2013-10-281-1/+1
| |
* | testsuite: install django 1.4.8 when testing py 2.5Chris St. Pierre2013-10-281-1/+3
| |
* | Merge pull request #142 from fennm/reporting-thread-each-data-importChris St. Pierre2013-10-281-10/+31
|\ \ | | | | | | Reporting: start a new thread for each import
| * | Revert "Reporting: Simple sanity check to avoid creating too many threads"Michael Fenn2013-10-141-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f813f86f8ac2bc7b55f4eb6a0d936f1ce4f68ba7. Premature optimization is the root of all evil, etc. Conflicts: src/lib/Bcfg2/Reporting/Collector.py
| * | Reporting: misc improvements to collector threadingMichael Fenn2013-10-101-4/+6
| | | | | | | | | | | | | | | | | | 1. Use a better convention for calling the threading.Thread constructor 2. Add docstring to ReportingStoreThread.run 3. Give the storage thread variable a better name
| * | Merge remote-tracking branch 'upstream/maint' into ↵Michael Fenn2013-10-104-5/+9
| |\ \ | |/ / |/| | | | | reporting-thread-each-data-import
* | | Packages: fixed metadata.Packages["sources"]Chris St. Pierre2013-10-091-1/+1
| | |
* | | Merge pull request #141 from fennm/fix-unit-tests-after-9a6a231Chris St. Pierre2013-10-041-1/+6
|\ \ \ | | | | | | | | Tests: Fix tests after 9a6a231
* | | | Metadata: read in clients.xml on every writeChris St. Pierre2013-10-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This ensures consistency between the in-memory representation of clients.xml and the representation on disk. If we don't read our writes immediately, there's a race condition when creating a new client: If it asserts its profile or version before the FAM event from the clients.xml edit is processed, then the clients doesn't appear to exist yet, and Bcfg2 complains.
* | | | Metadata: import any() from CompatChris St. Pierre2013-10-031-1/+3
| | | |
* | | | debian: Add build-depends for 35b53c7Sol Jerome2013-10-011-0/+1
| | | | | | | | | | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* | | | Core: Fixed error message on failed altsrc bindChris St. Pierre2013-09-301-3/+3
| | | |
| | * | Reporting: Simple sanity check to avoid creating too many threadsMichael Fenn2013-10-091-0/+3
| | | |
| | * | Reporting: start a new thread for each importMichael Fenn2013-10-091-10/+29
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When dealing with a high-latency database connection (eg. across a WAN), the bcfg2-report-collector process can fall behind in its import queue. The imports are very much bound by the response latency of the database server and not processing throughput. This patch fires off a new thread for each database interaction. The thread itself simply falls out of scope when the interaction is finished processing. The interaction object is still read from the disk serially in order avoid having to create a locking mechanism for that part of the process. This change does potentially create greater load on the database server, but ultimately the load is limited by rate at which the bcfg2 server can generate work.
| * / Tests: Fix tests after 9a6a231Michael Fenn2013-10-041-1/+6
|/ / | | | | | | | | | | | | | | The addition of the call to load_xml in 9a6a231 causes the test to fail because load_xml() expects to read a clients.xml file. The actual actual open calls in write_xml are dummied out with Mock, so no file is written, and thus cannot be read back. This commit dummies out the load_xml and adds some more asserts for good measure.
* | GroupLogic: fixed thread-local variable initializationChris St. Pierre2013-09-271-11/+13
| |
* | AWSTags: fixed cache clearing at start of client runChris St. Pierre2013-09-261-1/+1
| |
* | models: handle failure to import plugin gracefullyChris St. Pierre2013-09-261-1/+1
| |
* | testsuite: install boto with optional dependenciesChris St. Pierre2013-09-261-1/+1
| |
* | Metadata: better logging when updating XML data failsChris St. Pierre2013-09-261-5/+6
| |
* | New plugin: AWSTagsChris St. Pierre2013-09-267-0/+561
| | | | | | | | | | AWSTags allows querying tags from EC2, and setting groups based on the tag names or values.
* | docs: clarify when JSON/YAML Properties files were addedChris St. Pierre2013-09-251-0/+4
| |
* | GroupLogic: avoid infinite recursion when using metadata.query in GroupLogicChris St. Pierre2013-09-231-0/+17
| |
* | GroupLogic: sort after other plugins so GroupLogic can use, e.g., Probe groupsChris St. Pierre2013-09-231-0/+3
| |
* | posixusers_baseline.py: Handle users with nonexistent primary groupsChris St. Pierre2013-09-171-3/+8
| |
* | bcfg2-lint: Fixed Metadata check for duplicate groupsChris St. Pierre2013-09-171-9/+29
| | | | | | | | | | | | | | | | | | The duplicate group check parsed groups differently from the actual groups.xml parsing routines; the latter followed the documentation, while the duplicate group check did now. This fixes the duplicate group check to parse groups.xml correctly when looking for duplicates. Fixes #140
* | doc: Init script was updated to use a directorySol Jerome2013-09-161-1/+1
| | | | | | | | | | | | | | Reported on IRC: http://colabti.org/irclogger/irclogger_log/bcfg2?date=2013-09-16;raw=on Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* | testsuite: Fixed CfgPublicKeyCreator testsChris St. Pierre2013-09-161-6/+5
| | | | | | | | | | | | Instead of mocking get_filename, use its normal functionality. This avoids a messy situation where we have to mock out a **magic call, which py2.5 doesn't like at all.
* | CfgPublicKeyCreator: properly handle case where only private key has been ↵Chris St. Pierre2013-09-164-57/+137
| | | | | | | | | | | | | | | | | | created Previously, only two cases were handled properly: both public and private keys had been created; or neither had been created. If the private key had been created (e.g., manually added to the repo), the public key would not be created from it. This fixes that.
* | Remove all ACLs (including mask) from entries with no ACLs listedChris St. Pierre2013-09-121-0/+5
| | | | | | | | | | | | When installing an entry with no ACLs specified, but with ACLs on the file as it exists on the filesystem, the ACL mask was preserved, even as the ACLs are deleted.
* | XMLFileBacked: removed unused variableChris St. Pierre2013-09-111-1/+1
| |
* | XMLFileBacked: Fixed multiple identical XIncludes in one fileChris St. Pierre2013-09-111-12/+9
| |
* | bcfg2-lint: Added Cfg check for multiple global handlers for one entry setChris St. Pierre2013-09-091-1/+17
| |
* | Cfg: allow changing category specific-ness of generated authorized_keysChris St. Pierre2013-09-092-3/+12
| |
* | testsuite: add "encoding" to setup for POSIXUsers testsChris St. Pierre2013-09-091-1/+8
| |
* | Cfg: Give non-specific handlers a default specificityChris St. Pierre2013-09-092-5/+9
| |
* | POSIXUsers: Fix tracebackSol Jerome2013-09-061-1/+2
| | | | | | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>