summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Added support for destroy/DELETE over REST (including units & integrations ↵Rick Bradley2008-04-113-13/+157
| | | | | | | | on both webrick & mongrel). Added pending specs for the trivialities in the REST network_fetch and network_delete methods. Refactored YAML exception detection out into a private helper method.
* updating search integration specs to include webrickRick Bradley2008-04-112-8/+63
|
* making search work over REST, w/ unit & integration specsRick Bradley2008-04-114-9/+62
|
* unit specs and implementation for Indirector::REST#search methodRick Bradley2008-04-112-8/+60
|
* placeholders for integration specs on final REST methodsRick Bradley2008-04-111-0/+24
|
* ensure that we only run the mongrel specs when mongrel is available as a featureRick Bradley2008-04-112-0/+4
|
* bringing Indirector::REST specs to mongrel-land as well.Rick Bradley2008-04-111-44/+112
|
* Make mongrel happy like WEBrick.Rick Bradley2008-04-115-287/+274
| | | | Refactored specs to put some of the lower-level find/save/search/destroy unit tests under their own contexts.
* exceptions on remote end now properly passed to local end via REST and ↵Rick Bradley2008-04-112-4/+4
| | | | re-raised (integration-tested)
* Much larger commit than I would like to land at once. This is all ↵Rick Bradley2008-04-1113-119/+242
| | | | | | | | | | | | | | | | | | | | | REST-related code. Two specs are failing related to how Mongrel is initialized for REST; will fix those shortly. REST indirector now supports find, with deserialization. Network code in indirector now. Will still need to un-hardwire address/port for outbound connections. Will still need to urlencode path parameters. Code for search, destroy, update is coming, should be similar to find. Reworked how the Handler module is used. Needed to be included, rather than inherited. Needed to sidestep initializers for actual web servers (webrick, mongrel), needed to be possible to have handler-including class be used as a class (aka servlet) instead of as an instance. Webrick handler registration is now abstracted to "above" the servlet. Provided a #model method to use instead of @model in handler module. This allows neutering during testing. Brought class_for_protocol up into http/webrick class as a (tested) class method. Integration tests for rest indirection. Split server integration tests into mongrel and webrick tests. Got Node/REST working properly wrt the crazy-ass autoloader thing. We're now actually passing traffic w/ webrick, fwiw.
* a trivial integration test to test whether the RESTful indirection terminus ↵Rick Bradley2008-04-111-0/+35
| | | | has a remote shot at working; will need to be upgraded to actually be useful
* fixing Puppet::Node::REST class name to work with autoloader inflection ↵Rick Bradley2008-04-111-1/+1
| | | | (Puppet::Node::Rest), so we can do Puppet::Node.terminus_class = :rest
* This is the first version where mongrel and webrick are reliably startable ↵Rick Bradley2008-04-119-30/+175
| | | | | | | | | | | | | | | | and stoppable via Puppet::Network::Server. Added a network/server integration spec, testing startup, shutdown, reachability, and collision of webrick and mongrel servers in the new network code. Converted Puppet::Network::HTTP::Handler class to a module, as mongrel Handler should be subclassed; converting subclasses to include the module instead. Mongrel will actually stop if you .stop it, graceful_shutdown didn't seem quite so reliable. Webrick requires running in its own Thread to avoid hanging the entire process; this requires introduction of a Mutex to make things safe. We're only supporting the REST protocol. Made this explicit. Fixed http server setup args, w/ specs, ah the glory of integration testing.
* the indirector will not serve xmlrpc (this is the responsibility of the ↵Rick Bradley2008-04-117-26/+6
| | | | legacy networking code; it was a mistake to include stubbed support for it in the new code); removing
* removing obsolete TODO commentRick Bradley2008-04-111-1/+0
|
* puppet-compliant indentationRick Bradley2008-04-111-22/+22
|
* Resources now return the 'should' value for properties fromLuke Kanies2008-04-113-44/+9
| | | | | | | the [] accessor method (they previously threw an exception when this method was used with properties). This shouldn't have any affect functionally; it just makes the method equivalent to 'should' for properties, but it works for all attribute types now.
* Modified the 'master' handler to use the Catalog class toLuke Kanies2008-04-119-474/+38
| | | | | | | | | | compile node configurations, rather than using the Configuration handler, which was never used directly. I removed the Configuration handler as a result. Modified the 'master' handler (responsible for sending configurations to clients) to always return Time.now as its compile date, so configurations will always get recompiled.
* Fixed #1184 -- definitions now autoload correctly all of the time.Luke Kanies2008-04-103-3/+16
|
* Removed the code from the client that tries to avoid recompilingLuke Kanies2008-04-104-191/+7
| | | | | | the catalog. The client will now always recompile, assuming it can reach the server. It will still use the cached config if there's a failure.
* Fixing #1173 -- classes and definitions can now have the sameLuke Kanies2008-04-103-2/+12
| | | | name as a directory with no failures.
* Fixing #1173 -- classes and definitions can now have the sameLuke Kanies2008-04-101-0/+9
| | | | name as a directory with no failures.
* Fixing the expire method (it wasn't using a requestLuke Kanies2008-04-104-12/+51
| | | | | | internally), and fixing the Facts class so it auto-expires any associated cached nodes when facts are saved.
* Moved the request creation into the IndirectionLuke Kanies2008-04-105-200/+275
| | | | | | class instead of the Indirector module. Also, added an 'expire' method to the indirector, so there's an easy way to expire cached instances.
* Making the log messages around caching better.Luke Kanies2008-04-081-3/+3
|
* Fixing the executables to use the new indirection api.Luke Kanies2008-04-082-2/+2
|
* Ported the rest of the indirection terminuses over toLuke Kanies2008-04-0822-241/+246
| | | | expecting requests instead of having a random interface.
* Intermediate commit.Luke Kanies2008-04-0831-395/+473
| | | | | | | | | | | | | | | | | This commit adds a Request instance into the indirection, pushing it all the way to the terminus instances. It's a big commit because it requires modifying every terminus class. There are still some thorny design issues. In particular, who should be responsible for making the request object? I've tried having both the indirection class and the Indirector module creating it, and both have their issues. Also, the Catalog class previously allowed passing Node instances directly to the find method, which is now no longer possible because the Request class would treat the node as the instance being found. We need the request class to have two modes, one when it's passed an instance and one when it's passed a key.
* Fixing some tests that were failing because new base typesLuke Kanies2008-04-083-31/+45
| | | | | were added to Naginator, but no new related resource types were added.
* Adding the ability for indirection requests to be createdLuke Kanies2008-04-082-2/+24
| | | | with instances instead of just keys.
* Fixing an errant commentLuke Kanies2008-04-081-1/+1
|
* Fixing the tests that were failing because of the useLuke Kanies2008-04-082-97/+113
| | | | of the indirection request object.
* Adding a Request class to the Indirection layer. ThisLuke Kanies2008-04-084-137/+221
| | | | | | | | | class is currently only used internally by the Indirection instances, but I expect that I will soon be pushing it to all of the terminus types. I still need to fix a couple of tests that will get broken by this commit.
* Fixing the integration tests related to the destroy fix. Yay.Luke Kanies2008-04-082-2/+2
|
* Fixing one other test that was failing because of the changeLuke Kanies2008-04-081-3/+1
| | | | to Indirection#destroy.
* Changing how destroy works, just a bit -- it now acceptsLuke Kanies2008-04-085-21/+22
| | | | | the name of the instance to be destroyed, rather than the instance itself.
* Reworking the caching layer to use TTLs instead of versionsLuke Kanies2008-04-082-461/+562
| | | | | | based on timestamps. This just modifies the indirection class itself, there is still some work to do to remove version code from other classes.
* Removing unused code from the file_serving/metadata class.Luke Kanies2008-04-081-9/+0
|
* Adding an envelope module to handle indirected instanceLuke Kanies2008-04-082-0/+60
| | | | expiration.
* Changing the default environment to production.Luke Kanies2008-04-082-1/+3
|
* Adding validation to the user type to confirm that theLuke Kanies2008-04-082-0/+9
| | | | | group list does not contain any commas. This seems to be a common problem.
* Merge commit 'turnbull/0.24.x' into 0.24.xLuke Kanies2008-04-081-5/+5
|\
| * Additional fix for emacs syntax for ticket #1160James Turnbull2008-04-041-5/+5
| |
| * Revert "Additional fix to emacs for ticket #1160"James Turnbull2008-04-042-6/+6
| | | | | | | | This reverts commit bb65226e54d5e476581118e7c2c5e42275a6b290.
| * Additional fix to emacs for ticket #1160James Turnbull2008-04-042-6/+6
| |
* | Making a test executableLuke Kanies2008-04-081-0/+0
| |
* | Used stubs to decouple our code behavior from the behavior of the underlying ↵Paul Lathrop2008-04-071-19/+23
| | | | | | | | filesystem, as well as removing the need to sleep (which caused the tests to take a long time).
* | Merge branch '0.24.x' of git://reductivelabs.com/puppet into unit-testsPaul Lathrop2008-04-0611-92/+141
|\|
| * Extend workaround from 56aad69f8cdf8b0b08fdb7985014986223fa4455 to not only ↵Andreas Rogge2008-04-032-9/+15
| | | | | | | | | | | | | | | | | | fix UIDs but also GIDs Fixes #1169 Fixes #804 (workaround was probably incomplete, as required changes in lib/puppet/util/posix.rb were missing) Signed-off-by: Andreas Rogge <a.rogge@solvention.de>
| * Changed some non-standard Ruby locations to env ruby shebangsJames Turnbull2008-04-042-2/+2
| |