| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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).
|
| |\ |
|
| | | |
|
| | | |
|
| |/ |
|
| |
| |
| |
| |
| | |
including removing some now-obsolete code and tests from
the Settings class.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
lib/puppet/node/catalog.rb
lib/puppet/type/pfile.rb
lib/puppet/type/pfilebucket.rb
lib/puppet/util/filetype.rb
spec/unit/node/catalog.rb
spec/unit/other/transbucket.rb
spec/unit/ral/provider/mount/parsed.rb
spec/unit/ral/types/file.rb
spec/unit/ral/types/interface.rb
spec/unit/ral/types/mount.rb
spec/unit/ral/types/package.rb
spec/unit/ral/types/schedule.rb
spec/unit/ral/types/service.rb
test/language/compile.rb
test/language/lexer.rb
test/language/snippets.rb
test/lib/puppettest.rb
test/ral/types/basic.rb
test/ral/types/cron.rb
test/ral/types/exec.rb
test/ral/types/file.rb
test/ral/types/file/target.rb
test/ral/types/filebucket.rb
test/ral/types/fileignoresource.rb
test/ral/types/filesources.rb
test/ral/types/group.rb
test/ral/types/host.rb
test/ral/types/parameter.rb
test/ral/types/sshkey.rb
test/ral/types/tidy.rb
test/ral/types/user.rb
test/ral/types/yumrepo.rb
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
install.rb
lib/puppet/defaults.rb
man/man8/puppet.8
|
| | |
| | |
| | |
| | |
| | | |
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).
|
| |\| |
|
| | |
| | |
| | |
| | |
| | | |
circumstances (mostly, when loaded with other files, or
when loaded from rake or autotest rather than separately).
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously, if there were an error creating a resource,
the error would propagate leaving any previously
created resources still in memory.
Now, resources are removed by default when an error
happens during instantiation, and the error propagates
to the caller so that they can log or whatever.
This also allows the Settings class to correctly and
separately handle the cases where we can't create the
catalog (which should never happen in normal usage but
was happening because of this error -- later catalogs
couldn't be created because earlier catalogs left
resources lying around) from those where we can't
apply the catalog.
|
| | |
| | |
| | |
| | | |
once, which should make the system a bit more efficient.
|
| | |
| | |
| | |
| | |
| | |
| | | |
because they were conflicting with Puppet's autoloading.
This is clearly a sign that our autoloading is silly,
if Ruby's own loading easily makes it unhappy.
|
| | |
| | |
| | |
| | |
| | |
| | | |
(#1036). The problem only cropped up if there was a failure
when trying to manage the system -- this would cause the
setting-based resources not to get cleaned up.
|
| | |
| | |
| | |
| | |
| | | |
as the version for a node, which should similarly encourage the
use of the yaml cache. (Related to #1130)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
cause ever-larger memory growth), and changing the external node
terminus to use the version of the facts as their version. This
will usually result in the cached node information being used,
instead of always hitting the external node app during file
serving. Note that if the facts aren't changed by the client,
then this will result in the cached node being used, but at this
point, the client always updates its facts. (#1130)
|
| | |
| | |
| | |
| | | |
of the yaml file as the version of the object.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Note that this changes the behaviour a bit -- the resource's
noop setting always beats the global setting (previously,
whichever was true would win).
|
| |\| |
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Replace the catalog with the newly created one when converting to ral types.
The aliases were being lost because the resources had references to the old catalog being converted
|
| | | |
| | | |
| | | |
| | | | |
an environment and Puppet will now use it.
|
| | | |
| | | |
| | | |
| | | | |
and the schema has been updated accordingly.
|
| | |/
| | |
| | |
| | |
| | |
| | | |
stacked metaparameter values do not result in all resources
that receive a given default also getting those stacked
values.
|
| |\| |
|