summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server
Commit message (Collapse)AuthorAgeFilesLines
* Packages: cache group and package selectionsChris St. Pierre2013-08-071-5/+32
|
* Merge pull request #130 from ↵Chris St. Pierre2013-08-071-12/+16
|\ | | | | | | | | fennm/metadata-dont-update-xml-on-gratuitous-profile-update Metadata: Don't update XML on gratuitous profile update
| * Get profile by building metadata instead of guessingMichael Fenn2013-08-061-6/+9
| | | | | | | | | | | | Rather than doing some ad-hoc lookups of internal data structures stpierre suggested that it'd be better to use the normal metadata build procedures. This implements that and adjusts the tests.
| * Make updating the structures conditional on profile changingMichael Fenn2013-08-051-6/+6
| | | | | | | | | | | | Based on the expectations of the tests, I am reasonably confident that updating the in memory structures is logically part of changing the client's profile so I put it in the if block
| * Found a stray write that should be part of the new client caseMichael Fenn2013-08-051-2/+2
| |
| * Make pylint happyMichael Fenn2013-08-051-1/+1
| |
| * Metadata: Don't update XML on gratuitous profile updateMichael Fenn2013-08-051-2/+3
| | | | | | | | | | | | | | | | | | Check to see if the profile that is being set by set_profile exactly matches the existing profile list. If it does, then avoid writing out a new clients.xml. This simple optimization reduces the amount of clients.xml rewriting that occurs if you have a bunch of clients running bcfg2 -p at the same time (for example, during a cluster rebuild).
* | Probes: properly clear cacheChris St. Pierre2013-08-061-2/+4
| | | | | | | | | | When reloading probe groups/data for a single client from the database, only clear data for that client, not for all clients.
* | Probes: expire metadata cache after loading dataChris St. Pierre2013-08-061-0/+6
| |
* | Plugin: quiet down set_debug, but keep it usefulChris St. Pierre2013-08-061-3/+2
| |
* | MultiprocessingCore: log some messages as debug, not errorChris St. Pierre2013-08-061-2/+2
| |
* | Core: log when a cached metadata object is usedChris St. Pierre2013-08-061-0/+3
|/
* Multiprocessing: fixed resolve_client callChris St. Pierre2013-08-051-1/+1
|
* Probes: fixed unit testChris St. Pierre2013-08-051-1/+1
|
* Multiprocessing: proxy RecvProbeData callsChris St. Pierre2013-08-052-5/+29
| | | | | | | | This proxies RecvProbeData calls to child cores to expire the probe cache. The probe data itself is not relayed, just the fact that there was probe data received from a given client. Fixes #129.
* Core: track statistics on resolve_clientChris St. Pierre2013-08-051-0/+1
|
* MultiprocessingCore: greatly simplified parent-child RPC, removed ↵Chris St. Pierre2013-08-051-262/+145
| | | | non-thread-safe bits
* Yum: better errors when yum helper output isn't valid JSONChris St. Pierre2013-08-051-3/+8
|
* Yum: suppress warning about class variable assignmentChris St. Pierre2013-08-011-0/+2
|
* MultiprocessingCore: added missing docstringChris St. Pierre2013-08-011-0/+6
|
* Yum: Fixed class-scope variable assignmentsChris St. Pierre2013-08-011-4/+6
|
* Packages: reduce source_from_xml() calls on startupChris St. Pierre2013-07-311-6/+6
|
* Core: update VCS revision only when events are handledChris St. Pierre2013-07-311-1/+2
|
* MultiprocessingCore: dispatch "bcfg2-admin perf" calls to childrenChris St. Pierre2013-07-311-3/+35
|
* MultiprocessingCore: timing out GetConfig() calls can cause memory issuesChris St. Pierre2013-07-311-6/+1
|
* Yum: record helper location in class variable so it's only detected onceChris St. Pierre2013-07-311-1/+2
|
* MultiprocessingCore: added missing doc stringsChris St. Pierre2013-07-301-4/+14
|
* MultiprocessingCore: make multiprocessing children threaded for higher ↵Chris St. Pierre2013-07-302-148/+352
| | | | performance
* Cfg: added missing docstringChris St. Pierre2013-07-231-0/+4
|
* Cfg: unknown-cfg-files lint check honors FAM ignore listChris St. Pierre2013-07-231-6/+22
|
* MultiprocessingCore: rewrote parent-child RPC to be thread-safe (and less ↵Chris St. Pierre2013-07-231-67/+90
| | | | powerful)
* MultiprocessingCore: Fixed return value from set_debugChris St. Pierre2013-07-221-1/+1
|
* MultiprocessingCore: removed unused importChris St. Pierre2013-07-221-1/+0
|
* MultiprocessingCore: Call Debuggable.__init__ on DispatchingCacheChris St. Pierre2013-07-221-2/+1
|
* MultiprocessingCore: Dispatch metadata cache expiration to childrenChris St. Pierre2013-07-221-10/+92
| | | | | | | | | | When the broker in a multiprocessing configuration expires its metadata cache (e.g., when probe data is received), it must dispatch that expiration call to its children. This also makes the protocol for communication between the broker and its children into a real RPC protocol, so we can do even more stuff in the future.
* Packages: instantiate Executor before determining path to helperChris St. Pierre2013-07-221-5/+4
|
* Packages: Added timeout to bcfg2-yum-helper callsChris St. Pierre2013-07-221-34/+20
| | | | | | | This involved making the Yum backend use Bcfg2.Utils.Executor to call bcfg2-yum-helper instead of subprocess.Popen directly. This was cherry-picked (kinda) from 3d06f311274d6b942ee89d8cdb13b2ecc99af1b0, so will likely break the maint -> master merge in spectacular ways.
* Make the server process always detach, even if started by initArto Jantunen2013-07-211-1/+2
| | | | | Otherwise startup with systemd in type=forking fails since the daemon will not fork.
* Admin/Init: Fix default db locationSol Jerome2013-07-191-1/+1
| | | | Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* Admin/Init: Add listen_all optionSol Jerome2013-07-191-3/+6
| | | | | | Some of these changes were suggested in github issue #29. Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
* Packages: added lock to yum cache updateChris St. Pierre2013-07-181-0/+13
|
* Packages: make opportunistic yum cache creation respect metadata=disabledChris St. Pierre2013-07-181-1/+22
|
* Yum: Removed unused importChris St. Pierre2013-07-181-2/+1
|
* Packages: fixed read-only yum cacheChris St. Pierre2013-07-181-29/+4
| | | | | | Replaced incredibly stupid (mea culpa!) and race-condition-prone system that toggled filesystem permissions (what was I thinking?!?) with judicious application of the yum cacheonly option.
* Packages: better stringification/representation of OnDemandDictChris St. Pierre2013-07-181-1/+1
|
* Packages: use a separate yum persistdir per cacheChris St. Pierre2013-07-181-0/+1
|
* Core: handle unknown log handlers without names gracefullyChris St. Pierre2013-07-161-3/+8
|
* Packages: added missing docstringChris St. Pierre2013-07-151-0/+3
|
* Read-only yum cacheChris St. Pierre2013-07-153-27/+122
| | | | | | | | | | | | | | | | This makes the yum cache read-only so that bcfg2-yum-helper cannot update the cache on the fly, which should help avoid locking issues with the yum caches that can cause client runs to fail. It also makes the Packages plugin behave more consistently, since use of yum libraries won't cause the cache to be refreshed at random times on the fly, but rather more predictably as with the Apt cache or the yum cache without using yum libraries. Unlike those two cases, though, the caches will not all be downloaded initially, but rather opportunistically as needed. In order for this to work, the Bcfg2 server must not run as root. Root ignores the 'w' permissions bit, so the cache cannot be made read-only.
* Encryption: reduce noise from encryption failures when decrypt=laxChris St. Pierre2013-07-152-2/+2
|