summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser/interpreter.rb
Commit message (Collapse)AuthorAgeFilesLines
* Renaming parsedfile to loadedfile, which makes much more sense and reduces ↵luke2006-09-031-1/+1
| | | | | | some naming conflicts git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1544 980ebf18-57e1-0310-9a29-db15c13687c0
* First round of bugfixes in preparation for 0.18.4luke2006-07-211-11/+4
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1421 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing bug in scope/interpreter where nodes found in ldap must have parent ↵luke2006-07-181-0/+4
| | | | | | nodes. The problem was that the the scope was using the presence of a parent node to determine whether a node was found. Instead I added a flag in the arguments to "Scope#evaluate" to mark nodes as found. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1401 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding a unit test for plain "nodesearch"luke2006-07-181-0/+10
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1400 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding minimal update checking for templates. It will only check the ↵luke2006-07-031-63/+92
| | | | | | templates that have been parsed in this process, but it is better than nothing. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1353 980ebf18-57e1-0310-9a29-db15c13687c0
* Trying to merge metrics and reports. There is now a separate transaction ↵luke2006-06-301-2/+2
| | | | | | report class, and it works throughout the previously existing system. I will next go through trying to make a metric report that graphs the metrics in rrd. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1347 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #182. Added a retry section to try reconnecting to ldap. Only one ↵luke2006-06-201-1/+9
| | | | | | reconnect is attempted in a given search, and LDAP produces bad enough error messages that we reconnect regardless of the error thrown. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1305 980ebf18-57e1-0310-9a29-db15c13687c0
* fixing interpreter to initialize ldap in the nodesearch_ldap method, which ↵luke2006-06-151-3/+5
| | | | | | really only matters for testing (since it is already being inited in the nodesearch method git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1287 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing some logging issues with puppetmasterd when daemonized with verbose ↵luke2006-06-141-11/+22
| | | | | | mode on, and fixing ldap support when daemonizing git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1276 980ebf18-57e1-0310-9a29-db15c13687c0
* abstracting out ldap connections so that there is a single method ↵luke2006-06-131-12/+22
| | | | | | responsible for all of them and a single connection can be shared in all classes if necessary git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1270 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing ldap usage when ldap libs are not availableluke2006-06-131-20/+28
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1268 980ebf18-57e1-0310-9a29-db15c13687c0
* removing extraneous debuggingluke2006-06-131-2/+0
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1267 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding support for default nodes as requested in #136.luke2006-06-131-6/+21
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1261 980ebf18-57e1-0310-9a29-db15c13687c0
* A round of bug-fixing in preparation for the next release.luke2006-06-131-1/+17
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1256 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing ldap node lookup. The test was set up badly, in that it did not ↵luke2006-06-121-3/+11
| | | | | | actually provide a way to enable ldap node support, even though there was a config option that should have worked. All works now. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1254 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding support for following referralsluke2006-06-121-0/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1252 980ebf18-57e1-0310-9a29-db15c13687c0
* Wrapping the host storage into a transaction. It might have a slight ↵luke2006-05-151-9/+15
| | | | | | performance improvement, but, ah, unlikely. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1200 980ebf18-57e1-0310-9a29-db15c13687c0
* I had to redo how the scopes handled collectable objects (which I will soon ↵luke2006-05-141-7/+34
| | | | | | change to being called "exported objects"). All seems to work now, though. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1192 980ebf18-57e1-0310-9a29-db15c13687c0
* Made a *huge* performance difference in storing hosts -- down from about 25 ↵luke2006-05-131-5/+7
| | | | | | seconds per host to about 5 seconds on my machine. I will almost definitely still use forking or something to make this not affect the clients git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1191 980ebf18-57e1-0310-9a29-db15c13687c0
* The "collectable" syntax now works end-to-end -- the parser correctly ↵luke2006-05-131-1/+9
| | | | | | recognizes it, the AST objects retain the settings, the scopes do the right conversion, the interpreter stores them all in the database, and then it strips the collectable objects out before sending the object list to the client git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1189 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding initial rails support. One can now store host configurations using ↵luke2006-05-131-24/+25
| | | | | | ActiveRecord into a database (I have only tested sqlite3). Tomorrow will be the grammars used to retrieve those records for object collection. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1187 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing the language side of #109. Added a "set" keyword.luke2006-04-111-1/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1103 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding a few informative facts on the server side: serverversion, ↵luke2006-04-111-1/+7
| | | | | | servername, serverip. And only printing the parse time in the interpreter if it is not a local connection. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1102 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding simple benchmarking, and using it in a few of the more obvious ↵luke2006-04-101-4/+8
| | | | | | places. Also, fixed a bug in Scope#gennode. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1098 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #103. There are now no such things as node scopes; the entire tree ↵luke2006-04-051-48/+47
| | | | | | is evaluated on every node connection, and node facts are set at the top-level scope. This includes,um, the code; the last commit was accidentally just test changes. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1073 980ebf18-57e1-0310-9a29-db15c13687c0
* adding -e ability to puppet executableluke2006-04-041-20/+26
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1065 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing the class file to actually store class names, not object ids. Also ↵luke2006-04-041-2/+0
| | | | | | added tests to make sure it all stays that way. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1063 980ebf18-57e1-0310-9a29-db15c13687c0
* Manifests can now specify node names with fully qualified domain names, too.lutter2006-03-311-2/+4
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1047 980ebf18-57e1-0310-9a29-db15c13687c0
* Changing the setdefaults input format somewhat. It is always a hash of some ↵luke2006-03-011-9/+9
| | | | | | kind now. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@962 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing bug #60. Converting nodes to use types everywhere instead of names, ↵luke2006-02-281-2/+0
| | | | | | and adding a localobjectable to keep track of what parameters have been defined locally. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@957 980ebf18-57e1-0310-9a29-db15c13687c0
* Mostly, this is a refactoring commit. There is one significant new feature,luke2006-02-271-4/+14
| | | | | | | | | | | | | | | | | though: overrides now only work within a class heirarchy, which is to say that a subclass can override an element in a base class, but a child scope cannot otherwise override an element in a base scope. I've also done a good bit of refactoring, though; notably, AST#evaluate now takes named arguments, and I changed the 'name' parameter to 'type' in all of the Component classes (this was all internal, but was confusing as it was). I also removed the need for the autonaming stuff -- it's now acceptable for components not to have names, and everything behaves correctly. I haven't yet removed the autoname code, though; I'll do that on the next commit. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@952 980ebf18-57e1-0310-9a29-db15c13687c0
* Changed the parsedtype definition of exists(), and fixed a few smaller bugs. ↵luke2006-02-151-1/+5
| | | | | | Last code commit before 0.13.2 git-svn-id: https://reductivelabs.com/svn/puppet/trunk@915 980ebf18-57e1-0310-9a29-db15c13687c0
* Committing the initial ldap support -- puppet can now look up node ↵luke2006-02-141-1/+124
| | | | | | configurations in ldap. The test scripts currently only work on my home network. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@909 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing class storage -- it was not working for nodescopesluke2006-01-301-10/+2
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@858 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing a small checksumming bug, reorganizing the client stuff a bit, and ↵luke2006-01-181-4/+22
| | | | | | adding freshness checking for the configuration, so the config is recompiled every time nor is it downloaded unless it has been recompiled git-svn-id: https://reductivelabs.com/svn/puppet/trunk@845 980ebf18-57e1-0310-9a29-db15c13687c0
* Made lots of small changes, mostly to help usability but also fixed a couple ↵luke2006-01-181-6/+4
| | | | | | of key bugs git-svn-id: https://reductivelabs.com/svn/puppet/trunk@841 980ebf18-57e1-0310-9a29-db15c13687c0
* Converting transport format to YAML instead of Marshal, and caching the file ↵luke2006-01-121-1/+8
| | | | | | in a YAML format, also. This required a significant rework of both Transportable classes. Lastly, I am also now caching the list of classes in a class file in /etc/puppet. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@816 980ebf18-57e1-0310-9a29-db15c13687c0
* Supporting puppetmasterd running as a non-root user, and doing some basic ↵luke2006-01-101-1/+3
| | | | | | message cleanup git-svn-id: https://reductivelabs.com/svn/puppet/trunk@798 980ebf18-57e1-0310-9a29-db15c13687c0
* adding cfengine module, which required passing the cfengine classes all the ↵luke2005-11-171-1/+5
| | | | | | way through the stack to the scope git-svn-id: https://reductivelabs.com/svn/puppet/trunk@746 980ebf18-57e1-0310-9a29-db15c13687c0
* Further small bug fixes towards running puppet on my networkluke2005-10-251-29/+3
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@729 980ebf18-57e1-0310-9a29-db15c13687c0
* Made tweaks here and there to get it running better on my local network. I ↵luke2005-10-211-0/+7
| | | | | | am inches away from that happening. All tests pass. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@720 980ebf18-57e1-0310-9a29-db15c13687c0
* Many, many changes toward a completely functional system. The only current ↵luke2005-09-231-12/+18
| | | | | | problems with my home config are that apache's stupid init script does not do status and that packages are not working as non-root users (which makes sense). git-svn-id: https://reductivelabs.com/svn/puppet/trunk@703 980ebf18-57e1-0310-9a29-db15c13687c0
* The new "include" syntax works now.luke2005-09-221-2/+0
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@700 980ebf18-57e1-0310-9a29-db15c13687c0
* Okay, all tests pass again. The work done on nodes will take a little while ↵luke2005-09-221-13/+17
| | | | | | to clarify and such, but it should work pretty well. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@698 980ebf18-57e1-0310-9a29-db15c13687c0
* I am still somewhat in mid-change, but I have made the biggest changes to ↵luke2005-09-211-56/+75
| | | | | | making nodes work correctly. The core code works, but I still need to fix my various test cases git-svn-id: https://reductivelabs.com/svn/puppet/trunk@697 980ebf18-57e1-0310-9a29-db15c13687c0
* tracked down some sticky bugs related to having false values and empty ↵luke2005-09-131-1/+4
| | | | | | strings; all fixed now, and all tests pass again, including the new tests that cover the bugs i found git-svn-id: https://reductivelabs.com/svn/puppet/trunk@652 980ebf18-57e1-0310-9a29-db15c13687c0
* Moving all files into a consolidated trunk. All tests pass except the ↵Luke Kanies2005-08-231-0/+135
known-failing certificate test, but there appear to be some errors that are incorrectly not resulting in failurs. I will track those down ASAP. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@576 980ebf18-57e1-0310-9a29-db15c13687c0