summaryrefslogtreecommitdiffstats
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Changing the 'main' class to no longer be lazy-evaluated.Luke Kanies2007-11-121-0/+2
| | | | | | | | | | | | | | | It was getting evaluated after node classes, which caused even stranger ordering issues.
* | | Adding a memory terminus for facts, which is really only used for testingLuke Kanies2007-11-121-0/+9
| | |
* | | Merge branch 'routing' into test_routingLuke Kanies2007-11-0810-53/+373
|\ \ \ | |/ / |/| |
| * | One significant step closer to getting autotest running properly on the ↵Rick Bradley2007-10-261-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Puppet specs. Created a spec/lib/monkey_patches/ directory for holding patches to RSpec functionality. Extraced 'confine' and 'runnable?' support from the local copy of RSpec (spec/lib/spec/) and now load them from the monkey_patches/ directory. Fixed a bad include in one of the specs. Made it possible for the gem-installed spec binary (which autotest calls) to be used with Puppet. Imported the Autotest::Rspec class, created a PuppetRspec autotest class, added a discovery.rb file for autotest to pick these up. Autotest still has the following problems: * it needs to be run with the proper include path: % ruby -I spec/lib/ `which autotest` * the patterns in our custom autotest handler (puppet_rspec) aren't yet fully specified (they only recognize changes in our spec files, not changes in the puppet libs which they are testing)
| * | Merge branch 'master' of git://reductivelabs.com/puppet into routingRick Bradley2007-10-2613-61/+126
| |\ \
| * | | Exceptions on requests are now captured, exceptions are serialized, and ↵Rick Bradley2007-10-233-5/+11
| | | | | | | | | | | | | | | | exception text is passed back via REST.
| * | | Finish serializing successful results (via calls to to_yaml, etc.) for REST ↵Rick Bradley2007-10-233-4/+12
| | | | | | | | | | | | | | | | handlers. Refactor request building in REST handler specs.
| * | | REST handlers now properly returning 200 status on success.Rick Bradley2007-10-232-3/+3
| | | |
| * | | Merge branch 'master' of git://reductivelabs.com/puppet into routingRick Bradley2007-10-2318-84/+413
| |\ \ \
| * \ \ \ Merge branch 'master' of git://reductivelabs.com/puppet into routingRick Bradley2007-10-2226-33/+873
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: spec/unit/indirector/indirection.rb
| * | | | | More specs, fleshing out the returns from RESTRick Bradley2007-10-173-2/+15
| | | | | |
| * | | | | Argument passing now supported on {webrick,mongrel}+REST.Rick Bradley2007-10-163-4/+20
| | | | | |
| * | | | | Make the actual runtime be more robust when mongrel is not installed.Rick Bradley2007-10-161-1/+4
| | | | | |
| * | | | | Make it possible to run all tests even if mongrel isn't installed. ↵Rick Bradley2007-10-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | Shouldn't "confine" produce some output when running spec? Who knows.
| * | | | | Refactoring, argument processing for model methods.Rick Bradley2007-10-163-9/+53
| | | | | |
| * | | | | Tweak to move model lookup functionality into the Handler base class where ↵Rick Bradley2007-10-163-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | it belongs. Robustifying the request sanitization a bit more.
| * | | | | Refactored to use a Handler base class for server+protocol handlers. ↵Rick Bradley2007-10-164-58/+76
| | | | | | | | | | | | | | | | | | | | | | | | Finally eliminated dependency on Puppet.start, etc., from WEBrick HTTP server class. {webrick,mongrel}+REST now support request handling uniformly; need encode/decode next.
| * | | | | Inlined the controller, eliminating a class. Mongrel+REST has the right ↵Rick Bradley2007-10-162-33/+42
| | | | | | | | | | | | | | | | | | | | | | | | bits for request handling prior to the encode/decode/exception-handling bits. Refactored to make the common logic extractable to a base class.
| * | | | | Registration now built for {webrick,mongrel} REST handlers.Rick Bradley2007-10-162-4/+16
| | | | | |
| * | | | | Going back to each server+protocol object being responsible for only one ↵Rick Bradley2007-10-164-14/+10
| | | | | | | | | | | | | | | | | | | | | | | | indirection, as the REST vs. XMLRPC models are different enough that the object must register itself on initialization and handle the request when it comes in.
| * | | | | First pass through initializers of {mongrel, webrick} REST handlers; hooks ↵Rick Bradley2007-10-165-7/+39
| | | | | | | | | | | | | | | | | | | | | | | | into Indirection to look up models from indirected names.
| * | | | | Minor tweaks to make the ::Server initialization a bit more robust. Fail on ↵Rick Bradley2007-10-161-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | unknown HTTP Server types; fail fast.
| * | | | | Finish front end of delegation to server+protocol helper classes ("handlers").Rick Bradley2007-10-156-9/+26
| | | | | |
| * | | | | Bringing in initial handlers for server+protocol pairs.Rick Bradley2007-10-152-12/+19
| | | | | |
| * | | | | Merge branch 'master' of git://reductivelabs.com/puppet into routingRick Bradley2007-10-1518-25/+55
| |\ \ \ \ \
| * | | | | | Partial support for building Handlers for all handler-protocol pairs.Rick Bradley2007-10-152-2/+43
| | | | | | |
| * | | | | | Implementing address & port support for new webrick server.Rick Bradley2007-10-151-2/+6
| | | | | | |
| * | | | | | Hooking up address/port support for the various servers w/ specs. Still ↵Rick Bradley2007-10-153-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | need to start up a webrick server w/ address + port (this is far too incestuous with Puppet lib & Puppet.start at the moment).
| * | | | | | trivial: WEBRick -> WEBrick, to be more consistent with how the WEBrick ruby ↵Rick Bradley2007-10-152-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | classes are named.
| * | | | | | Implementing listening state tracking for webrick and mongrel.Rick Bradley2007-10-152-4/+13
| | | | | | |
| * | | | | | More unit specs for mongrel and webrick; more code to make them work, yo.Rick Bradley2007-10-153-3/+41
| | | | | | |
| * | | | | | Pushing functionality down to webrick/mongrel classes now; cleanup in the ↵Rick Bradley2007-10-154-22/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | base server / http server classes + specs.
| * | | | | | Merge branch 'master' of git://reductivelabs.com/puppet into routingRick Bradley2007-10-1313-83/+146
| |\ \ \ \ \ \
| * | | | | | | more stuff for the interim commitRick Bradley2007-10-122-0/+48
| | | | | | | |
| * | | | | | | interim checkin of network stuffsRick Bradley2007-10-121-53/+45
| | | | | | | |
* | | | | | | | Adding unit tests for the module that handles theLuke Kanies2007-11-081-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | logic around mounting and unmounting. This includes a fix for bug #761, which required a different regex for Solaris.
* | | | | | | | Merge branch 'master' of ssh://reductivelabs.com/opt/rl/git/puppetLuke Kanies2007-11-084-5/+14
|\ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ Merge commit 'davids-bugfixes/rest/fix-760'Luke Kanies2007-11-081-0/+2
| |\ \ \ \ \ \ \ \
| | * | | | | | | | fix #760: property_fix has to be called after creating a symlinkDavid Schmitt2007-11-081-0/+2
| | | | | | | | | |
| * | | | | | | | | Merge commit 'davids-bugfixes/rest/fix-731'Luke Kanies2007-11-081-1/+2
| |\ \ \ \ \ \ \ \ \
| | * | | | | | | | | fix #731: add exported=true to collect_exportedDavid Schmitt2007-11-081-1/+2
| | |/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this just adds the patch from the bugreport
| * | | | | | | | | Switching the class resource evaluation to only happenLuke Kanies2007-11-082-5/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when using :include, not (for example) when evaluating node classes.
| * | | | | | | | | Classes once again get evaluated immediately when theLuke Kanies2007-11-081-0/+1
| | |_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'include' function is used, instead of being lazy-evaluated. Previous work caused resources to get created to model these classes, but in the process, I removed the fact that the classes were evaluated immediately. This meant that you couldn't guarantee that a class was evaluated before you went to use its variables.
* / | | | | | | | Fixing the 'mount' tests so that they no longerLuke Kanies2007-11-081-10/+10
|/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | modify the local system and they run fine as non-root users.
* | | | | | | | Switching the base class for the Relationship class.Luke Kanies2007-11-082-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was previously using the GRATR::Edge class, which had wonky overrides that dramatically slowed down sorting (its hash mechanism hashed the source and target so that edges with the same source/target got the same hash, which we actually don't want any more). This shouldn't change any functionality, just performance. I didn't retain all functionality from the Edge class, but a lot of that functionality was, um, horrible, like Edge[] being equivalent to Edge.new.
* | | | | | | | Merge branch 'rest'Luke Kanies2007-11-087-41/+293
|\| | | | | | |
| * | | | | | | Switching the graph base class from GRATR::DigraphLuke Kanies2007-11-074-16/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to Puppet::SimpleGraph, which should dramatically enhance performance. It should be largely functionally equivalent, with the only difference being that edges are no longer deduplicated.
| * | | | | | | Adding a new graphing base class, because the GRATR stuffLuke Kanies2007-11-071-0/+177
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | is just too slow. This class has just about no iteration, and vertex deletation is dramatically (as in, 1000x) faster). Here are the results of some very simplistic graph operations: Vertex tests (add and remove 1000 vertices): gratr: Add: 0.01; Remove: 9.70 simple: Add: 0.02; Remove: 0.01 Edge tests (add and remove 1000 edges): gratr: Add: 0.02; Remove: 0.03 simple: Add: 0.07; Remove: 0.02 I expect I can get the cost of the edge addition down some, but even as it is, it's a couple of orders of magnitude faster. This doesn't even count things like searching, which I did some other testing on and got consistently faster results (somewhere between 1.5x and 1500x faster, depending on how the test was set up and how big the graph was).
| * | | | | | | Caching the 'parent' value, which resulted inLuke Kanies2007-10-311-12/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a drastic performance increase. However, profiling has shown that GRATR just isn't going to cut it. I think I'm going to have to replace it as my graphing base class to avoid the horrible, horrible performance I keep encountering.
| * | | | | | | The configurations should now be functional again --Luke Kanies2007-10-313-13/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | file recursion was previously not working, because the relationship graph was setting itself as a resource's primary configuration, which caused it to try creating its own relationship graph. I've now found that the current code is about 5x slower than the released code, so now I hope to resolve that.