| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
and fixing some bugs in the process.
Specifically, modules were no longer correctly handling
fully qualified files, and they do so once again.
|
| | |
| | |
| | |
| | |
| | | |
The default behavior of 'verbose' and 'debug' no longer cause puppetd and
puppetmasterd to not daemonize.
|
|\ \ \
| | |/
| |/| |
|
| |/
| |
| |
| |
| |
| | |
with "yum list". Fixes trac #836
Signed-off-by: David Lutterkort <dlutter@redhat.com>
|
|\| |
|
| |
| |
| |
| | |
information in yaml.
|
| |
| |
| |
| |
| | |
a '<indirection>_cache' setting, then the indirection
will use the value there as the name of the cache.
|
| |\
| | |
| | |
| | | |
indirection
|
| | |\ |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
to underscore-separated words, e.g., FactStore becomes
fact_store.
|
| | | |
| | | |
| | | |
| | | | |
moved into the indirector.
|
| | | |
| | | |
| | | |
| | | | |
expected to be by default.
|
|\ \ \ \
| | |/ /
| |/| /
| |_|/
|/| | |
|
| | | |
|
| |\| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
into the indirection system. There are still quite
a few unanswered questions, the two most notable
being embodied in unimplemented tests in the Configuration
Code terminus.
This also requires changing the behaviour in a few places.
In particular, 'puppet' and the 'module_puppet' cfengine
module need to store a Node object in memory with the appropriate
classes, since that's now the only way to communicate with
the compiler. That integration work has not yet been done,
partially because the old configuration handler (which the
soon-to-be-deprecated master handler now uses) still exists.
|
| | |
| | |
| | |
| | |
| | |
| | | |
be used by 'puppet' and the Cfengine 'module_puppet',
since they need to set up the node specially with
classes and other weird things.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
checksum interaction behaves as I expect when
interacting with the file terminus.
I've also changed how files and checksums behave a bit.
Files now create model instances with the content as
the only argument during initialization, and checksums
now calculate their checksums rather than having them passed
in.
|
| | |
| | |
| | |
| | | |
acquire the behaviour of FileBuckets.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
'Puppet::Util::Settings'. This is to clear up
confusion caused by the fact that we now have a
'Configuration' class to model host configurations,
or any set of resources as a "configuration".
|
| | |
| | |
| | |
| | |
| | | |
be used as the back end for filebuckets and the
certificate authority.
|
| | |\
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
lib/puppet/defaults.rb
lib/puppet/indirector/facts/yaml.rb
spec/unit/indirector/indirection.rb
spec/unit/indirector/indirector.rb
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
it's time to merge it back into the indirection branch.
Considering that this work was what drove me to create the
indirection branch in the first place, i should now be able to
merge both back in the master branch.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
in place, which means I'm over the hump in developing
this branch.
I have to fix some design flaws I made in the configurations,
particularly that the 'runner' handler needs to be able to
specify tags and whether to ignore schedules, but otherwise,
I think it's straightforward test- and bug-fixing from here out.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
branch. The file recursion code actually works for the first
time in a painful while, but there are still some quirks and design
issues to resolve, particularly around creating implicit resources
that then fail (i.e., the behaviour of the create_implicit_resource
method in Configuration).
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I've gone too far down the rabbit hole to turn back now, but the
code is clearly getting more centralized around the Configuration
class, which is the goal.
Things are currently a bit muddy between recursion, dynamic resource
generation, transactions, and the configuration, and I don't expect
to be able to clear it up much until we rewrite all of the tests
for the Transaction class, since that is when we'll actually be
setting its behaviour.
At this point, Files (which are currently the only resources that
generate other resources) are responsible for adding their edges
to the relationship graph. This puts them knowing more than I would
like about how the relationship graph works, but it'll have to do for now.
There are still failing tests, but files seem to work again. Now to
go through the rest of the tests and make them work.
|
| | | |
| | | |
| | | |
| | | | |
are inside a configuration, so the resources can interact with the configuration to get things like relationships.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
ever converting the Transportable objects into a tree of components
and then converting that into a graph. This is a significant
step, and drastically simplifies the model of how to use a configuration.
The old code might have looked something like this:
file = Puppet::Type.create :path => "/whatever", ...
comp = Puppet::Type.create :name => :whatever
comp.push file
transaction = comp.evaluate
transaction.evaluate
The new code looks like this:
file = Puppet::Type.create :path => "/whatever", ...
config = Puppet::Node::Configuration.new
config.add_resource file
config.apply
I did not really intend to do this much refactoring, but I
found I could not use a Configuration object to do work
without refactoring a lot of the system. The primary problem
was that the Client::Master and the Config classes determined
how the transactions behaved; when I moved to using a Configuration,
this distinction was lost, which meant that configurations were
often needing to create other configurations, which resulted in
a whole lot of infinite recursion (e.g., Config objects that create
directories for Puppet use Configuration objects -- yes, I'm
s/Config/Settings/g soon -- and these Configuration objects would
need to create directories).
Not everything is fixed, but it's very close. I am clearly over
the hump, though, so I wanted to get a commit in.
|
| | | |
| | | |
| | | |
| | | | |
to forget the tests around the main find() method.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
been migrated over to the new organization. Where we
would have previously had an 'ldap' node terminus at
puppet/indirector/node/ldap.rb, we would not have it at
puppet/indirector/ldap/node.rb, and it would be a subclass
of puppet/indirector/ldap.rb.
These are called terminus classes, and there are now three
categories of them: The base class itself, abstract classes
that provide most of the functionality (e.g., the ldap and
yaml classes), and the classes themselves that implement
the functionality for a given model like Node or Facts.
The base terminus class handles auto-loading any of these
classes from disk.
|
| | | |
| | | |
| | | |
| | | | |
I only need to port the node indirection termini over.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
the indirection they're working with. It looks like I'll be
moving terminus registration to the indirection rather than the
top-level Indirector.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
and is tested, so now it is time to migrate the
Facts YAML Terminus to use the <terminus>/<indirection>
file structure instead of <indirection>/<terminus>.
In this case, that means that I am moving the functionality
in lib/puppet/indirector/facts/yaml.rb to
lib/puppet/indirector/yaml/facts.rb, and the class in that
new file will subclass Puppet::Indirector::Yaml.
|
| | | |
| | | |
| | | |
| | | | |
own file and adding a spec for it.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
terminus registration. I am about to change how loading is
handled, so that individual termini are declared as normal
Ruby classes.
|
| | | |
| | | |
| | | |
| | | | |
to add a few more specs, though.
|
| | | |
| | | |
| | | |
| | | | |
now work; all we need do is fix the indirector module tests.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
pass given the redesign that Rick implemented.
This was mostly a question of fixing
the method names and the mocks.
|
| | |\ \ |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | | |
instance_loader "utilities".
|
| | |\| |
| | | |/
| | |/| |
|
| | | | |
|
| | |/ |
|
| | |
| | |
| | |
| | | |
than the base PGraph class. I expect I will just do away with PGraph, but for now, I am at least going to keep configuration-related code in that class.
|
| | |
| | |
| | |
| | | |
generate a graph, rather than having to first convert to RAL types and then have them convert to a graph. This allows us to make it so components do not need a @children array at all. This was all done because I am having the "already a parent of" problem again, and I have gotten far enough that it is relatively easy to just make this problem go away once and for all.
|
| | |
| | |
| | |
| | | |
and are used instead of the network handlers, which have been removed. There are some failing tests as a result, but I want to get this code committed before I massage the rest of the system to make it work again.
|
| | |
| | |
| | |
| | | |
asked about, rather than when it is defined.
|