| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
the connection information.
|
|
|
|
|
| |
to work with the current state of the indirection work,
including using a request object and an expiration date.
|
|
|
|
|
| |
the results of destroying, so they can return true
or false.
|
| |
|
|
|
|
| |
overridden to lookup the real connection details
|
|
|
|
| |
pending specs
|
|
|
|
| |
REST save functionality
|
|
|
|
| |
in that area now need to be updated.
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Refactored specs to put some of the lower-level find/save/search/destroy unit tests under their own contexts.
|
|
|
|
| |
re-raised (integration-tested)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
has a remote shot at working; will need to be upgraded to actually be useful
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
legacy networking code; it was a mistake to include stubbed support for it in the new code); removing
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
name as a directory with no failures.
|
|
|
|
| |
name as a directory with no failures.
|
|
|
|
|
|
| |
internally), and fixing the Facts class so it
auto-expires any associated cached nodes when facts
are saved.
|
|
|
|
|
|
| |
class instead of the Indirector module. Also, added
an 'expire' method to the indirector, so there's an easy way
to expire cached instances.
|
|
|
|
| |
expecting requests instead of having a random interface.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
were added to Naginator, but no new related resource
types were added.
|
|
|
|
| |
with instances instead of just keys.
|
|
|
|
| |
of the indirection request object.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
to Indirection#destroy.
|
|
|
|
|
| |
the name of the instance to be destroyed, rather than the
instance itself.
|
|
|
|
|
|
| |
based on timestamps. This just modifies the indirection class
itself, there is still some work to do to remove version code
from other classes.
|
|
|
|
| |
expiration.
|
| |
|
|
|
|
| |
filesystem, as well as removing the need to sleep (which caused the tests to take a long time).
|
|\ |
|
| | |
|
| | |
|
|/ |
|
|
|
|
|
| |
executable, since it otherwise causes caches to be used in all
cases, which we don't want (e.g., bin/puppet was using them).
|
|
|
|
|
| |
server now that it's in the :puppetmasterd section rather than
a separate :yaml section.
|
|
|
|
|
|
|
| |
There is now a constant in Puppet::Network::HttpPool that will
disable or enable this feature, but note that we determined
that it can cause corruption, especially in file serving (but
it's client-side corruption).
|
| |
|
|
|
|
|
|
| |
date if the node facts have been updated (thus causing
node facts to again be available in manifests, for those
cases where they were not).
|