summaryrefslogtreecommitdiffstats
path: root/spec/unit/util/config.rb
Commit message (Collapse)AuthorAgeFilesLines
* Renaming the 'Puppet::Util::Config' class toLuke Kanies2007-09-221-535/+0
| | | | | | | '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".
* An intermediate commit so I can start working on a differentLuke Kanies2007-09-201-0/+2
| | | | | | | | 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).
* This is basically another intermediate commit. I feel likeLuke Kanies2007-09-171-3/+13
| | | | | | | | | | | | | | | | | | | | 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.
* The whole system now uses Configuration objects instead ofLuke Kanies2007-09-151-9/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Another intermediate commit. The node and fact classes are now functional ↵Luke Kanies2007-09-121-19/+37
| | | | 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.
* Making a couple of small bugfixes in the configuration subsystemLuke Kanies2007-08-271-0/+13
|
* Multiple environment support now works, and I have even tested it in real ↵Luke Kanies2007-08-261-0/+12
| | | | life. This commit is mostly a bug-fix commit, resulting from the difference between real-life testing and unit testing.
* The config class now has support for add an environment to its search path. ↵Luke Kanies2007-08-241-24/+78
| | | | Now I just need to go through the whole system and use the search path in addition to the parameter name itself.
* I have added basic support for a search path, altho not yet with any ability ↵Luke Kanies2007-08-241-20/+100
| | | | 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.
* Adding some rspec tests for Config.rb, because I am planning on ↵Luke Kanies2007-08-231-0/+249
significantly changing its internals and the current tests, I think, will be harder to migrate than just writing rspec tests from scratch.