| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| | |
classes for managing how the tokens work.
I also moved they tests to RSpec, but I didn't rewrite all of them.
|
|/ |
|
|
|
|
|
|
| |
the class parts are now added as tags. I've also
created a Tagging module that we should push throughout
the rest of the system that uses tags.
|
|
|
|
|
| |
bartv's, although I could not use his commit because it was
against the 'master' branch instead of 0.24.x.
|
|
|
|
| |
from the system, and implemented my own topsort method.
|
|
|
|
| |
times.
|
|
|
|
| |
against 0.24.0 servers.
|
|
|
|
|
|
| |
Hosts were keeping the export bit on all resources,
even when they'd collected another host's resources,
which caused a duplicate copy that was still exported.
|
| |
|
|
|
|
| |
host are no longer marked as not exported.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
there were enough problems fixing it that I decided something
more drastic needed to be done.
This uses the new Puppet::ResourceReference class to canonize
what a resource reference looks like and how to retrieve resources
via their references. Specifically, it guarantees that resource types
are always capitalized, even when they include '::' in them.
While many files are modified in this commit, the majority of changes are
quite small, and most of the changes are fixing the tests to use
capitalized types.
As we look at consolidating some of our resource types, we could consolidate
the ResourceReference stuff at the same time, but at least the
Puppet::Parser::ResourceReference class subclasses the main Puppet::ResourceReference
class.
|
|
|
|
|
|
| |
AST code now correctly finds the resource. It's getting
lost in the configuration translation, though, so I
need to fix that, too.
|
| |
|
|
|
|
|
|
| |
already migrated all of the tests into rspec but forgot about these
tests -- they were only in the rails/ subdir because people kept
not running the parser/ tests after modifying the Rails code.
|
|
|
|
|
|
|
|
|
|
| |
20071030034736-6856b-6004090b3968cdbf7d366a03ee1c44e2160a3fe0.patch
from womble, and rewriting and significantly enhancing the
unit tests for the Puppet::Parser::Collector class; it should
have full coverage now. There are no integration tests for
it, so there's still no guarantee that it works at all, but hey,
we're a lot better off than we were.
|
|
|
|
| |
20070913032650-6856b-b1cca1c249415c6076ffcecb9df1525a728457c7.patch from womble -- Fix annoying database deletion error for ParamValue objects.
|
|
|
|
|
|
|
|
| |
being evaluated on the first pass because they were being
deleted from the collections list during evaluation, which caused
some to get skipped. This commit fixes that problem, which helps
in the trivial cases where the collections are in the same scope.
I expect it's still broken for more complicated usages.
|
|
|
|
|
|
| |
the behaviour of Resource#override_parameter unintentionally.
I've corrected the comments so it's clear why the original behaviour
was there.
|
|
|
|
|
|
| |
but only because the code (and my coding style, to some extent)
has changed so much in the last few months.
Also, added specs.
|
|
|
|
|
|
|
|
| |
that belong with the AST classes rather than in the parser.
Yeah, these tests need to be rewritten.
Committed on an airplane. :)
|
|
|
|
|
|
|
|
|
| |
from the server. The real problem was getting all of the validation
done before any caching, which required a good bit more refactoring
than I expected.
In actuality, this commit is relatively small even though it covers
many files; most of the changes just make the code clearer or shorter.
|
|
|
|
|
|
|
|
|
|
|
|
| |
switching the node scope to no longer be lazy evaluation,
just like I switched 'main'. When I made all of these
classes and nodes lazy evaluated, I should have decoupled
my real goal (using resources to evaluate them) from the idea
of lazy-evaluating them, and this basically does that.
I also changed the scope heirarchy slightly so that scopes will
tend to be below the node scope, altho this was already generally
the case.
|
|
|
|
|
| |
It was getting evaluated after node classes, which caused
even stranger ordering issues.
|
|\ |
|
| |
| |
| |
| | |
this just adds the patch from the bugreport
|
| |
| |
| |
| |
| | |
when using :include, not (for example) when evaluating
node classes.
|
|/
|
|
|
|
|
|
|
|
| |
'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.
|
| |
|
|
|
|
|
|
|
|
| |
instead of a manifest, and removing all of the ambiguity
around whether an interpreter gets its own file specified
or uses the central setting.
Most of the changes are around fixing existing tests to use this new system.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to work. As a result, it involves a lot of integration-level
testing, and a lot of small design changes to make the code
actually work.
In particular, indirections can now have default termini,
so that configurations and facts default to their code terminus
Also, I've removed the ability to manually control whether
ast nodes are used. I might need to add it back in later,
but if so it will be in the form of a global setting,
rather than the previous system of passing it through 10 different
classes. Instead, the parser detects whether there are AST nodes
defined and requires them if so or ignores them if not.
About 75 tests are still failing in the main set of tests,
but it's going to be a long slog to get them working --
there are significant design issues around them, as most of
the failures are a result of tests trying to emulate both the
client and server sides of a connection, which normally would
have different fact termini but in this case must have the same
terminus just because they're in the same process and are global.
The next step, then, is to figure that process out, thus finding a way
to make this all work.
|
| |
|
| |
|
|
|
|
| |
now be more reasonable.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
'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".
|
| | |
|
| |
| |
| |
| | |
lexer. Updated CLASSREF token regex in the lexer.
|
|/ |
|
|
|
|
| |
problem was that the autoload tests were somehow clearing all loaded classes, including the providers. This is fixed now.
|
|
|
|
| |
tests pass again, dammit.
|
|
|
|
| |
parent classes can use tagged() to test if a node is a member of a subclass.
|
|
|
|
| |
used to be done.
|
| |
|
|
|
|
| |
type, just like resource references do, which causes the resource and reference to again agree on the full name of a given defined type.
|
|
|
|
| |
instead of pre-extracting the configuration.
|
|
|
|
| |
again. This is the majority of the work necessary to make the separate "configuration" object work.
|
|
|
|
| |
that has a resource graph including resources for the container objects like classes and nodes. It is apparently functional, but I have not gone through all of the other tests to fix them yet. That is next.
|
|
|
|
| |
mostly just pointing directly to the compile, and I have begun (but commented out) the move to having resources to model each of the classes and nodes, in addition to the definitions. This will, again, enable a real Configuration object, and it will enable class versioning and similar features.
|
|
|
|
| |
The work is done in either AST::ResourceDef#evaluate or Compile#store_resource.
|
|
|
|
| |
resources to evaluate classes and nodes, not just definitions. This will hopefully simplify some of the parsing work, and it will enable the use of a Configuration object that more completely models a configuration.
|