summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser
Commit message (Collapse)AuthorAgeFilesLines
...
* Deleting old documentation that somehow made it back into the tree in the ↵Luke Kanies2007-09-015-9/+241
| | | | 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.
* Multiple environment support now works, and I have even tested it in real ↵Luke Kanies2007-08-262-1/+8
| | | | life. This commit is mostly a bug-fix commit, resulting from the difference between real-life testing and unit testing.
* And we have multiple environment support in the parser. The only remaining ↵Luke Kanies2007-08-254-18/+11
| | | | 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).
* Renaming the "configuration" object to "compile", because it is only a ↵Luke Kanies2007-08-258-27/+27
| | | | 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.
* Modules are now tested with spec, and they now can handle ↵Luke Kanies2007-08-252-2/+12
| | | | environment-specific module paths.
* Adding some rspec tests for Config.rb, because I am planning on ↵Luke Kanies2007-08-231-1/+1
| | | | significantly changing its internals and the current tests, I think, will be harder to migrate than just writing rspec tests from scratch.
* Everything up to the parser (and the Modules) is ready to support multiple ↵Luke Kanies2007-08-233-112/+53
| | | | 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).
* Fixing the integration test between interpreter and configuration -- the ↵Luke Kanies2007-08-221-1/+1
| | | | interpreter was not passing on that the config should use ast nodes
* The last commits before I actually start on the multi-environment support. ↵Luke Kanies2007-08-221-0/+1
| | | | There are still failing tests, but apparently only those that are also failing in trunk.
* Adding the topscope metadata to the configuration being returned to the ↵Luke Kanies2007-08-221-1/+16
| | | | client, just like it expects, and fixing how the resource handler calls the master type.
* A round of bugfixing. Many more tests now pass -- I think we are largely ↵Luke Kanies2007-08-204-6/+13
| | | | down to tests that (yay!) fail in trunk.
* All language tests now pass. I expect there are other failures elsewhere, ↵Luke Kanies2007-08-207-41/+29
| | | | 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.
* The first pass where at least all of the snippet tests pass. I have ↵Luke Kanies2007-08-2010-279/+274
| | | | 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.
* The new parser configuration object works now,Luke Kanies2007-08-165-554/+431
| | | | | | | | | | | | | | 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.
* Finalizing the node handler. It now correctly uses the different node sourcesLuke Kanies2007-08-141-133/+0
| | | | | 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.
* An intermediate commit in the work towards adding multi-environment support.Luke Kanies2007-08-145-347/+311
| | | | | | | | 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.
* Applying patch by Adam Jacob to make external node tools able to handle ↵Luke Kanies2007-08-131-2/+7
| | | | command-line arguments
* Fixing #731 - we are now correctly only collecting exported resourcesluke2007-08-051-1/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2746 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding a file that should have been in a commit from yesterdaluke2007-08-041-0/+447
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2744 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #314 and #729; here's the changelog:luke2007-08-037-671/+60
| | | | | | | | | | | | | | | 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
* Caching whether a given file or module has been loaded, because the loading ↵luke2007-07-201-7/+12
| | | | | | was greedy and was causing files to get loaded every time a class or module was asked for git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2720 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding the ability to specify relationships to classes, using Class[name] ↵luke2007-07-191-3/+9
| | | | | | resource references. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2715 980ebf18-57e1-0310-9a29-db15c13687c0
* The first round of bug-fixes in preparation for beakerluke2007-07-191-2/+4
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2714 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #695 -- resource references will correctly serialize and unserialize ↵luke2007-07-181-8/+19
| | | | | | in the db git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2706 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #703, mostly. You still cannot do multi-condition queries, but you ↵luke2007-07-182-12/+14
| | | | | | 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
* Removing notice about "import loop", which was happening constantly when ↵luke2007-07-142-16/+10
| | | | | | autoloading module files git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2694 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing error message when a parameter is getting redefinedluke2007-07-141-7/+11
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2693 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #589luke2007-07-132-367/+377
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2691 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #468 -- fully qualified resources can now be specified as dependenciesluke2007-07-132-406/+418
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2690 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing the interpreter autoloading so that it correctly loads classes even ↵luke2007-07-121-58/+40
| | | | | | when being loaded from a namespace git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2686 980ebf18-57e1-0310-9a29-db15c13687c0
* Applying a version of the diff to the defined() docs from David Schmittluke2007-07-121-1/+2
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2681 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding patch by Valentin Vidic to add the "+>" syntax for adding values to ↵luke2007-07-106-583/+671
| | | | | | parameters git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2670 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing a typo in a log messageluke2007-07-091-1/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2666 980ebf18-57e1-0310-9a29-db15c13687c0
* Changing the log message when a resource type cannot be foundluke2007-07-091-1/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2664 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #687.luke2007-07-091-1/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2662 980ebf18-57e1-0310-9a29-db15c13687c0
* The parser now throws an error when a resource reference is created for an ↵luke2007-07-081-0/+8
| | | | | | 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
* Applying patch by DavidS from #697 to allow host names to be double quotedluke2007-07-082-329/+335
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2656 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #596 -- classes in modules now autoloadluke2007-07-061-6/+58
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2655 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #689, although I have not added unit tests. The problem was that a ↵luke2007-07-051-3/+3
| | | | | | tag name was being removed, rather than the tag object itself. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2651 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #620 - class names and node names now throw an error when they conflictluke2007-07-042-10/+22
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2646 980ebf18-57e1-0310-9a29-db15c13687c0
* Updating reference docsluke2007-06-201-1/+3
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2637 980ebf18-57e1-0310-9a29-db15c13687c0
* Removing extra debugging from the interpreterluke2007-06-191-2/+0
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2626 980ebf18-57e1-0310-9a29-db15c13687c0
* More test fixes. I seem to be getting very close.luke2007-06-191-0/+2
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2624 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #548, and making functions support other rvalues, too, including ↵luke2007-06-182-578/+630
| | | | | | other functions. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2599 980ebf18-57e1-0310-9a29-db15c13687c0
* All rails and language tests now pass again. All of the rails tests should ↵luke2007-06-172-2/+11
| | | | | | 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
* Fixing #673, but I have not written a test case for it. I moved all ↵luke2007-06-171-2/+2
| | | | | | 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
* Significantly reworking both external_nodes and ldapnodes support (see ↵luke2007-06-151-124/+133
| | | | | | changelog). git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2587 980ebf18-57e1-0310-9a29-db15c13687c0
* Significantly optimizing the database queries -- I am getting about 40% ↵luke2007-06-141-1/+1
| | | | | | better times now. See http://www.madstop.com/optimizing_the_activerecord_integration.html. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2585 980ebf18-57e1-0310-9a29-db15c13687c0
* Updated the CHANGELOG.ballman2007-06-141-3/+7
| | | | | | | | | Fixed a bug where the false values of resource paramaeters were being deleted nd inserted alternately. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2583 980ebf18-57e1-0310-9a29-db15c13687c0
* Added to_s to the values to ensure the check versus the database will be ballman2007-06-131-4/+4
| | | | | | | consistent and booleans and references will check correctly. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2572 980ebf18-57e1-0310-9a29-db15c13687c0