Граф коммитов

1584 Коммитов

Автор SHA1 Сообщение Дата
Luke Kanies 7e0e6c0dff Merge commit 'davids-bugfixes/tests/fix-test-client-ca' 2007-11-19 16:33:03 -06:00
Luke Kanies 1bf3999ec0 Fixing a failing test from my fix for #446 -- I had changed
the behaviour of Resource#override_parameter unintentionally.
I've corrected the comments so it's clear why the original behaviour
was there.
2007-11-19 16:30:20 -06:00
Luke Kanies 3f0b250f66 Fixing a few test suites that passed when run as
part of the suite, but failed when run individually.  The
problem was that I changed lib/puppettest/support/utils to
have a separate module and I didn't test the individual files.
2007-11-19 16:20:03 -06:00
Luke Kanies 8f82fc4284 Merge commit 'davids-bugfixes/tests/fix-cron-tests' 2007-11-19 10:30:12 -06:00
Luke Kanies 2b14f627ac Reverting the changes I'd made toward removing the global
resources.  These are commits:

    c19835ce9f
    9290cc89a2
    ffb4c2dbc7
2007-11-19 01:36:48 -06:00
Luke Kanies 8838e9bb7c Merge commit 'davids-bugfixes/rest/fix-815-by-using-main-explicitly' 2007-11-18 23:25:04 -06:00
Luke Kanies c19835ce9f Fixed most failing tests, but there are still over thirty failing.
At this point, I'm holding the experiment until after the release,
so I'm committing this for now and will take it back up after 0.24.0
is out.
2007-11-18 11:21:22 -06:00
Luke Kanies b65fb8316e Fixing a parser test -- really, just removing tests
that belong with the AST classes rather than in the parser.

Yeah, these tests need to be rewritten.

Committed on an airplane. :)
2007-11-13 10:34:50 -06:00
Luke Kanies 72510bfaa6 Fixing #800 by refactoring how configurations are retrieved
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.
2007-11-12 22:08:44 -06:00
Luke Kanies dd7caa76e1 Moving some compile tests to the spec/ directory, and
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.
2007-11-12 11:00:54 -06:00
Luke Kanies 47a26054fe Changing the 'main' class to no longer be lazy-evaluated.
It was getting evaluated after node classes, which caused
even stranger ordering issues.
2007-11-12 10:09:05 -06:00
David Schmitt 59626cb390 fix failing CA test, when testing with incomplete setup (no ssldir, no DNS)
3) Failure:
test_webxmlmix(TestBucket)
    [./network/handler/bucket.rb:222:in `test_webxmlmix'
     /home/david/Work/puppet/misspiggy/puppet-luke/test/lib/mocha/test_case_adapter.rb:19:in `__send__'
     /home/david/Work/puppet/misspiggy/puppet-luke/test/lib/mocha/test_case_adapter.rb:19:in `run']:
Exception raised:
Class: <OpenSSL::SSL::SSLError>
Message: <"hostname was not match with the server certificate">
---Backtrace---
/usr/lib/ruby/1.8/openssl/ssl.rb:91:in `post_connection_check'
/usr/lib/ruby/1.8/net/http.rb:588:in `connect'
/usr/lib/ruby/1.8/net/http.rb:553:in `do_start'
/usr/lib/ruby/1.8/net/http.rb:548:in `start'
/home/david/Work/puppet/misspiggy/puppet-luke/lib/puppet/network/xmlrpc/client.rb:141:in `start'
/home/david/Work/puppet/misspiggy/puppet-luke/lib/puppet/network/client.rb:95:in `initialize'
/home/david/Work/puppet/misspiggy/puppet-luke/lib/puppet/network/client/dipper.rb:16:in `initialize'
./network/handler/bucket.rb:223:in `new'
./network/handler/bucket.rb:223:in `test_webxmlmix'
./network/handler/bucket.rb:222:in `test_webxmlmix'
/home/david/Work/puppet/misspiggy/puppet-luke/test/lib/mocha/test_case_adapter.rb:19:in `__send__'
/home/david/Work/puppet/misspiggy/puppet-luke/test/lib/mocha/test_case_adapter.rb:19:in `run'
---------------
2007-11-11 10:16:37 +01:00
David Schmitt d48ee3e0f6 fix crontests depending on ENV[USER] by using Etc.getpwuid(Process.uid) instead 2007-11-11 09:54:18 +01:00
David Schmitt 61ef2893c5 fix #815: add :main to all use() for :reporting and :metrics 2007-11-09 18:29:04 +01:00
Luke Kanies 964aebb964 Merge branch 'master' of ssh://reductivelabs.com/opt/rl/git/puppet 2007-11-08 16:31:03 -06:00
Luke Kanies 8f04446c94 Fixing the 'mount' tests so that they no longer
modify the local system and they run fine as
non-root users.
2007-11-08 16:30:51 -06:00
Luke Kanies ba19989c6e Switching the class resource evaluation to only happen
when using :include, not (for example) when evaluating
node classes.
2007-11-08 15:58:45 -06:00
Luke Kanies cf75168dc2 Classes once again get evaluated immediately when the
'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.
2007-11-08 15:54:14 -06:00
Luke Kanies dfe774f55e Switching the base class for the Relationship class.
It was previously using the GRATR::Edge class, which
had wonky overrides that dramatically slowed down
sorting (its hash mechanism hashed the source and
target so that edges with the same source/target got
the same hash, which we actually don't want any more).

This shouldn't change any functionality, just performance.

I didn't retain all functionality from the Edge class, but
a lot of that functionality was, um, horrible, like Edge[]
being equivalent to Edge.new.
2007-11-08 12:18:42 -06:00
Luke Kanies 1ffcce079f Splitting the puppetd tests into two tests. It is still not a very good test, but I do not know of a good way to test this, really. 2007-11-08 11:24:46 -06:00
Luke Kanies 065a1d0281 Switching the graph base class from GRATR::Digraph
to Puppet::SimpleGraph, which should dramatically enhance
performance.  It should be largely functionally equivalent,
with the only difference being that edges are no longer deduplicated.
2007-11-07 17:48:50 -06:00
Luke Kanies d03f68eaed Changing the test/ classes so that they work from the main
test/ dir or from their own working dir, like the specs do.
This was just a question of changing how their libraries
are loaded.
2007-10-26 11:26:57 -05:00
Luke Kanies 694f98b4d9 Fixing failing tests, including making the debian service
provider test work on non-Debian platforms.
2007-10-13 14:14:06 -05:00
Luke Kanies 29feac0cec Translating the report handler to an indirected model.
I've provided backward compatibility with the old
handler.

The only terminus type that currently exists for reports
is the 'code' terminus, which is used to process reports
in the style of the old handler.  At some point, we should
likely switch at least some of these report types (e.g., 'store')
to terminus types.
2007-10-13 14:07:24 -05:00
Luke Kanies 9db7aae242 Merge branch 'master' of git://michaelobrien.info/puppet into michael 2007-10-09 12:02:37 -05:00
Luke Kanies 32753e11d9 Merge branch 'master' of git://michaelobrien.info/puppet into michael 2007-10-09 10:54:21 -05:00
Michael V. O'Brien d4871bf5fb Merge branch 'parser-absent' of http://marcin.owsiany.pl/tmp/puppet into porridge 2007-10-09 10:43:17 -05:00
Luke Kanies 01f132d8b8 Merge branch 'master' of git://michaelobrien.info/puppet 2007-10-09 10:04:01 -05:00
Luke Kanies d24c1ccc56 All tests should now pass again.
This is the first real pass towards using caching.  The `puppet`
executable actually uses the indirection work, instead of
handlers and such (and man! is it cleaner).

Most of this work was a result of trying to get the client-side
story working, with correct yaml caching of configurations, which
means this commit also covers converting configurations to yaml,
which was a much bigger PITA than it needed to be.

I still need to write integration tests, and I also need to cover
the server-side story of a normal configuration retrieval.
2007-10-08 19:12:39 -05:00
Michael V. O'Brien 7ac7872c74 Fixed #822. Applied patch provided by DavidS. 2007-10-08 11:13:50 -05:00
Marcin Owsiany d055cbc8ca Make it apparent that absent fields in a record have a value of :absent, which is different from what appears in a line. 2007-10-06 13:24:01 +01:00
Rick Bradley a7d220b828 Moving the webrick/mongrel "servers" over to HTTPServer module instead of Server. Using Server as the master class for client connections. Server (former RESTServer) will instantiate the appropriate subclass based upon Puppet configurator setting. There are now tests broken in the network section which I can't seem to figure out yet. Not a happy place to be. 2007-10-05 19:51:47 -05:00
Luke Kanies f084d83df1 Another round of test-fixing around the changes I made
to the configuration system.  'puppet' itself still
works, even with -e, but I expect that puppetd and
puppetmasterd are broken, and there are still quite a few
broken tests because the default fact store can't write but
that's the default behaviour for a networked configuration
master.
2007-10-05 14:25:29 -05:00
Luke Kanies 9c58c476c2 Adding a :code setting for specifying code to run
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.
2007-10-05 11:46:35 -05:00
Luke Kanies 0e336bf62b This commit is focused on getting the 'puppet' executable
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.
2007-10-05 00:07:38 -05:00
Michael V. O'Brien 19ad238f16 Fixed #827. Applied a form of the patch provided by porridge and
wrote a test.
2007-10-04 14:42:45 -05:00
Luke Kanies 9236179fad Attempting to reproduce and fix #829 by applying patch by Paul. I could not
get a test to show the exception, nor could I figure out how the coding bug
could have actually had an impact, but it's an innocent-enough fix, so I'm fine
applying it.
2007-10-04 12:53:09 -05:00
Luke Kanies 35718437c4 Merge branch 'master' of ssh://reductivelabs.com/opt/rl/git/puppet
Conflicts:

	lib/puppet/defaults.rb
	lib/puppet/dsl.rb
2007-10-03 22:29:05 -05:00
Luke Kanies fd11603fe4 Removing the Id tags from all of the files 2007-10-03 21:55:41 -05:00
Luke Kanies bb3b3cedf4 I finally tracked down the problem that was causing providers
to sometimes suddenly disappear and thus tests to fail --
Kernel.require was not loading the normal ruby path (e.g.,
'puppet/type/cron'), so if someone else loaded that then
it would replace the in-memory type with a new one, but that
new one couldn't load its own providers, because the Kernel
would ignore the providers, thinking they were already loaded.

This doesn't fix all of the autoloading problems, but at least
we won't suddenly break a ton of tests.
2007-10-03 19:36:35 -05:00
David Lutterkort f1ec23a0e2 Merge branch 'master' of git://reductivelabs.com/puppet 2007-10-02 15:25:11 -07:00
David Lutterkort 8722e439b7 Use external helper script to talk to yum; should avoid any more trouble with "yum list". Fixes trac #836
Signed-off-by: David Lutterkort <dlutter@redhat.com>
2007-10-02 15:24:08 -07:00
Rick Bradley 1174d99acb Fixed a failing test where we presumed that non-string Fact values would have type preserved across a P::N::Client.master.facts call, which is not true. 2007-10-02 14:49:38 -05:00
Rick Bradley 7fe18e3ffb Fixed a test which was secretly sneaking off and pulling certs from ~ if they were there: Added set_mygroup method, removed duplicate setme method. Included PuppetTest in the XMLRPC servlect test. 2007-10-02 14:41:11 -05:00
Luke Kanies 4679f4dcc1 Merge branch 'indirection' of git://reductivelabs.com/puppet-luke 2007-09-25 00:43:15 -05:00
Luke Kanies 3a18348fdb Renaming the 'Puppet::Util::Config' class to
'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".
2007-09-22 17:54:46 -05:00
Luke Kanies d6e91ae786 Merge branch 'configurations' into indirection
Conflicts:

	lib/puppet/defaults.rb
	lib/puppet/indirector/facts/yaml.rb
	spec/unit/indirector/indirection.rb
	spec/unit/indirector/indirector.rb
2007-09-22 15:04:34 -05:00
Luke Kanies 86dde63473 All tests now pass in this configuration branch, which means
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.
2007-09-22 14:25:17 -05:00
Luke Kanies 60cd6a73b2 The structure for handling resource generation is now
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.
2007-09-22 12:56:32 -05:00
Luke Kanies 46d69068fa An intermediate commit so I can start working on a different
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).
2007-09-20 12:57:57 -05:00
Luke Kanies 9fa2628a84 This is basically another intermediate commit. I feel like
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.
2007-09-17 15:21:44 -07:00
Luke Kanies f17f19dae9 The whole system now uses Configuration objects instead of
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.
2007-09-15 22:17:20 -06:00
Luke Kanies 43f22a2414 Adding a to_graph method to TransBuckets, so that the buckets can directly 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. 2007-09-12 18:32:26 -05:00
Luke Kanies a6fe70054f Another intermediate commit. The node and fact classes are now functional 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. 2007-09-12 15:32:25 -05:00
Luke Kanies 3b3065bc73 Refactoring the feature support so it loads libraries when a feature is asked about, rather than when it is defined. 2007-09-11 18:48:30 -05:00
Luke Kanies c319fd059d Merge branch 'testing' 2007-09-11 16:34:07 -05:00
Luke Kanies 65c1501504 The Node handler is now obsolete. Node searching is handled through the indirector. I have not yet added the tests for the node handlers themselves, which is next. 2007-09-11 16:19:03 -05:00
Luke Kanies 5aa4440b6f Doing an intermediate commit so rick can look at the work I have done so far. 2007-09-11 12:38:56 -05:00
Luke Kanies bb69a1f08a Renaming the instance loader method to "instance_load". It was previously autoload, which could class with Kernel.autoload. 2007-09-10 17:58:23 -05:00
Michael V. O'Brien 19a748bb9e Removed TYPE token, replacing it with CLASSREF token, in the grammar and lexer. Updated CLASSREF token regex in the lexer. 2007-09-10 14:28:02 -05:00
Michael V. O'Brien 041393d146 Fixed #774, which fixed fully qualified collection statements 2007-09-10 12:33:26 -05:00
Luke Kanies 6700adcacd *Finally* fixing the tests that were failing around users and groups. The problem was that the autoload tests were somehow clearing all loaded classes, including the providers. This is fixed now. 2007-09-07 15:38:24 -05:00
Luke Kanies 9af79f1172 Fixing some failed tests. Mostly cleanup. Next is to make all of the user tests pass again, dammit. 2007-09-07 12:10:59 -05:00
Luke Kanies 50874b2f18 Fixing a path test. I have now made the path stuff a lot cleaner, but it apparently broke this test. 2007-09-07 11:00:13 -05:00
Luke Kanies ca57c793d4 Fixing #801 -- resources that have changes when running in noop mode do not record that they were checked, so that they will be scheduled on the next run. This is a somewhat murky solution, but considering that no one had submitted this bug before, I expect it will not hit many people. 2007-09-07 10:58:07 -05:00
Luke Kanies caad11a9d1 Fixing some broken tests in the master client, and adding a test for #800 but it is unfortunately disabled because we cannot realistically fix it using the current design. It will be easy after the REST refactor, though. 2007-09-06 20:50:26 -05:00
Luke Kanies 7abc78ad25 Fixing #795 -- configuration elements now make sure all file paths are fully qualified by prepending the wd to unqualified path names. 2007-09-06 20:12:30 -05:00
Luke Kanies 4212f9c225 Fixing #802 -- tags are now applied before parent classes are evaluated, so parent classes can use tagged() to test if a node is a member of a subclass. 2007-09-06 20:00:24 -05:00
Luke Kanies b7f42441b9 Renaming some ast resource classes and files so they make a lot more sense. 2007-09-06 18:53:00 -05:00
Luke Kanies 653c1514b6 Fixing #806. Resources correctly look up their fully qualified definition type, just like resource references do, which causes the resource and reference to again agree on the full name of a given defined type. 2007-09-06 18:45:41 -05:00
Luke Kanies b0a947589e Flipped the switch so that compiles now return a Configuration instance instead of pre-extracting the configuration. 2007-09-04 16:59:30 -05:00
Luke Kanies 11b127bd67 Successfully modified all tests and code so that all language tests pass again. This is the majority of the work necessary to make the separate "configuration" object work. 2007-09-04 15:14:39 -05:00
Luke Kanies 3b2efd2a4b We now have a real configuration object, as a subclass of GRATR::Digraph, 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. 2007-09-04 12:09:48 -05:00
Luke Kanies 0faf76ee18 More refactoring. I have removed a few more extraneous methods from Scope, 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. 2007-09-03 19:38:15 -05:00
Luke Kanies 9d70b9746c Removing the Scope#setresource method, since it was essentially redundant. The work is done in either AST::ResourceDef#evaluate or Compile#store_resource. 2007-09-03 18:20:04 -05:00
Luke Kanies b021587e30 Doing a small amount of refactoring, toward being able to use Parser 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. 2007-09-03 18:01:00 -05:00
Luke Kanies 25f6d7c521 Deleting old documentation that somehow made it back into the tree in the switch to git, and refactoring the evaluate_classes method on the compile object so I can use resources as intermediaries, thus making classes do late-binding evaluation. 2007-09-01 09:51:03 -05:00
Luke Kanies 6832a4b08e Fixing some failing unit tests. 2007-08-28 16:15:05 -05:00
Luke Kanies 2625eb1db7 Making a couple of small bugfixes in the configuration subsystem 2007-08-27 17:38:39 -05:00
Luke Kanies 1de5ae0da0 Adding support for providing a diff when files are being changed. Currently uses a local diff binary, but could easily be changed to use the ruby diff/lcs library. Modified puppet and puppetd to automatically show file diffs when in noop mode, but can otherwise be enabled using --show_diff. This only works when running interactively, because the diffs are printed on stdout. 2007-08-27 14:26:49 -05:00
Luke Kanies 11081ce886 Multiple environment support now works, and I have even tested it in real life. This commit is mostly a bug-fix commit, resulting from the difference between real-life testing and unit testing. 2007-08-26 21:54:17 -05:00
Luke Kanies 9ea8e6cc87 The fileserver now uses an environment-specific module path. I also made various bug fixes around the network tree. 2007-08-26 19:03:25 -05:00
Luke Kanies a8f2a33c7e Moving the node tests to rspec, and cleaning up the spec of the node, especially WRT the environment. 2007-08-26 12:53:36 -05:00
Luke Kanies 9df4fd1f21 And we have multiple environment support in the parser. The only remaining piece to make this complete is to add multiple environment support to the fileserver. I also renamed Configuration.rb to Compile.rb (that is, I fixed all the classes that used to know it as a configuration). 2007-08-25 17:14:13 -05:00
Luke Kanies 37f0eed965 Renaming the "configuration" object to "compile", because it is only a transitional object and I want the real "configuration" object to be the thing that I pass from the server to the client; it will be a subclass of GRATR::Digraph. 2007-08-25 15:54:06 -05:00
Luke Kanies 3030d3eb3f Modules are now tested with spec, and they now can handle environment-specific module paths. 2007-08-25 15:47:49 -05:00
Luke Kanies c6e201cdd4 I have added basic support for a search path, altho not yet with any ability to manipulate it. All config tests pass in both the old tests and the new ones, so it is time to add the hooks for manipulating the search path. 2007-08-24 18:31:00 -05:00
Luke Kanies 520aaafbb8 Adding some rspec tests for Config.rb, because I am planning on significantly changing its internals and the current tests, I think, will be harder to migrate than just writing rspec tests from scratch. 2007-08-23 19:09:45 -05:00
Luke Kanies 724fef1269 Everything up to the parser (and the Modules) is ready to support multiple environments, including the parser having an environment setting. I have also created my first spec-based tests, for the interpreter (and deleted the old test/unit tests). 2007-08-23 13:25:40 -05:00
Luke Kanies 58494cc856 Building a stand-alone spec directory for creating the new spec-based tests. 2007-08-23 11:52:31 -05:00
Luke Kanies d59315a07a Adding the second half of the rspec upgrade -- apparently the "git add" thing I used did not remove the old files, only add the new ones. 2007-08-23 01:17:33 -05:00
Luke Kanies 5601ecf75d Upgrading rspec to version 1.0.8. This only includes the contents of the lib directory, and even then only the spec-related stuff, not the autotest stuff. 2007-08-23 00:56:42 -05:00
Luke Kanies 7c4d39ec09 Adding environment information to the client fact list. The environment is retrieved from the normal Puppet configuration, so it is set via puppet.conf or the cli, rather than being a normal fact. 2007-08-22 22:13:23 -05:00
Luke Kanies b599862fc8 Fixing the integration test between interpreter and configuration -- the interpreter was not passing on that the config should use ast nodes 2007-08-22 21:39:21 -05:00
Luke Kanies eeedb9200f Merge branch 'master' of ssh://reductivelabs.com/home/michael/git/puppet 2007-08-22 19:00:48 -05:00
Luke Kanies b9f529a063 Merging the multi_env branch with master. There are not actually any conflicts, so this commit might only be necessary because I did not pull sufficiently often. 2007-08-22 18:07:52 -05:00
Luke Kanies 8b3361afae The last commits before I actually start on the multi-environment support. There are still failing tests, but apparently only those that are also failing in trunk. 2007-08-22 17:57:28 -05:00
Luke Kanies f1727f18ab Adding the topscope metadata to the configuration being returned to the client, just like it expects, and fixing how the resource handler calls the master type. 2007-08-22 16:14:39 -05:00
Michael V. O'Brien efcd1e88f7 Fixed CA race condition (#693) 2007-08-22 11:31:25 -05:00
Luke Kanies 4eb87ed7c8 A round of bugfixing. Many more tests now pass -- I think we are largely down to tests that (yay!) fail in trunk. 2007-08-20 22:25:00 -05:00
Luke Kanies 2a4e1011db All language tests now pass. I expect there are other failures elsewhere, but I want to commit this before delving into them. My method for fixing the tests was to do as little as possible, keeping the tests as bad or as good as they were before I started. Mostly this was about changing references to the interpreter into references to the parser (since that is where the new* methods are now for ast containers) and then dealing with the new config object and its relationship to scopes. 2007-08-20 19:09:26 -05:00
Luke Kanies 6467c21e15 The first pass where at least all of the snippet tests pass. I have unfortunately had to stop being so assiduous in my rewriting of tests, but I am in too much of a time crunch to do this "right". The basic structure is definitely in place, though, and from here it is a question of making the rest of the tests work and hopefully writing some sufficient new tests, rather than making the code itself work. 2007-08-20 13:28:40 -05:00
Luke Kanies a846ea900f The new parser configuration object works now,
but the rest of the compiling process is hosed
(although the parser itself should still be fine).

The configuration object is unifying a lot of work
that was scattered around either the interpreter or
the scopes, and it simplifies the whole system.

However, its new simplicity has made the complexity
of the rest of the system that much more apparent,
and I am resolved to fixing the system rather than
hacking it sufficiently to just make it work.
2007-08-16 21:21:40 -05:00
Luke Kanies 282ec893ef Fixing the spec library so it correctly can see its version 2007-08-16 00:00:28 -05:00
Luke Kanies 1527f4a615 Adding node caching, so that node sources are not spammed during file serving and such 2007-08-15 17:18:43 -05:00
Luke Kanies a9539548d9 Keeping the node names in the node object, so that they are available to the interpreter 2007-08-15 17:05:49 -05:00
Luke Kanies 297dabb637 Refactoring a small part of the interface between the configuration handler and the interpreter. 2007-08-15 16:56:05 -05:00
Luke Kanies 901ae687eb Requiring mocha in all cases in the test tree 2007-08-15 16:32:06 -05:00
Luke Kanies 70dffdde70 The new configuration handler looks to be ready for usage. Now I just need to convert the interpreter to use SimpleNode objects, then continue with the Configuration object. 2007-08-15 16:31:44 -05:00
Luke Kanies aabad8e1e2 Adding the necessary name/ip fields to the node methods 2007-08-15 14:21:59 -05:00
Luke Kanies 65559af75e Adding a "none" node source, which will be the default node source and will just return an empty node. 2007-08-15 13:55:55 -05:00
Michael V. O'Brien 2ff15c015b Added shortname support to config.rb and refactored addargs 2007-08-14 18:35:32 -05:00
Luke Kanies 90a9d09cd0 Finalizing the node handler. It now correctly uses the different node sources
and knows how to retrieve data from those sources.  Now I just need to fix
the language stuff to use this handler instead of the existing node stuff.
2007-08-14 18:25:08 -05:00
Luke Kanies aab419b8c1 An intermediate commit in the work towards adding multi-environment support.
This has required splitting the interpreter up considerably, which is much
cleaner but is a large project.  There is now a 'nodes' handler, but it is
currently non-functional, although all the support structure is there.  It just
needs to have the individual methods fleshed out, and it needs to be connected
to the 'facts' handler.
2007-08-14 00:09:49 -05:00
Luke Kanies ab42534ae2 Applying patch by Adam Jacob to make external node tools able to handle command-line arguments 2007-08-13 14:50:22 -05:00
christian 6ab30eb649 Fix for setting global exit code ($?) in SUIDManager tests
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2767 980ebf18-57e1-0310-9a29-db15c13687c0
2007-08-10 03:01:55 +00:00
(no author) 0195893a75 Broaden assert_absent so that it thinks that :purged is equivalent to :absent
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2766 980ebf18-57e1-0310-9a29-db15c13687c0
2007-08-09 22:44:21 +00:00
(no author) 6a78648fc9 Change the service name so that it is less likely to trip on a common word and spuriously fail
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2765 980ebf18-57e1-0310-9a29-db15c13687c0
2007-08-09 21:43:42 +00:00
(no author) d2f2bc0ee4 Trivial mock cleanups
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2763 980ebf18-57e1-0310-9a29-db15c13687c0
2007-08-09 09:41:25 +00:00
(no author) 13f358d92e Highlight what I think is a problem in the test suite that I just can't solve
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2760 980ebf18-57e1-0310-9a29-db15c13687c0
2007-08-09 08:49:49 +00:00
christian 3de4829cf0 Refactor SUIDManager tests to run without root, change SUIDManager's behavior to not silently fail when it's not root and fix all other tests that broke as a result.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2759 980ebf18-57e1-0310-9a29-db15c13687c0
2007-08-09 08:45:50 +00:00
(no author) 5a25701723 Upgrade mocha to 0.5.1, which gives much better error messages
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2758 980ebf18-57e1-0310-9a29-db15c13687c0
2007-08-09 08:41:54 +00:00
luke b84015af89 The last set of bug-fixes before the next release. This commit just fixes a couple of problems that resulted when I changed the Provider#initialize method to not duplicate its argument, which was necessary for ParsedFile.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2753 980ebf18-57e1-0310-9a29-db15c13687c0
2007-08-07 02:38:45 +00:00
luke aaf5959fe3 Adding test support for the other mongrel configuration header
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2752 980ebf18-57e1-0310-9a29-db15c13687c0
2007-08-06 20:05:28 +00:00
luke 5e419cf750 Fixing #749 -- environment settings no longer accumulate. Significantly adding to the cron tests at the same time, such that hopefully we will no longer have these recurring bugs. I now do every combinatorial of multi-line cron jobs, including doing them all in one file. There are, unfortunately, still edge cases, but maybe we will have some peace in cron space for a while, anyway.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2750 980ebf18-57e1-0310-9a29-db15c13687c0
2007-08-06 17:59:37 +00:00
luke 22e7b39087 Fixing #751 -- the interface providers now have basic tests, at least to verify that prefetching and listing works. I think these resource types need to be largely rewritten, though, and they currently have no relationship to ifconfig, which seems strange.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2747 980ebf18-57e1-0310-9a29-db15c13687c0
2007-08-05 19:01:39 +00:00
luke 7bda32e9fb Fixing #731 - we are now correctly only collecting exported resources
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2746 980ebf18-57e1-0310-9a29-db15c13687c0
2007-08-05 17:57:31 +00:00
luke 3d629bb2b2 Fixing #730 -- mounts now call flush() before trying to mount
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2745 980ebf18-57e1-0310-9a29-db15c13687c0
2007-08-05 17:49:23 +00:00
luke 40e4d6fa02 Fixing #735 -- gen_config now uses a single heading, matching the name of the process
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2743 980ebf18-57e1-0310-9a29-db15c13687c0
2007-08-04 00:36:47 +00:00
luke 97cd057177 Fixing #314 and #729; here's the changelog:
Refactored how the parser and interpreter relate,
    so parsing is now effectively an atomic process (thus
    fixing #314 and #729).  This makes the interpreter less
    prone to error and less prone to show the error to the
    clients.  Note that this means that if a configuration
    fails to parse, then the previous, parseable configuration
    will be used instead, so the client will not know that
    the configuration failed to parse.



git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2742 980ebf18-57e1-0310-9a29-db15c13687c0
2007-08-03 23:49:53 +00:00
luke 08d89455aa Fixing #734. The problem was that when I switched how the configs were parsed, I managed to lose the ability to keep values set on the cli from being overridden by values set in config files.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2738 980ebf18-57e1-0310-9a29-db15c13687c0
2007-08-03 20:18:30 +00:00
luke 1e11a1a418 Removing test that ended up being redundant
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2730 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-31 02:34:07 +00:00
luke 2229dc1621 Fixing #726 -- mounts can now correctly handle mounted but absent filesystems.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2723 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-20 16:46:54 +00:00
luke 47b705883b Adding some code in an attempt to fix #728, but it is all commented out since I could not get it fixed in time for beaker
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2722 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-20 16:27:44 +00:00
luke 3f1c865eab Fixing #725. I was apparently not deleting the alias I was creating to the components.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2718 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-19 22:12:51 +00:00
luke eacb06c2e8 Converting mount test to use mount everywhere instead of df
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2716 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-19 20:01:47 +00:00
luke 501e8c8586 Adding the ability to specify relationships to classes, using Class[name] resource references.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2715 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-19 19:23:56 +00:00
luke b9dd7ee7e2 The first round of bug-fixes in preparation for beaker
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2714 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-19 18:12:20 +00:00
luke 5d7c5c9cad Adding documentation to the "test" script
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2713 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-19 18:11:49 +00:00
luke 90c8b8c1ba Fixing #716 -- the package type was considering anything that was not "absent" to be installed, but that included "purged", thus the problem
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2709 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-19 00:14:15 +00:00
luke f59ce4ee06 Fixing #695 -- resource references will correctly serialize and unserialize in the db
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2706 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-18 19:47:09 +00:00
luke 53a469c000 Fixing #703, mostly. You still cannot do multi-condition queries, but you can at least query against any parameter, and matching any value is sufficient for a match, so the tags work fine.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2705 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-18 17:32:46 +00:00
luke 60ef578150 Fixing the rest of #705, except for the env stuff, which I was not able to reproduce.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2697 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-14 21:13:04 +00:00
luke 6ddbec3c7c Fixing the interpreter autoloading so that it correctly loads classes even when being loaded from a namespace
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2686 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-12 19:49:41 +00:00
luke f217fbf331 Fixing the instances method. It now works when there are already managed resources.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2685 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-12 17:52:34 +00:00
luke edb1be2d75 Fixing the :check metaparam so it does not try to check unsupported parameters
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2684 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-12 16:39:47 +00:00
luke f1462cb0d2 removing the test for a method I removed yesterday
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2683 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-12 16:04:34 +00:00
luke a4b94cf128 Fixing the first half of #705 -- matching no longer fails. I think this also fixes #648.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2680 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-12 04:27:04 +00:00
luke d104d4b32b Having FileType instances automatically back their contents up to a filebucket, so it is much harder to lose content. This does not yet back up crontab contents, though.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2679 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-11 20:23:49 +00:00
luke 17a830d542 Fixing transactions so that they do not flush resources that are in noop
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2678 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-11 19:30:42 +00:00
luke 2d3c920e0f Adding support for a "mailalias" type, with /etc/aliases support initially. I have not yet figured out how to best rebuild the aliases file when necessary.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2676 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-10 23:24:34 +00:00
luke 9f685e6da1 Adding support in Property for declarating whether a given property type will match all @should values or just the first.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2674 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-10 19:30:39 +00:00
luke 7a71db875d Adding patch by Valentin Vidic to add the "+>" syntax for adding values to parameters
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2670 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-10 15:31:19 +00:00
luke e662c869bf Fixing #621 -- plugins are now downloaded directly into the $libdir, and autoload looks for them there. You can now easily download any reloadable file to your clients.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2669 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-10 04:17:07 +00:00
luke 7befe1bc5a Changing some of the internals of autoloading so that there is a class-level method to query whether a given file has been loaded.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2668 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-10 04:00:28 +00:00
(no author) 773f1876ae Ignore the pkg directory if it exists, and fix up a couple of tests that were erroring out, which also will help the confinement of package types a bit more.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2663 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-09 06:00:42 +00:00
luke 1bcca31952 Fixing #687.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2662 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-09 00:06:13 +00:00
luke 4080077639 The parser now throws an error when a resource reference is created for an unknown type. Also, resource references look up defined types and translate their type accordingly.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2660 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-08 23:52:58 +00:00
luke 07f05195da Making sure that #686 is fixed -- I specifically included the Daemon module in the Puppet mongrel server, and I call daemonize on the Puppet class, rather than the Mongrel http server
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2659 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-08 23:02:06 +00:00
luke e8217abac6 Hopefully fixing #685 -- I added a wrapper around the call to getconfig(), so any timeouts will just throw an error and skip the run, rather than failing and killing the daemon. This is not the best approach, since really, each method should be wrapped, but it is sufficient.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2658 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-08 22:48:08 +00:00
luke 60e5e10ef5 Applying further tests to double-quoted hostnames by Valentin Vidic
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2657 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-08 17:13:19 +00:00
luke 266d37d388 Applying patch by DavidS from #697 to allow host names to be double quoted
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2656 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-08 16:26:51 +00:00
luke aa741354a7 Fixing #596 -- classes in modules now autoload
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2655 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-06 22:22:10 +00:00
luke 50b8f96f76 Fixing #704 -- Puppet was not failing correctly when schedules were missing, I think
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2648 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-04 22:52:06 +00:00
luke c762c1960c Removing the long-obsolete Element base class. The Parameter and Type classes no longer have the same base class.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2647 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-04 22:25:23 +00:00
luke 0ff7827d4d Fixing #620 - class names and node names now throw an error when they conflict
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2646 980ebf18-57e1-0310-9a29-db15c13687c0
2007-07-04 21:06:26 +00:00
luke d79a7888d1 Modified the fileserver to cache file information, so that
each file isn't being read on every connection.  Also,
added londo's patch from #678 to avoid reading entire files
into memory.


git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2629 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-19 22:18:55 +00:00
luke 5043adefd3 Updating error message during test failure.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2625 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-19 01:51:48 +00:00
luke e5a9e24e83 More test fixes. I seem to be getting very close.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2624 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-19 01:49:19 +00:00
luke 01420acae6 Adding tracing to prefetch failures, and Fixing the environment support in the cron type (#669).
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2621 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-18 21:56:11 +00:00
luke 099bf6c582 Fixing some failing tests.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2616 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-18 21:03:18 +00:00
luke 2d07334c9b Modifying the CA server so that it will not send back a cert whose public key does not match the csr. We have been getting a lot of instances of this, so this should cut down that problem.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2612 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-18 19:51:17 +00:00
luke 6e16d9feb1 Fixing #578 -- Invalid certs are no longer written to disk.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2611 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-18 19:33:15 +00:00
luke 30ebbc90d3 Applying the patch by wyvern from #662. This should hopefully kill the client hanging problems.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2604 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-18 18:09:22 +00:00
luke f842cef3ed Fixing #643 -- replacing the get_posix_field method with a more degenerate version that works even on broken systems
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2598 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-17 23:11:14 +00:00
luke 46252b5bb8 All rails and language tests now pass again. All of the rails tests should now be in the rails/ directory, and I have modified resource translation so that it always converts single-member arrays to singe values, which means the rails collection does not need to worry about it.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2597 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-17 21:41:50 +00:00
luke 6084e1a0ef Fixing #673, but I have not written a test case for it. I moved all rails-related unit tests into the rails/ dir, because they keep getting missed.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2596 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-17 01:02:31 +00:00
luke e8c6cd96f5 Fixing the yum provider, and fixing the unit tests so the failures people were experiencing will result in failed tests. This fixes #672.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2595 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-17 00:06:46 +00:00
luke 6be8b21146 Modifying the check metaparam so that it just silently ignores metaparams and parameters, since they're uncheckable, and only tries to check properties
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2591 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-15 19:49:26 +00:00
luke f84ac7d270 Significantly reworking both external_nodes and ldapnodes support (see changelog).
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2587 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-15 02:40:20 +00:00
luke 8003320eaa Applying metrics patch from #659 by thijs
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2579 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-14 06:07:31 +00:00
luke 399c37bf45 Fixing #655 -- Solaris zones are again fully functional, from what I can tell
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2576 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-14 03:39:00 +00:00
luke 3a2f3d517a Fixing mongrel test so it does not try to load the mongrel server class on machines without mongrel
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2570 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-13 16:14:52 +00:00
ballman 3003aad5f6 Added the teardown of the database back to the tests.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2567 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-12 00:38:03 +00:00
ballman 68e37a99d5 Major rework of the rails feature. Changed the relationship between
host and facts (now many-to-many with fact_name through fact_values).  
Also changed the relationship between resource and params (similarly 
many-to-many with param_names through param_values).

Added the resource_tags and puppet_tags.  The latter has the tag names 
and the former is the man-to-many link with resources. 

There is a little clean up left but the schema is in order.  Also a test 
for the tags stuff is required.



git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2565 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-12 00:31:16 +00:00
luke c26f678178 Fixing #550 -- I had to list pass and dump as optional fields.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2564 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-11 22:49:06 +00:00
luke f0b5090f65 Fixing #112 - mounts now default to 0 for dump and pass
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2563 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-11 22:30:00 +00:00
luke d396fd5262 Fixing #637 -- defined resources can now correctly be virtual or exported
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2562 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-11 21:54:37 +00:00
luke c826be96f3 Adding a simple unit test for mongrel, and adding the ability to select the header used to store the client SSL dn.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2558 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-11 18:07:34 +00:00
luke 73502a7cac Finishing off the type/provider interface work, including adding package prefetch for all packages. The only not-done one is yum -- prefetch is set up for rpm, but not yum. We need to modify prefetching so that it also prefetches latest information, to avoid having to run yum so many times.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2555 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-08 17:20:00 +00:00
luke 1867d0eba5 Fixing the few test failures that resulted from the changes to provider listing
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2552 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-05 01:17:00 +00:00
luke c35d07b418 Significantly reworked the type => provider interface with respect to
listing existing provider instances.  The class method on both
    class heirarchies has been renamed to 'instances', to start.  Providers
    are now expected to return provider instances, instead of creating
    resources, and the resource's 'instances' method is expected to
    find the matching resource, if any, and set the resource's
    provider appropriately.  This *significantly* reduces the reliance on
    effectively global state (resource references in the resource classes).
    This global state will go away soon.

    Along with this change, the 'prefetch' class method on providers now
    accepts the list of resources for prefetching.  This again reduces
    reliance on global state, and makes the execution path much easier
    to follow.



git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2551 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-04 20:37:14 +00:00
luke a7b057de31 Adding a "source" attribute to providers, so eventually types will be able to avoid duplication during listing by only listing one provider for each source (e.g., dpkg and aptitude should not both be listed).
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2550 980ebf18-57e1-0310-9a29-db15c13687c0
2007-06-04 02:21:04 +00:00
luke d467e18bc6 Fixing #532 -- reparsing config files no longer throws an exception. The problem only occurred when reparsing a configuration file that was also being managed (which was common) and only whent the manifest was up to date (the combination was uncommon). Reparsing would find the existing file object and use it to check permissions and such, then it would remove all of the internal data in the object, for cleanup; the problem is, the client still had a reference to the object, so when it went to run its configuration, this broken reference was used.
The solution I chose was to remove all objects from memory after every run.  It is negligible to reload them from the cache, and it saves ram for the 99% of the time that the client is just sitting there.  And it makes this problem go away. :)

git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2545 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-31 22:47:01 +00:00
mpalmer 37a221c32e Add a grammatically correct 'has_feature' alias, and switch to using it where appropriate in existing code
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2542 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-30 20:36:29 +00:00
mpalmer a9ea3c898f Correct a problem with the dpkg provider's handling of the :purged state, and expand the package type's understanding of what purged actually means. Fixes #644
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2537 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-25 22:24:49 +00:00
luke 62a4d4c91d Adding better error reporting on unmatched brackets -- you will now get notification of what was expected in most cases
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2531 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-25 00:31:28 +00:00
luke 4aef0ba7cf Fixing #323 -- puppetd and puppetmasterd are now in sbin; packages still need to be fixed
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2529 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-20 16:35:14 +00:00
luke 6f83d4daab Fixing #501 -- there is now a splay option, disabled by default and when running under --test
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2528 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-18 23:45:30 +00:00
luke e8d560ea82 Fixing #566 -- definitions, tags, and classes can now be single characters
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2523 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-17 21:51:36 +00:00
luke eed85f41ff Adding #629 -- an undef keyword now exists
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2522 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-17 21:43:51 +00:00
luke 8410c4dc5b Fixing #507 (behaviour in cycles) by changing the topsort algorithm.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2521 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-17 20:57:24 +00:00
luke e95734b8bb Redoing autoload a bit in preparation for adding a plugindir
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2518 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-16 00:00:47 +00:00
luke dbedcd7b98 A round of fixes so unit tests pass; most of the failures were from the merging of the transaction-refactor branch
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2517 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-15 19:22:36 +00:00
luke 28f7d6c7eb Fixing #569 - I have added a dynamic facts option to choose which facts will be ignored.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2516 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-15 00:11:01 +00:00
luke 85fef63889 fixing some problems with the config timeout -- I am not sure it ever actually worked
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2512 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-14 16:04:12 +00:00
luke 27cabf25fc Fixing a weird bug that occurred because I was changing @parentclass in the AST stuff the first time it was called, from a string to a the actual instance of the parent. This worked fine as long as the parentclass was only called when parsing was complete, such as during evaluation, but if anything resulted in it being called earlier (e.g., attempting to add to the class during parsing), then things behaved, um, badly. This commit fixes the method so that the variable is not modified; there is now @parentclass and @parentobj.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2511 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-14 15:19:48 +00:00
luke 1d23013abf Fixing #605 -- providers now refer to @resource or @resource_type.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2501 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-09 23:08:42 +00:00
luke de212261e7 Fixing #607 -- parameters and properties now refer to a @resource rather than a @parent. The @parent parameter is still set for now, for backward compatibility.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2500 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-09 22:05:32 +00:00
luke 3e7d44e628 Fixing #606 -- now only components mention @children.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2499 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-09 21:30:44 +00:00
luke 7f8a9036f1 Getting rid of the last vestiges of the logger tests
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2497 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-09 16:21:56 +00:00
luke 2fa529ecb6 Fixing the ability to fail correctly in the fileserver -- a constant was not defined correctly for it
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2494 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-09 14:43:06 +00:00
ballman c1643600e1 Merging of refactor-transacton to the trunk. This work removes the :is attribute from properties and relies on the provider to cache or return the current value of the property.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2487 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-09 01:51:20 +00:00
luke 69cb72120c Removing the obsolete logger network interface
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2478 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-07 22:25:33 +00:00
luke f42a755cc2 Adding a module to abstract using Autoload to load and manage instances
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2476 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-07 18:59:40 +00:00
luke 494675b1db Fixing #206 and #422. Executables will still look for the deprecated config files and load them using the old parse method, but they now prefer a single configuration file, and files can set parameters (owner, mode, group) in brackets on the same line.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2464 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-06 05:42:53 +00:00
luke 1f8de9d0c2 Consolidating all of the configuration parameter declarations into configuration, at least partially just because then the docs for each parameter have to be a bit better. Also, I have gotten rid of the "puppet" section, replacing it with "main", and changed, added, or removed a couple of other sections. In general, we should now prefer more sections, rather than fewer.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2463 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-04 23:09:34 +00:00
luke 28254b55cc Adding a --summarize option, to get a transaction summary
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2459 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-04 05:04:29 +00:00
luke 0c07125397 Fixing #615 (subclasses with similar names) by getting rid of the class "type" and "fqname", and instead using "classname" everywhere. You should no longer see unqualified class/definition names anywhere. Also, rewriting how snippet tests work, to avoid creating all of the files, since the point was the parsing tests, not functional tests.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2458 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-03 20:45:25 +00:00
luke 8d7ec14836 Adding a fact handler, along with an abstract interface for fact stores and a simple yaml fact store, towards the Node Classification work.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2457 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-03 05:24:13 +00:00
mpalmer 79dcd33aeb Set LANG/LC_ALL/LC_MESSAGES/LANGUAGE to 'C' whenever we execute things, so that the output that comes back is more easily parsed, without needing to understand all sorts of foreign languages
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2456 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-03 04:38:51 +00:00
luke 3e895b5461 Changing the remount stuff back to not repeating the mount options.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2445 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-01 03:45:09 +00:00
luke 64382700d8 Adding a "supports_parameter?" method to test whether a given provider supports the features required by a given parameter. This is used during attribute instance creation, but its creation was necessicated by test code.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2444 980ebf18-57e1-0310-9a29-db15c13687c0
2007-05-01 03:14:09 +00:00
luke c9de332e8a Fixing the fileserver naming tests after the change to allow "-" in fileserver module names.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2443 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-30 21:08:06 +00:00
luke 80ec4943a9 Fixing #430 (I hope) -- execs now autorequire the specified user
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2442 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-30 19:42:58 +00:00
luke f69dcdab8e Working a little bit on rails failures, with no real progress
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2439 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-30 19:21:59 +00:00
luke e05392e264 Fixing a bug in the tests introduced a while back when I switched to using "generate_report"
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2438 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-30 18:15:01 +00:00
luke 3aafd81fa4 Fixing #594 -- Files on the local machine but not remote machine now purge. Note that this introduces a difference in behaviour between recursing locally and recursing remotely.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2436 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-30 17:29:02 +00:00
luke 7e971436c9 Allowing "-" in fileserver module names, #617
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2434 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-30 15:57:57 +00:00
luke dad93738dd Fixing the tests for the aptrpm provider.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2430 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-30 15:19:23 +00:00
luke 4296e4e3e3 I managed to put those provider tests in the wrong file -- the file meant to test the resource type interactions with providers, rather than the provider file. Fixing that, and the failed test resulting from that silly mistake.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2428 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-28 01:18:23 +00:00
luke 21eab22997 Okay, one last try -- the Util#binary command was not returning a path in all true cases, and the provider tests were poorly written and missed it.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2427 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-27 23:25:59 +00:00
luke 94bd3b2828 Apparently I messed up providers a bit; binaries were not having their full paths returned, which made most providers suddenly unsuitable. This fixes that, and adds tests to verify behaviour.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2426 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-27 23:20:25 +00:00
luke 96eed993c3 Closing #585 -- providers can now have optional commands, which only differ from normal commands in that they do not affect a provider's suitability
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2425 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-27 18:41:03 +00:00
luke 0a46bb2c49 Fixing #603 -- I had to add a special case for escaped carriage returns. I am not entirely sure this is the right solution, but so be it.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2418 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-26 19:09:24 +00:00
luke 0aeda97481 Adding the ability to manage passwords with the useradd provider
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2414 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-25 20:59:00 +00:00
luke 7fbd3ffe88 Adding the ability for parameters to declare that they require a given feature, and resources will not instantiate that parameter if required features are missing. This is mostly useful for properties.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2413 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-25 20:04:59 +00:00
luke 8d3673d5df Adding a :block_eval option to FileRecords in FileParsing, so ParsedFile providers can have records just define a bunch of methods at once, rather than using lots of hooks. This is cleaner when custom parse and generate methods are used.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2407 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-23 18:01:36 +00:00
luke 5afa587dfe Fixing #588 - the parser correctly ignores directories in globbing now
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2404 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-20 16:40:47 +00:00
luke 37ffb636f1 Removing the stubs for nodevar; I did not mean to commit them
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2401 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-20 15:59:09 +00:00
luke 7cc3a2f114 adding note about the class variables in the change log
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2400 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-20 14:33:50 +00:00
luke be68411ac5 Adding support for aptrpm from #227 as added by Ian Burrell
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2397 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-19 19:54:20 +00:00
luke f8a0e99380 Adding the functionality requested in http://mail.madstop.com/pipermail/puppet-users/2007-April/002398.html .
You can now retrieve qualified variables by specifying the full class path.



git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2393 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-19 18:34:03 +00:00
luke da4d252b3d Changing the test package for debian
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2390 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-06 15:49:38 +00:00
mccune b8b14d3527 Forgot to change Puppet::Util::SUIDManager#run_and_capture arguments to execute
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2387 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-04 21:35:00 +00:00
mccune efe9a833c4 Fix for #565: Final merge of changes from source:branches/execute-refactor into source:trunk
Generated with
svn merge -r 2378:HEAD https://reductivelabs.com/svn/puppet/branches/execute-refactor trunk

CHANGES:
 - Puppet::Util#execute now takes hash key/value pairs as arguments after the command array.
 - Processes executed from the base service provider are now silenced.  That is, their
   standard input, output, and error pipes are all directed to /dev/null.


git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2385 980ebf18-57e1-0310-9a29-db15c13687c0
2007-04-03 15:51:18 +00:00
luke 8ab272265d Hah! Finally fixing the problem where mount tests would fail when run as part of the whole suite. The real problem was that I was changing the filetype of the provider without setting it to change back after the test, but the key change that made it straightforward to fix this problem was that my test loader was not exiting with a non-zero code when there was a failure, which mean that the ./test script never thought anything failed. I fixed the former, then fixed the test script to work fine with -n method_name stuff, and quickly found the problem. *whew*
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2377 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-31 06:35:23 +00:00
luke 4615e3a70c Fixing Client.read_cert so that it automatically adds the certificate information to the driver when the certificate is correctly read. This makes sure the Net::Http instance has the cert all set up.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2375 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-30 23:17:40 +00:00
luke 295b3571bb Renaming some methods so that we can generate a report on a transaction and then retrieve it later
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2372 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-30 00:47:03 +00:00
luke 1e8e7ee55a Fixing #567. I overrode the propertychanges method to only return changes if the file exists or if the file has a property that could create the file.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2371 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-30 00:46:38 +00:00
luke 33f4a66a4e Renaming pbucket to filebucket
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2349 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-24 21:17:37 +00:00
luke 52df47e489 Finalizing the filebucket client, with test code.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2348 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-24 21:16:20 +00:00
luke 5ad9bf4929 Fixing #553; -M is no longer added when home directories are managed
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2341 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-21 20:45:14 +00:00
luke 474b86c921 Hopefully the last batch of commits before I release 0.22.2. Mostly just get tests to pass.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2334 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-19 23:04:32 +00:00
luke 60ea7d2a9d Fixing #432 - you can now manage home dirs with users. You cannot yet purge home directories, because there is still controversy over how that should be done. Also, allowdupe is now handled like a feature, which is, um, better.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2328 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-19 21:29:08 +00:00
luke 3d17685f99 Adding a "has_feature" method, so a provider can just declare that it has a given feature
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2327 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-19 20:24:08 +00:00
luke 290ad14f50 Finally fixing #504, I think; I even have tests to prove it. It was a little thing, in the end.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2326 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-19 19:39:26 +00:00
luke 9b5833a63c Clarifying the errors a bit when nodes come from external sources.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2324 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-19 19:16:10 +00:00
luke e2c5dbb2cc Another round of bug-fixes, prompted by test logs from David Schmitt
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2316 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-19 16:42:41 +00:00
luke 5b2ffbcb5d Adding provider features. Woot!
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2313 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-19 08:15:36 +00:00
luke 4dc72337ac Fixing #487. I know use "apt-cache policy", instead of apt-cache showpkg, because it clearly shows which version will be installed. This is basically impossible to test well, so I just added a test that verifies we always get a value back, although I cannot really test that it is the "right" value. Also, I modified the logging of packages so if there is a latest version, you will get the new version number, along with the old, in the log.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2310 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-19 05:21:44 +00:00
luke 184266d622 Fixing #447 - filebuckets now use deeply nested paths
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2306 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-19 04:18:06 +00:00
luke b43600284c Oops. Fixing the other tests to now past the facts to "fresh?", as required by the fact checking.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2305 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-19 03:34:16 +00:00
luke 61b3490655 Fixing the fact caching so that facts are only downloaded and retrieved once, rather than once during fresh checking and once during config compile.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2304 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-19 01:44:44 +00:00
luke 5f7ae353a0 Fixing #519. The facts are now cached in the state file and changes to them force a recompile.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2303 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-19 01:42:10 +00:00
luke a2a9d93fd3 Fixing #544 -- there is now an --ignoreimport option for commit hooks.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2302 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-19 01:19:09 +00:00
luke a212ea748f Adding #539. Definitions can now have titles, and both $title and $name are guaranteed to be set within any definition.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2301 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-19 00:46:25 +00:00
luke 90bdc33e44 Adding test to make sure ensure does not conflict with any of the creating types.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2300 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-18 23:47:54 +00:00
luke e952029322 Adding #541. There is now a "generate" function.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2299 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-18 23:39:12 +00:00
luke 66546610ce Fixing #538. There is now a simple file() function to read in file contents.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2298 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-18 23:08:32 +00:00
luke 6b85962b0c The first round of fixes for failing tests.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2296 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-18 22:48:57 +00:00
luke 8eddd4bcd2 More work on #542 -- services in noop now produce noop events so that they can themselves trigger further changes
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2295 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-18 19:25:15 +00:00
luke 40eeadbde0 Adding example cron tab from #492 and making the read/write tests ignore whitespace. This cron now parses successfully, as I thought it would with the move to providers.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2291 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-18 18:18:34 +00:00
luke 2a3f56cc91 Fixing #529 -- specified targets keep their values. The problem was that I was using model[:target] instead of model.should(:target) and model.is(:target). The real problem was that my tests were using a parameter for tests but all of the real code uses properties.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2290 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-18 18:00:26 +00:00
luke 5257837ecb Fixing #491 -- the client correctly realizes when the cache file is missing and only considers the config to be in sync if that is not the case.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2288 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-18 16:56:20 +00:00
luke 4a6d705bc0 Fixing #542. Transactions now cause services to warn when they would have gotten restarted by a noop resource. Also fixing #549 -- transactions now only refuse to delete required resources if they are being purged. All other resources can be deleted just fine.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2286 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-17 23:16:37 +00:00
luke 8387d48a42 Fixing #540. I modified Puppet::Network::Client::Master so that it disables noop during its run, so that facts and plugins will always be downloaded.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2285 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-17 23:11:45 +00:00
luke 86c63ce2d9 Fixing cron support (I hope). It now uses providers, and seems to work, at least on my os x box.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2284 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-17 02:50:48 +00:00
luke ba23a5ac27 Adding spec libs, so we can use them some day
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2283 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-17 02:48:41 +00:00
luke df4595e98f Significantly reworking the internals of the fileparsing code. It now
passes around an instance of a FileRecord, rather than just a hash, which I
think makes it much easier to understand.

Moved the sshkey parsed provider test to its own directory and made it better.

This work is all being done so I can move cron jobs to using providers
instead of the current unmaintainable state of affairs.



git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2281 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-14 17:49:19 +00:00
lutter 0fa3c434b6 Search manifests first within modules, and if no module is found, search in
the directory the current manifest is in. 

Glob patterns can be used for the path, but the path only matches a module
if the first part of the path is not a glob.


git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2279 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-09 00:52:47 +00:00
lutter 38975de420 Introduces a new implicit 'modules' fileserver module, whose allow/deny can
be set from the fileserver.conf, but whose path is ignored and can
therefore not be used directly in puppet:// URL's.

When the fileserver looks for a file/directory, it first checks if the
first part of the URL references an existing module. If one is found, a new
temporary mount for that module is generated with the same permissions as
the 'modules' module. If no matching puppet module is found, the fileserver
behaves as it always has.


git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2278 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-09 00:49:35 +00:00
lutter ebcb6b6df7 The template function now tries to first find a template within a module
(if the template path looks like it belongs to a module) and only when that
fails looks for it in templatedir


git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2277 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-09 00:48:28 +00:00
lutter ba6257c02e The basic plumbing for modules: a modulepath config parameter, and a new
class Puppet::Module that will contain the module-related
functionality. The modulepath can be extended by setting the environment
variable PUPPETLIB



git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2276 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-09 00:47:27 +00:00
luke 10d68915c5 Adding support for a prefetch hook on individual providers, rather than only supporting it for the whole class.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2275 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-08 21:18:43 +00:00
luke 6ad8998a7e Adding a bit more testing to the config stuff
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2273 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-08 17:35:18 +00:00
luke 3489bd8566 One last try at getting the config and mode stuff working. The tests were passing because "mode" is a valid config option in the tests, but not in the real configuration. So, now the Config class correctly only tries to set the meta params if they are valid options, otherwise they get skipped.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2272 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-08 17:07:35 +00:00
luke 6b92c04548 Oops, forgot a file in the commit
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2270 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-08 07:37:43 +00:00
luke f59cadec5c Fixing a bug related to link recursion that caused link directories
to always be considered out of sync.


git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2269 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-08 07:36:46 +00:00
luke b6df3369bc Looks like [2265] was not a complete solution -- it resulted in failures when the config set modes via integers. Everything is working now, and tested more completely.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2268 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-08 07:09:42 +00:00
luke 0925fb0cd9 Adding some more testing on the @should values for :groups on users, and fixing a bug that often made :groups think it was out of sync.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2267 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-08 06:03:36 +00:00
luke fa253b58c1 Fixing #489. I was unnecessarily converting to octal in config.rb
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2265 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-08 01:23:22 +00:00
luke 205bbb90af Flushing out the ability to have a stand-alone CA server, specified using ca_server and ca_port. This is just a final unit test, since the code was done and lutter fixed the rest in [2261].
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2263 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-08 00:21:38 +00:00
luke 185a003d39 Fixing #531 and #414. This includes pretty much a complete redesign
of the AuthStore class, with (hopefully) all of the edge cases removed,
the code is now much cleaner, the tests are (I think) complete, and
everything is just generally better.



git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2262 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-08 00:16:53 +00:00
lutter fde8b28558 Fix typo in default config and add simple test to check default config sanity
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2261 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-07 22:20:51 +00:00
luke 46d344b9da Merging the webserver_portability branch from version 2182 to version 2258.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2259 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-06 19:03:05 +00:00
luke 1808c50ea1 Apparently the include function was not failing when it could not find asked-for classes. Now it does.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2250 980ebf18-57e1-0310-9a29-db15c13687c0
2007-03-01 17:41:00 +00:00
luke ebc4dd231e Fixing #464 and #515.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2244 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-28 07:20:25 +00:00
luke cc260268a8 Fixing #467. It is a hackish solution, because I just reordered the definition of the params, but it works for now, anyway.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2242 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-28 06:46:43 +00:00
luke 4df0738de2 Applying a modified form of the patch by cstorey from #523. The modifications were mostly around the fact that Strscan does not set $1 and its ilk.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2239 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-28 01:21:58 +00:00
luke 0f16bf3c5b Fixing #526. Implemented as a period of "never", rather than adding a new parameter.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2238 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-28 00:14:27 +00:00
luke d5444e0dd8 Fixing #199 and moving service tests (which are completely atrocious) around.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2236 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-27 23:57:55 +00:00
luke 36ae6a26c2 Making the package provider tests able to be executed separately, and using "clear" instead of resetting @objects in the types.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2234 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-27 23:17:44 +00:00
luke 672e281c62 Fixing #142. As expected, trivial.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2232 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-27 22:14:56 +00:00
luke 87f100aa6f Applying patch by DavidS from #522, along with test code and a small bit of code cleanup.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2231 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-27 21:31:02 +00:00
luke a3f3674852 Redoing some aspects of the graphing in hopes of helping hte performance a bit.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2230 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-27 20:34:32 +00:00
luke 1a7d8b6715 Fixing file backup defaults to correctly use the puppet filebucket by default.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2229 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-27 17:36:58 +00:00
luke 4c885b7aa4 Fixing #517 and more. Classes now support more than one namespace in their search path, parent classes automatically have their namespaces added to subclass namespaces, and (huzzah) there is a "search" function that can be used to add new namespaces into their search path.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2226 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-27 16:30:09 +00:00
luke aad5123719 Fixing #524. Functions, both statements and rvalues, now support no arguments as long as you use parens.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2225 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-27 16:11:29 +00:00
mpalmer 1d711dcfd9 Partially complete #241. Add a 'purged' value for Package.ensure, and add a handler for all of the Debian providers. Also wrote sensible test cases, and so we've now got Mocha running around in our source tree.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2223 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-23 08:18:10 +00:00
luke fa02d67a9d Fixing #472. Apparently this has been broken since I did the parser redesign. I had to fix the scope trees so that subclass scopes are subscopes of the parent scopes, which used to be the case but was far more complicated.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2220 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-22 12:10:19 +00:00
luke d145aae53d Fixing #505, #508, and #513.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2219 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-22 12:02:35 +00:00
lutter 774415b156 Allow 'key=' to be the only thing on a line (livna uses this)
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2218 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-21 17:14:26 +00:00
luke 90b105841d Fixing a problem in collecting exported resources. Virtual resources worked fine, but exported resources resulted in an essentially infinite loop.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2213 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-18 05:58:27 +00:00
shadoi 9a672ec630 Undo the param_names param_values changes
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2207 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-17 01:57:50 +00:00
shadoi 8b18fdfe1a Undo the params & facts stuff
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2206 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-17 01:52:59 +00:00
luke 328e5765d9 Revamping collections to get what is hopefully more reasonable behaviour when they are used in combination with defined resource types. You should now be able to combine them in just about any way and get "correct" behaviour, which in this case means that you can have virtual definitions or definitions wrapping virtual resources and the resources will still all get realized.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2198 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-16 06:06:10 +00:00
shadoi 91991f1867 Merge fact_names & fact_values, and param_names & param_values.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2191 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-15 20:26:40 +00:00
luke 1756bec99b Fixing #484. Moving unit tests at the same time.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2181 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-08 05:11:49 +00:00
luke a216df2bcb Okay, last file moves for the night. The test code has been moved to match the lib directory, and I have moved a couple of things into network/ instead of network/server, since they did not belong as much.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2180 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-08 02:22:57 +00:00
luke 7e07e3dc84 Moving all of the client and server code into a single network/ directory. In other words, more code structure cleanup.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2179 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-08 01:39:39 +00:00
luke 6d8068eddd Moving some of the stand-alone classes into the util/ subdirectory, to clean up the top-level namespace a bit. This is a lot of file modifications, but most of them just change class names and file paths.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2178 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-07 23:56:59 +00:00
luke 1626023234 Adding a libdir setting for puppet, so you can store your modifications to puppet in a separate directory. This probably will still be somewhat limited because it will always depend somewhat on load order. For instance, if you add a new provider, it might not be available when you expect, since providers are all loaded as soon as a type is loaded, which might happen before the libdir is set. It should always work fine if you do not override it, but if you do override it, things might behave a bit strange.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2174 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-07 18:20:08 +00:00
luke 99c8a548c7 Adding a parameter to allow you to override how an exec refreshes itself.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2173 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-07 17:48:51 +00:00
luke dd71a514b6 Changing exec so that the checks apply to whether an exec is refreshed.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2172 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-07 17:29:37 +00:00
luke ad359f3ce5 Reorganizing some of the tests.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2170 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-07 17:21:52 +00:00
luke d4031312ec Merging the state-rename branch. This includes the diff from version 2156 to 2168. All states should now be properties, with backward compatibility for the types that restricted themselves to the methods.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2169 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-07 06:47:10 +00:00
luke 3a024d7600 Removing the default value for :ensure on mounts.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2164 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-06 17:09:23 +00:00
luke f80bd5e416 Fixing exec so it actually works when path is specified as an array
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2155 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-01 19:24:58 +00:00
luke 1d059b0b36 Fixing #470, I think. I basically just threw away the validation and let suidmanager do it all when running commands.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2150 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-01 16:15:36 +00:00
luke 69a07b1d85 The resolve functionality in "test" is almost working...
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2149 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-01 05:57:25 +00:00
luke 2c79bbfe15 Oops, that last commit seems to have broken the rakefile. Works again.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2147 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-01 05:13:37 +00:00
luke 38362016f9 Trying to get the functionality I had in previous tests. Mostly I want
to be able to load many files but run just a couple of methods, which
test/unit supports via -n, selectively enabling -d.  I now can do this
with the Rakefile, using 'TESTOPTS="-n <method> -d" rake <blah>,
although I find that a bit kludgy (certainly more so than
'rake -n <blah> -d <blah>').

However, I also want to be able to automatically determine which test
suites conflict (meaning something in one suite causes a failure in
another), which too-often happens.  So, I'm going to mess around some
with 'test' until I get that, and then see if I can move that
functionality to the rakefile.



git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2146 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-01 05:03:34 +00:00
luke fd2982fdd6 Fixing executable tests to take new rundir into account
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2145 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-01 01:29:48 +00:00
lutter a62fd3e0ab Filenames for test must _end_ with '.rb'
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2144 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-01 01:20:20 +00:00
lutter 12bf8163ef Fix to make running tests work in ruby 1.8.5
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2143 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-01 01:19:52 +00:00
luke 18eebaf87e Fixing selector tests to get rid of a lame hash ordering bug in the tests.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2142 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-01 00:58:11 +00:00
luke a3a85d870c fixing rails test to take into account the fact that resources now do not always return arrays
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2141 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-01 00:57:41 +00:00
luke f1deaa8cc6 Fixing autogen so it passes on non-Darwin systems.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2140 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-01 00:56:49 +00:00
luke 173f5cc036 Fixing a purging bug introduced by [2138]. I had to move the purge check to the recurse method, rather than the localrecurse method, because the purge check needs to happen after sourcerecurse.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2139 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-01 00:34:11 +00:00
luke 62ab87309a Deleting the file even if a source is specified, as mentioned by Robert Nickel.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2138 980ebf18-57e1-0310-9a29-db15c13687c0
2007-02-01 00:12:39 +00:00
luke c8f38b7fee Renaming "pelement" to "resource". The old name is a holdover from before we had settled on "resource" as a term.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2137 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-31 19:38:02 +00:00
ajax d7fde427ad Adding explicit umasks to these tests.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2135 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-31 18:19:12 +00:00
mpalmer 7889b0b252 Revert 2125, and instead change the way the 'latest' version is selected from the sorted list of versions
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2132 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-31 06:48:31 +00:00
luke 8d90e5672e Puppet can now read files on stdin. This means you can put "#!/usr/bin/env puppet" in the first line of a puppet manifest and then execute the manifest normally. Yay!
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2130 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-30 19:18:32 +00:00
luke 8821300528 Providing a partial fix for #428. Resources can now be deleted as long as all of their dependencies are also being deleted. This, combined with the fix to #433, means that you can now explicitly specify the order of deletion, and everything will work as long as all required objects are being removed, too.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2129 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-30 19:07:18 +00:00
luke 0a62369718 Partially fixing #460, take 3 -- fully-qualified classes can now be included.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2128 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-30 18:43:39 +00:00
luke 788a74e80c Partially fixing #460, take 2 -- fully-qualified definitions can now be used.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2127 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-30 18:39:21 +00:00
luke a7bd7863fe Partially fixing #460 -- fully-qualified class names can be used as parent classes.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2126 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-30 18:18:12 +00:00
luke c9e7699c2e Fixing #462. The package sort order was always resulting in the lowest-version package being first, rather than highest, so I inverted the sort order.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2125 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-30 17:57:36 +00:00
luke 049d79c566 splitting the tagmail report into multiple methods and adding test code
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2122 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-30 08:17:31 +00:00
luke dc580cf125 Fixing #433. I basically just added checks to all the places where I add edges, to make sure automatic relationships lose out to explicit ones.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2117 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-30 01:12:38 +00:00
luke d3fc49dd9b Fixing a problem that occurs when puppetd starts with an up-to-date configuration -- the default schedules and filebucket were not being created.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2115 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-29 22:49:55 +00:00
luke 6c61f0cc1c Fixing #463. I redid all the autogen stuff so it can handle autogenerating string values for stupid os x.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2114 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-29 19:35:33 +00:00
luke 54c458ce69 Fixing #438.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2112 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-29 18:16:16 +00:00
luke 04017b3399 Fixing #444. I was losing the list of sources when creating new children.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2111 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-29 17:30:47 +00:00
luke b7560d54eb A couple small bug-fixes
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2110 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-29 00:53:29 +00:00
luke 3aff4a0e9d Doing more work on #113. Mostly, just making sure remounts do not happen spuriously very often. They will still have extra remounts when changing the value of "ensure", but that is not currently avoidable (similar to #199).
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2109 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-29 00:47:56 +00:00
luke dd502db3a9 Fixing #113. I added support in the transaction for self-refreshing, which just creates a special trigger for resources that have self-refreshing enabled. Logging is a bit different for them, so it is clear why they are refreshing. I still need to verify the remount methods work in the providers.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2107 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-28 23:40:50 +00:00
luke bf46e7d363 Adding a "self_refresh" option, so resources can refresh themselves if they have changed in the current transaction.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2106 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-28 22:54:32 +00:00
luke 1f41c35c6c Fixing #454.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2105 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-28 20:43:22 +00:00
luke c07494ff77 Fixing #441.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2104 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-28 20:22:37 +00:00
luke 992424462d Fixing #431. Collection was always returning an array, even when only a single value was passed.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2103 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-28 19:39:15 +00:00
luke f6a3d94fc6 Fixing #455. A simple fix, fortunately.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2101 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-27 22:53:12 +00:00
luke 37acfb9bc8 Fixing #442. You can now do: defined(File[...]) to see if a resource is defined.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2097 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-26 22:15:49 +00:00
luke 2db68781a1 Fixing #434.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2096 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-26 21:58:38 +00:00
luke 7670df215a Fixing #445. Nodes can now inherit from default.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2091 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-26 20:48:00 +00:00
luke aab3214359 reworking the selector case-insensitivity test
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2089 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-26 20:02:58 +00:00
luke 5735d48231 Wrapping the resource generation methods in begin/rescue blocks so that failures cannot kill the transaction.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2085 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-23 20:33:40 +00:00
luke bda74bcd8e Fixing #415. Configuration parsing now removes trailing whitespace.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2082 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-23 15:32:19 +00:00
luke f8115a79b9 Fixing #424. The configuration compile time is now cached in the yaml cache file.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2081 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-23 15:28:21 +00:00
luke c285d7af0e Fixing #437. Transactions now check whether graphs are cyclic, with a somewhat-useful error message if they are.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2079 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-23 13:49:32 +00:00
luke 3446dd60bd Last round of fixes before the next release
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2058 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-05 22:25:21 +00:00
luke 954a285a25 Fixing puppet test task for older ruby versions
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2057 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-05 21:55:18 +00:00
luke 7afa69cf4f Fixing rake test so it works with the new puppet loader
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2056 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-05 21:49:24 +00:00
luke 54c387f36a Adding #408.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2055 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-05 20:20:20 +00:00
luke d0ecc0e45c Messing around a bit with how tests work
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2054 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-05 18:26:12 +00:00
luke 704bd76105 Fixing a few testing bugs that have crept in, and fixing a self-reference problem when configuring, graphing, and setting graphdir manually.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2052 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-05 17:09:04 +00:00
luke e75671111b Fixing #411.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2051 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-05 05:12:37 +00:00
luke 48bbd0b337 Further work on #407. I forgot to actually connect it to the interpreter internals.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2050 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-05 04:54:59 +00:00
luke f6beef5c57 Fixing #407. You can use external_node to specify a command to retrieve your node information.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2049 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-05 04:44:24 +00:00
luke 42c13e2753 Adding a timeout to execs. This is not really a sufficient solution, since it needs to be added throughout the system, but this is a good start. The default timeout is 5 minutes.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2047 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-04 23:51:41 +00:00
luke 239727c4dd Re-enabling the dirchmod test and fixing its syntax
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2041 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-04 20:59:20 +00:00
luke d5651f80fe Fixing tests so they now include descriptions with all config options, which is now required.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2038 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-04 20:09:58 +00:00
luke 9c1a4464a9 Fixing #403.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2036 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-04 19:47:05 +00:00
luke f4b2e13dfb Fixing #391. Keeping track of times of compile and freshness checks.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2034 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-04 06:44:01 +00:00
luke 098081d88f Setting up specific allowed types for sshkey
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2033 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-04 06:29:14 +00:00
lutter 5292e4eb4d Handle continuation lines in inifiles properly; stick a little closer to how python's ConfigParser parses
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2032 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-04 02:21:27 +00:00
luke 0ef89715c5 Fixing #394. LoadedFile was not checking to see if files went missing.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2026 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-03 19:43:42 +00:00
luke 9271142ada Adding a check to the rakefile to throw a warning if the test task is missing
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2023 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-03 18:44:02 +00:00
luke 651640c7c4 Fixing #401. Transactions were trying to trigger every resource, even those that did not respond to the specified callback.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2022 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-03 17:32:26 +00:00
luke 50965c7a0f Changing "sourcematch" to "sourceselect"
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2017 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-02 20:23:27 +00:00
luke 373f1770de Adding sourcematch parameter to file.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2016 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-02 07:35:14 +00:00
luke 56619d573b A couple of small fixes to pass existing tests.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2012 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-01 23:11:02 +00:00
luke 4482691e41 Fixing some failing tests on fedora.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2011 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-01 21:33:02 +00:00
luke 3e933cc679 Enabling debugging except when running under rake.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2010 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-01 21:32:45 +00:00
luke 3b2521b3cc Fixing graphing tests, and correctly only using storeconfigs in tests where rails is available
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2009 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-01 21:08:45 +00:00
luke 54a838e68e Fixing #369. I was not flushing changes to disk when ensure was out of sync. This is going to become a common problem, and should probably be addressed by the framework rather than by individual types, but for now, it works.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2008 980ebf18-57e1-0310-9a29-db15c13687c0
2007-01-01 00:08:05 +00:00
luke b8f798f0ad Fixing #390. You can now add --graph to produce dot files, and you can then produce pngs or whatever from those.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2007 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-31 22:10:42 +00:00
mpalmer 38244fb13d Create rundir in a test that needs it
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2004 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-31 06:25:13 +00:00
mpalmer 16f7980ef4 Switch the run-lock to use Pidlock instead of the ad-hoc code
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2002 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-31 05:45:53 +00:00
mpalmer e4843f1e5b Make Pidlock#lock return true if we currently hold the lock
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2001 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-31 04:31:53 +00:00
mpalmer e2525058b6 Add a Puppet::Util::Pidlock class, for use by locks and PID files
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2000 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-31 04:07:48 +00:00
mpalmer c1035ccb7e Add system library directories directly in puppettest.rb, so you don't have to do it by hand in every single underlying directory; also change the debug check slightly so that we actually put debug stuff only when we really want it
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1999 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-31 02:58:55 +00:00
luke 17306c01d4 Features now load dynamically using method_missing, so that undefined features never throw errors.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1987 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-29 17:19:17 +00:00
luke 96f91f6856 Adding a bit more testing to mounts, and pulling a bit of the transaction into a separate method to shorten the apply() method.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1986 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-29 05:03:07 +00:00
luke a2b0ee6b3a Finally writing unit tests for Transaction#trigger, and drastically simplifying the method in the process.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1985 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-29 04:53:48 +00:00
luke 9ff80c082a *whew* Okay, simplified the splice method a bit, and I am actually somewhat confident that the stronger testing is correct. I have had a lot of problems with tests usually passing but sometimes failing, mostly because of ordering problems related to multiple edges.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1984 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-29 04:20:51 +00:00
luke bb9c813feb Did a short-cut on the graphing, since we currently only support one type of subscription. This solution still will not scale to all that many edges, but it works, although it will fail if we need to support different types of subcriptions.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1983 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-29 04:15:36 +00:00
luke 7ae62a5dd2 A couple of small bug fixes
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1982 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-29 00:05:03 +00:00
luke c4c3d77c58 Some tweaks to graph splicing, although I do not think it will be enough to handle some of the edge cases.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1981 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-29 00:01:52 +00:00
luke d07570b78d Looks like providers work again on Solaris.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1980 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-28 19:14:11 +00:00
luke 652982257d I have not yet finished testing, but most of the providers now successfully pass arrays to execute() instead of strings, which means that the vast majority of execution problems are now gone. I will finish testing tomorrow, hopefully, and will also hopefully be able to verify that the execution-related bugs are fixed.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1979 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-28 08:06:46 +00:00
luke 038d6a6e79 Fixing #387, hopefully.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1978 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-28 07:20:03 +00:00
luke a5cf0560c8 Fixing #388. Paths now look a lot cleaner.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1977 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-28 06:49:03 +00:00
luke 883c64aaa0 A couple of small bug-fixes
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1976 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-28 00:08:07 +00:00
luke d3a7c28ac7 Fixing #386.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1974 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-27 19:42:30 +00:00
luke 1d057396de Switching files to use a filebucket named "puppet" by default. Also, set up MasterClient to create that default filebucket.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1973 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-27 19:37:57 +00:00
luke 92ff7121ec Fixing #365. I am not sure what the problem was in previous versions, because the new graphing stuff changed the solution to this problem, but it all works now.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1972 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-27 18:20:37 +00:00
luke 8ff7e0c75e Closing #362. Case-insensitivity is handled by downcasing all host names.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1971 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-27 17:18:35 +00:00
luke f1dc103396 Hopefully fixing #355. I could not actually reproduce the specific problem, but I found a couple of issues around the problem and they are all gone now.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1970 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-27 07:02:45 +00:00
luke a3ce917ca1 Fixing #348. Overrides now support an extra end-comma.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1969 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-23 17:06:53 +00:00
luke 2742995c03 Fixing #343. Collections and definition evaluation both now happen on every iterative evaluation, with collections being evaluated first. This way collections can find resources that either are inside defined types or are the types themselves.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1967 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-23 06:26:39 +00:00
luke 85b19c4815 Fixing #349. Doing some hackery so defined types can now (again) be used as dependencies.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1966 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-23 05:19:52 +00:00
luke 311aba9479 Fixing #66. The "defined" function previously checked for definitions and types, but since types and classes can't have the same name anyway, the function now works for classes.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1965 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-23 05:05:58 +00:00
luke 9bb5c50d0b Not downcasing facts any longer, closing #210 (although not using the patch from mpalmer, since I had not noticed the patch was there). Also, making all nodes, classes, and definitions case insensitive, closing #344. Finally, I added case insensitivity to the language in general, which should preserve backwards compatibility and probably makes the most sense in the long run anyway.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1964 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-23 04:49:56 +00:00
lutter be711d3578 Allow execution of bare strings as long as there's no attempt to change uid/gid
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1963 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-22 01:28:01 +00:00
luke c616572d59 Fixing test to work with new style of graphing.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1962 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-21 18:09:51 +00:00
luke 299bdc1b23 Fixing #380. The problem was that a method was sometimes returning :absent when I expected it to return nil when the group was not found. All fixed, yay.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1960 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-20 19:41:38 +00:00
luke 41562cc9a2 Adding test for the fix to #361
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1958 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-20 18:57:57 +00:00
luke 36e8d65bbd Fixing #372 and #374. All is not perfect, since OS X still cannot set UID, but it is much better. There is still plenty of bug-fixing to do on other platforms, I expect.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1954 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-19 22:42:39 +00:00
shadoi 115ec09535 Re-add support for tags and file/lines
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1953 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-19 22:04:09 +00:00
luke f851ca64cf Adding :replace aliases, as requested in #366.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1952 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-19 05:47:57 +00:00
luke 9f4870637c All rails *and* language tests now pass, with the exception of a language/resource test that passes by itself but fails when run as part of the whole suite. Also, I added deletion where appropriate, so that unspecified resources, parameters, and facts are now deleted, as one would expect.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1951 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-19 04:57:57 +00:00
luke dc5f4dc0d0 Fixing most of the rails stuff. I think everything basically works now, and now I am just going through and making sure things get deleted when they are supposed (i.e., you remove a resource and it gets deleted from the host's config).
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1950 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-19 02:08:11 +00:00
luke 10dbb17ed1 Some more graph optimizations; I think I am now close enough that I am basically just going to spend a bit more time making sure the modeling is right in the transactions, and then walk away for now.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1947 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-17 22:19:49 +00:00
shadoi f622e18eff Go back to restype and remove STI classes, they were more trouble than they were worth.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1940 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-15 21:10:22 +00:00
luke 9ad62d2409 Modifying rails test
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1939 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-15 21:01:59 +00:00
luke 0f78282588 Adding unit test for #364. It passes on OS X.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1937 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-15 17:39:22 +00:00
shadoi 3d070f71b5 These are the same versions from changeset 1837
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1932 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-15 00:14:42 +00:00
luke 0cd579997a Some rails modifications
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1931 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-15 00:11:00 +00:00
shadoi 56098cad3f Rename some stuff I missed when it was reverted
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1928 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-15 00:05:34 +00:00
luke 98ebb870d4 Moving the mount provider tests into a subdir, and fixing the basedir calculation in tests so it does not matter where the test is called from
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1926 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-14 23:24:19 +00:00
shadoi 8714e14c10 New rails stuff redux.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1925 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-14 23:20:26 +00:00
luke 026ec4f399 Small changes to the test rakefile. This rakefile still is not completely satisfactory, as I cannot use it to load all libs but only run on test method, which is often important when trying to track down a bug that only occurs when multiple files are loaded.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1924 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-14 23:13:34 +00:00
luke 29ded01990 Fixing painfully difficult to find bug in defining exported resources
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1922 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-14 22:50:28 +00:00
luke 72f8b32052 Reworking the package tests. Now providers are tested individually
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1921 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-14 19:53:47 +00:00
luke f5e7915b54 Rewriting the test rakefile so test directories can be more than one directory deep. This will be particularly useful for providers.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1920 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-14 03:34:31 +00:00
luke c35988aafb Another round of bug fixing. Now everything passes except mounts, at least on OS X.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1918 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-13 17:59:21 +00:00
luke ab60452764 Fixing the next round of bugs, mostly little things but I had to modify transactions so they are willing to delete implicit resources even if they have dependencies, else we would often not be able to purge files at all.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1917 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-13 16:40:12 +00:00
luke c7633468d9 You can now use the "resources" type to purge resources. I still need to modify transactions so they do not purge resources that have relationships. Also, apparently the noop metaparam was never actually working; now it is, and there is a test for it.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1915 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-13 00:47:37 +00:00
luke 8829aa7d48 Adding a metatype to manage resources of a specified type. For now, this metatype just supports purging unmanaged resources. Also, fixed a few tests here and there
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1912 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-12 21:33:54 +00:00
luke 4abbdc13f4 Working some on the export/collect problem. It actually works now, but there are not yet sufficient tests for it, so I will leave the bug open until we have got the new work in place. I also added a "rails" feature, so I do not have to keep testing whether ActiveRecord is defined.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1911 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-12 20:11:35 +00:00
luke b3eb9f1a24 All tests should now pass, with the possible exception of some tests that might fail when all tests are run in one process.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1906 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-11 23:32:15 +00:00
luke e287d1e1f1 Almost all tests now pass. I have basically reached the point where I was before I integrated graphing, except that all of the relationship handling is now inside the transaction, and any kind of recursion (including file) is *tons* easier to model and manage.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1905 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-11 20:44:38 +00:00
luke 37a059be95 Most tests now pass in the whole system, but there are still about 8 cases that do not work. I am working on those now.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1904 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-11 18:16:52 +00:00
luke 2d43580c50 Most of the graph handling is now done, and all of the recursive types (basically just file, tidy, and component) now correctly use the generation mechanisms in the transactions, instead of sticking them in their @children array. Now I just need to go through the rest of the tests and make sure everything passes.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1901 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-10 00:45:50 +00:00
luke d3b76d6e0d Removing the symlink type finally.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1900 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-10 00:43:02 +00:00
luke cdd1e6e19e Another intermediate commit. Most of the graphing work itself is now done, but I am in the middle of converting files to use the graphs and at the same time am writing some actually decent tests for the file recursion stuff.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1899 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-09 16:40:50 +00:00
luke f3a0c488b8 Most of the graphing work is now done. I have also added the generator work in transactions, but I need to migrate files to using it. Until that migration is done, files will not work correctly for many cases.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1896 980ebf18-57e1-0310-9a29-db15c13687c0
2006-12-01 04:11:11 +00:00
luke ccd7b581bf Intermediate commit -- I am ready to start pushing the graph stuff into the types and transactions, which will break everything for a little while.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1894 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-26 09:55:04 +00:00
luke 3e3f70ec2a Adding GRATR and the beginnings of graph integration.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1892 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-17 20:15:23 +00:00
luke b3c3de22fd Fixing #342. Classes needed to have their namespaces set to their fully qualified names, so that contained code and definitions looked for definitions starting with that fq name.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1890 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-17 04:58:04 +00:00
luke 4076101389 Fixing mount tests after fixing the backward compatibility
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1889 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-17 04:56:22 +00:00
luke 185ba8cc77 Fixing backwards compatibility in mounts -- they were not correctly copying the path over to the name
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1888 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-16 21:47:50 +00:00
luke db5d9d427e Another testing fix
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1877 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-13 08:50:09 +00:00
luke 0efa96921b Fixing more tests
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1876 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-13 08:48:09 +00:00
luke 5d2f95475d Fixes to the test system, and a couple of small fixes to the main code. Also, disabled the "port" type, because I cannot seem to model it correctly.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1875 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-13 08:40:35 +00:00
luke 35de0e3bd7 Temporarily reverting all of the recent rails work so that I can release 0.20.1
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1873 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-13 07:49:48 +00:00
luke 1bf97cdf3f Fixing #339, and the bigger problem it concealed. Metaparams are now only added to resources that do not explicitly set them.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1869 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-13 06:11:39 +00:00
luke 0a35c340c5 Removing some debugging, and trying to track down a bug where symlinks get recreated for now reason
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1867 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-13 05:21:28 +00:00
luke ff06a8d686 Ported sshkey over, yay.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1866 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-13 05:13:38 +00:00
luke 4e96031745 Adding a NetInfo provider for hosts. Yay!
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1865 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-13 04:20:57 +00:00
luke 064ddbc218 Hosts now work again, and it should be straightforward to create a netinfo provider, too.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1864 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-13 03:28:47 +00:00
luke bb80c1bb2c Ports are still broken, but I need to work on something else while I am thinking about how to fix them. Stupid /etc/services.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1863 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-13 02:07:07 +00:00
luke 4d5f70f017 Trying to get a netinfo provider for mounts working, but i give up. I am leaving it in place but marked as highly experimental.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1860 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-12 21:25:13 +00:00
luke bd169b44a0 Mounts work again, at least with the parsedfile provider. I still need to create a netinfo provider, but it should be short and easy. And, painfully, I still need to port the other six or so subclasses to this new provider.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1859 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-12 04:12:48 +00:00
luke 138150d1f2 Doing some refactoring in how state values are set. The primary motivation was to provide the ability for the "newvalue" method to specify whether the provider should still be called, and if so, in what order (e.g., before or after).
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1858 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-11 22:11:14 +00:00
luke 568501319a Fixing the state class so that blocks are optional for values. This is useful for cases where you want to specify values for validation but you want a method called on the provider instead.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1857 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-11 19:07:28 +00:00
luke 0643113a7a An intermediate commit. All of the classes that use parsedfile are assuredly broken, since I have basically completely rewritten it. These classes have been a thorn in my side almost since I created them, yet they have been significantly less functional that I wanted. So, I decided to do the rewrite I have been putting off, just to spend all of the maintenance time now so I do not spend 3 days on them every release.
Tomorrow I will be porting all of the existing types (including cron, hopefully) over to this new base.  This will also make it possible to add other types of providers to these classes; we should be able to reuse the netinfo provider for os x types, and we should be able to create a cron provider that writes to /etc/crontab instead of user crontabs.

git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1856 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-11 07:40:16 +00:00
luke 7c8614b058 Adding module for parsing files. This module is only included into the parsedfile provider base class, but it is cleaner to have it broken out like this.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1855 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-10 23:52:02 +00:00
lutter f9d62136a7 Fix silly regexp mistake where lines with values containing '=' were parsed improperly.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1854 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-10 20:06:49 +00:00
luke b44ebe21d5 Fixing some warnings
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1853 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-10 17:51:47 +00:00
luke 9f8849e81a Mostly small changes toward 0.20.1
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1852 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-10 06:01:03 +00:00
luke 10634d69c6 Fixing #324. Mkusers was not specifically ignoring the root user, and it is now.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1851 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-09 22:50:34 +00:00
luke cbb4578f05 fixing #327; debian packages now correctly register their "latest" status
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1848 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-09 22:02:49 +00:00
luke b14982a135 Small fixes here and there. The rails changes needs to be pushed through the collection code, so I am committing so Blake can take a look at that.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1844 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-09 21:06:47 +00:00
luke 87aea8b6ee Fixing rrdgraph report (as marked in #334); also, expanding the docs on all of the existing reports.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1839 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-09 19:00:10 +00:00
shadoi cf166c2591 Rails stuff part 1
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1837 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-09 18:57:01 +00:00
luke 28c283c733 Fixing some sticky problems with checksums when just using the "check" metaparam.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1836 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-08 20:51:44 +00:00
luke 744ded30a0 Merging the code over from the oscar branch. I will now be doing all development in the trunk again, except for larger changes, which will still get their own branch. This is a merge of the changes from revision 1826 to revision 1834.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1835 980ebf18-57e1-0310-9a29-db15c13687c0
2006-11-08 05:22:24 +00:00
luke e3b4f234a3 Another round of bugfixing, including finding out that the tagmail report was leaving zombie processes lying around
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1816 980ebf18-57e1-0310-9a29-db15c13687c0
2006-10-18 19:54:16 +00:00
luke 07f616badf A round of bug-fixing on OS X
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1815 980ebf18-57e1-0310-9a29-db15c13687c0
2006-10-18 19:23:25 +00:00
luke ed38ba4473 Doing some work on the DSL. It behaves a little more like the real language now, although overrides use the same syntax as normal resources, and there is no facility for specifying defaults
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1814 980ebf18-57e1-0310-9a29-db15c13687c0
2006-10-18 19:16:25 +00:00
luke 7b34e25d1c Another round of bug-fixes in preparation for 0.20.0
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1813 980ebf18-57e1-0310-9a29-db15c13687c0
2006-10-18 18:15:43 +00:00
luke 3a6683ea72 Changing the realize() function to be just syntactic sugar for a collection -- it literally creates a collector object now. The benefit of this is that it is late-binding, so file order does not affect whether a resource is available.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1810 980ebf18-57e1-0310-9a29-db15c13687c0
2006-10-18 06:01:18 +00:00
luke a05b8f5116 Adding a "realize" function that can be used to make one or more resource non-virtual. It is just syntactic sugar for a collection by title.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1808 980ebf18-57e1-0310-9a29-db15c13687c0
2006-10-18 04:45:55 +00:00
luke d77d6d4f9e Adding prefetch of providers to transactions. Nothing is using it yet. I wrote it for cron jobs, but it is too much work to fix this for cron jobs right now.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1806 980ebf18-57e1-0310-9a29-db15c13687c0
2006-10-18 03:43:48 +00:00
luke f1ebef038b Fixing virtual object collection. I apparently broke it when I added rails collection back, and I never created any end-to-end tests.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1805 980ebf18-57e1-0310-9a29-db15c13687c0
2006-10-18 00:22:45 +00:00
luke 1d35f2822a Fixing a bug that only occurred if a defined resource was already defined in memory.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1803 980ebf18-57e1-0310-9a29-db15c13687c0
2006-10-17 22:45:57 +00:00