summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Core.py
Commit message (Collapse)AuthorAgeFilesLines
* Move sorting to the server core, rather than just in bcfg2 infoCalen Pennington2012-01-181-0/+11
|
* Add the failure attribute on unknown bind errors, as well as on ↵Calen Pennington2011-12-121-3/+5
| | | | PluginExecutionErrors
* Core: Fix log message for #1053Sol Jerome2011-09-221-1/+1
| | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* Metadata: Better handling of floating cert-authenticated clients (Ticket #1030)Sol Jerome2011-08-111-1/+1
| | | | | | | | | | | | | | | | | | | From the ticket: A floating, cert-authenticated client can be not recognized properly by hostname if it resolves to an arbitrary name in reverse DNS. Background: Metadata.resolve_client, called from @exposed Core's methods, falls back to reverse DNS lookup for client's name, because the name is not preserved thanks to bailing off early from Metadata.AuthenticateConnection. (This issue can be related to #936.) This patch enables caching of client names for cert-based floating clients. Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* Created a new method to return a sorted list of plugins by type.Mike McCallister2011-07-221-41/+54
| | | | | | | | | | | | | | | | | | | | Replaced many list comprehensions in Core.py with a new method named plugins_by_type(), which does the same thing with an added twist: this new method also sorts the list of plugins by a new field named sort_order. It also uses the name of the plugin where the sort_order values are the same. This lets us control the processing sequence of plugins that need to build on the results of a plugin that runs prior to them. The immediate example is Deps, which should run after Packages has generated the full list of packages to be installed. Prior to this commit, it was impossible to control the order in which they ran. A future commit will (hopefully) take advantage of this capability. This commit also splits the Core.validate_data() method into two: one for validate_structures() and one for validate_goals(), instead of passing in a base class and using if logic. This approach seemed a little clearer to me.
* PY3K: Finish server-side code fixesSol Jerome2011-06-141-2/+2
| | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* Core: Raise error on failed lxml import (Reported by Raul Cuza on IRC)Sol Jerome2011-05-051-1/+5
| | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* Fix regressions with new py3k codeSol Jerome2011-05-031-0/+1
| | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* Common: Add full PY3K compatibilitySol Jerome2011-04-271-3/+7
| | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* PY3K + PEP8 fixes for remaining filesSol Jerome2011-04-071-29/+35
| | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* Added some more comments.Fabian Affolter2010-08-141-8/+11
| | | | git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@6015 ce84e21b-d406-0410-9b95-82705330c041
* Some docstrings addedFabian Affolter2010-07-161-2/+9
| | | | git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5967 ce84e21b-d406-0410-9b95-82705330c041
* Updated files to match PEP 257 Fabian Affolter2010-06-211-13/+13
| | | | git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5951 ce84e21b-d406-0410-9b95-82705330c041
* Reduce select timeouts to 2sTim Laszlo2010-06-161-2/+2
| | | | git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5942 ce84e21b-d406-0410-9b95-82705330c041
* ThreadedStatistics: load/save data on startup/shutdownTim Laszlo2010-06-161-0/+3
| | | | git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5941 ce84e21b-d406-0410-9b95-82705330c041
* Call Core.shutdown explicitly when the XMLRPCServer exists. Fixes server ↵Tim Laszlo2010-06-111-3/+4
| | | | | | hang on lucid git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5925 ce84e21b-d406-0410-9b95-82705330c041
* Prevent bcfg2-server from hanging on exit when the Pseudo FileMonitor is usedTim Laszlo2010-06-111-1/+1
| | | | git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5923 ce84e21b-d406-0410-9b95-82705330c041
* Terminate fam thread on shutdownTim Laszlo2010-05-241-2/+6
| | | | | | | | | When the bcfg2-server exits the fam thread is left running which hangs the process on exit. Resolves Ticket #709 git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5863 ce84e21b-d406-0410-9b95-82705330c041
* Core: Allow the specification of plugin conflicts (Fix for Ticket #875)Sol Jerome2010-04-241-0/+12
| | | | Signed-off-by: Sol Jerome <solj@ices.utexas.edu>
* Snapshots: Use custom bcfg2.conf when specified (Fix for #839)Sol Jerome2010-02-081-1/+3
| | | | | | Signed-off-by: Sol Jerome <solj@ices.utexas.edu> git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5716 ce84e21b-d406-0410-9b95-82705330c041
* Core: Uniformly handle Metadata resolution errorsNarayan Desai2009-12-231-0/+4
| | | | git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5631 ce84e21b-d406-0410-9b95-82705330c041
* Core: Fix typoNarayan Desai2009-11-051-0/+1
| | | | git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5531 ce84e21b-d406-0410-9b95-82705330c041
* DBStats: Fix data eating / Core: revert copy changeNarayan Desai2009-11-051-2/+0
| | | | git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5530 ce84e21b-d406-0410-9b95-82705330c041
* Core: Only pass copies of statistics objects to stats plugins (Reported by ↵Narayan Desai2009-11-051-1/+2
| | | | | | davidstrauss) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5529 ce84e21b-d406-0410-9b95-82705330c041
* Pylint/PEP 8 Code cleanupsSol Jerome2009-10-071-6/+6
| | | | | | Signed-off-by: Sol Jerome <solj@ices.utexas.edu> git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5477 ce84e21b-d406-0410-9b95-82705330c041
* Fix nasty core hang, which would manifest itself as a lockup upon shutdown ↵Narayan Desai2009-10-021-1/+6
| | | | | | | | | | | | | | | | | | | for bcfg2-{server,info,admin} The root cause of this issue was our use of external threads. Without a channel for data requesting plugin (and hence thread) shutdown, plugin threads would continue, unabated, forever. This would cause the python interpreter to hang forever waiting for a futex. Added a new shutdown method to Bcfg2.Server.Plugin.Plugin which sets a state flag upon shutdown request. Plugin threads must cycle periodically, even if no work is available, to ensure that the shutdown flag is honored in a reasonable amount of time. Also, the shutdown method is triggered using atexit. This means that scripts may need to explicitly sys.exit or raise SystemExit, depending on circumstances. This addresses at least one, but probably more tickets, however I am currently offline. git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5472 ce84e21b-d406-0410-9b95-82705330c041
* Changed name and implementation to "bcfg2-server" so that the serverMike McCallister2009-09-261-2/+2
| | | | | | | logs to syslog as "bcfg2-server". git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5465 ce84e21b-d406-0410-9b95-82705330c041
* bcfg2-server: Improve startup error handling (Patch from Mike McCallister) ↵Narayan Desai2009-07-281-0/+1
| | | | | | (Resolves Ticket #695) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5391 ce84e21b-d406-0410-9b95-82705330c041
* Fix Fam supportNarayan Desai2009-06-241-1/+3
| | | | | | | There is some weird issue in Fam where fam stops giving events. The previous code did not tickle this condition but the new refactored code did, so we're going back to the old code for the moment. git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5296 ce84e21b-d406-0410-9b95-82705330c041
* Core: Fix statistics related server tracebackNarayan Desai2009-06-231-4/+1
| | | | | | Remove call to deepcopy, fixing a traceback and improving performance git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5293 ce84e21b-d406-0410-9b95-82705330c041
* Metadata: Implement query interfaceNarayan Desai2009-06-191-1/+1
| | | | | | | | | | | | | | Clean up all of the ad-hoc interface to global metadata, replacing it with a consistent interface. ClientMetadata instances now have a query attribute which has the following methods: - by_name -- resolve client metadata by primary name - by_groups -- resolve client metadata for clients belonging to multiple groups - by_profiles -- resolve client metadata for clients with given profiles - names_by_groups -- return names of clients belonging to multiple groups - names_by_profiles -- return names of clients using given profiles - all_names -- return names of all clients git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5286 ce84e21b-d406-0410-9b95-82705330c041
* Implement zultron's inter-client metadata stuffNarayan Desai2009-06-181-0/+1
| | | | git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5282 ce84e21b-d406-0410-9b95-82705330c041
* Pull out hashlib for the momentNarayan Desai2009-05-291-8/+0
| | | | git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5259 ce84e21b-d406-0410-9b95-82705330c041
* Add back updates for VCS pluginsSol Jerome2009-05-151-0/+4
| | | | | | Signed-off-by: Sol Jerome <solj@ices.utexas.edu> git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5241 ce84e21b-d406-0410-9b95-82705330c041
* Merge xmlrpc interfaces with Bcfg2.Server.CoreNarayan Desai2009-05-151-19/+151
| | | | git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5238 ce84e21b-d406-0410-9b95-82705330c041
* Implement reporting for deprecated plugins, improve reporting for ↵Narayan Desai2009-05-071-4/+13
| | | | | | experimental plugins git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5207 ce84e21b-d406-0410-9b95-82705330c041
* Make time logging uniformNarayan Desai2009-05-071-1/+1
| | | | git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5203 ce84e21b-d406-0410-9b95-82705330c041
* start passing bind failure information to clientsNarayan Desai2009-02-181-0/+3
| | | | git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5083 ce84e21b-d406-0410-9b95-82705330c041
* Split out connector interface to allow for additional data generation based ↵Narayan Desai2009-02-021-3/+5
| | | | | | on complete group list git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5055 ce84e21b-d406-0410-9b95-82705330c041
* Core fixes from pylintSol Jerome2009-01-291-7/+7
| | | | | | | Signed-off-by: Sol Jerome <solj@ices.utexas.edu> git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5048 ce84e21b-d406-0410-9b95-82705330c041
* Fix tb caused by non-string revisionSol Jerome2009-01-281-1/+1
| | | | | | | Signed-off-by: Sol Jerome <solj@ices.utexas.edu> git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5046 ce84e21b-d406-0410-9b95-82705330c041
* Add Version plugin typeSol Jerome2009-01-261-44/+6
| | | | | | | | | | | | | | | The following changes were made: * Remove VCS logic out of the Core * Add Git/Svn plugins * Remove config file directive in bcfg2.conf Use of the plugins are enabled by adding Git or Svn (or both) to the plugins line of bcfg2.conf Signed-off-by: Sol Jerome <solj@ices.utexas.edu> git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5044 ce84e21b-d406-0410-9b95-82705330c041
* Remove plugin initialization debug codeNarayan Desai2009-01-211-1/+1
| | | | git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5033 ce84e21b-d406-0410-9b95-82705330c041
* Add support for out of tree pluginsNarayan Desai2009-01-211-2/+5
| | | | git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5031 ce84e21b-d406-0410-9b95-82705330c041
* Infrastructure and initial implementation of the Packages pluginNarayan Desai2009-01-211-1/+1
| | | | git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5029 ce84e21b-d406-0410-9b95-82705330c041
* add GBundler plugin (like SGenshi, but works like Bundler)Narayan Desai2009-01-151-4/+10
| | | | git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5025 ce84e21b-d406-0410-9b95-82705330c041
* Add support for alternate VCS backendsSol Jerome2009-01-131-8/+30
| | | | git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5023 ce84e21b-d406-0410-9b95-82705330c041
* Plugin configuration change: all plugins now need to be specified in the ↵Narayan Desai2009-01-121-45/+22
| | | | | | plugins line in bcfg2.conf (no more structures, generators, or connectors lines) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5014 ce84e21b-d406-0410-9b95-82705330c041
* Finish up Pull Source and multi-Statistics codeNarayan Desai2009-01-121-18/+20
| | | | git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5012 ce84e21b-d406-0410-9b95-82705330c041
* More Plugin rework (Structure Validator implementation complete)Narayan Desai2009-01-101-18/+34
| | | | git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5007 ce84e21b-d406-0410-9b95-82705330c041