summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser
Commit message (Collapse)AuthorAgeFilesLines
* Renaming parsedfile to loadedfile, which makes much more sense and reduces ↵luke2006-09-033-7/+7
| | | | | | some naming conflicts git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1544 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding eat-last-line support in ERBluke2006-09-031-1/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1542 980ebf18-57e1-0310-9a29-db15c13687c0
* downgrading the template interpolation messageluke2006-08-301-1/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1517 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding automatic stacktrace printing to deverror. I need to go through and ↵luke2006-08-291-4/+1
| | | | | | remove the redundant puts in the rest of the code, but I need this now for some client debugging git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1515 980ebf18-57e1-0310-9a29-db15c13687c0
* Tracking down some weird bugs that managed to creep into the parser. I ↵luke2006-08-286-254/+267
| | | | | | expect that the main ones were a result of the If support. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1494 980ebf18-57e1-0310-9a29-db15c13687c0
* Committing definition inheritance. I have not yet written tests yet, but my ↵luke2006-08-2210-272/+415
| | | | | | last commit pretty seriously broke some things without me realizing it, so I wanted to get this in. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1484 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding "if/else" constructs. No operators, no elsif, but it is a good ↵luke2006-08-227-1098/+796
| | | | | | start, anyway. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1483 980ebf18-57e1-0310-9a29-db15c13687c0
* Function autoloading now works as requested in #214.luke2006-08-221-3/+19
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1482 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding warnings and error throwing for #218 -- metaparams in prototypes are ↵luke2006-08-211-1/+29
| | | | | | treated specially. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1481 980ebf18-57e1-0310-9a29-db15c13687c0
* Committing changes that require dollar signs in prototypesluke2006-08-144-195/+280
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1468 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
* Apparently objects were legal rvalues, which does not make any sense. Fixed ↵luke2006-07-212-302/+292
| | | | | | this, and added a test verify. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1418 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing bug in scope/interpreter where nodes found in ldap must have parent ↵luke2006-07-182-1/+5
| | | | | | 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
* Fixing templating so it immediately fails when a variable is not found, as ↵luke2006-07-111-4/+19
| | | | | | opposed to passing up the method_missing heirarchy, which was causing a nasty memory leak and some kind of weird, long-running search git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1389 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing templating bug that can result in what looks like an infinite loop, ↵luke2006-07-111-1/+7
| | | | | | and changing default timeout to 2 minutes instead of 30 seconds git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1385 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing error when template does not existluke2006-07-112-1/+2
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1383 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding minimal update checking for templates. It will only check the ↵luke2006-07-032-63/+97
| | | | | | 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
* Moving the template handling into a simple wrapper object so templates don't ↵luke2006-06-302-21/+40
| | | | | | have full access to the scope object without some real hacking. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1342 980ebf18-57e1-0310-9a29-db15c13687c0
* adding some tests for the template functionluke2006-06-291-1/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1341 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding initial template support. It is just a function, and a ↵luke2006-06-292-1/+37
| | | | | | method_missing method on Scope. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1340 980ebf18-57e1-0310-9a29-db15c13687c0
* Making sure fail function converts everything to stringsluke2006-06-271-2/+2
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1323 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding "fail" function, which will raise a ParseError if it is encountered.luke2006-06-271-0/+5
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1322 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
* Adding test and fix for empty execs being ignoredluke2006-06-151-3/+5
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1288 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-134-212/+261
| | | | 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
* Found a bug where single-value selectors can fail on a second compile. ↵luke2006-06-092-1/+7
| | | | | | Fixed it, and am now compiling all snippets twice. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1250 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #166. Function names are no longer reserved words.luke2006-06-083-420/+411
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1245 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #155. It is now valid to have arrays with no values, although you ↵luke2006-06-082-171/+187
| | | | | | will still likely get erratic behaviour elsewhere in the system, depending on what you do with this. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1240 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #163. Strings can now correctly escape dollar signs.luke2006-06-051-12/+8
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1234 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #160. Fixing the error in Puppet::Type#[]= and scope.newobjectluke2006-06-011-5/+11
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1230 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #161. Basically, AST::ObjectDef now catches when users specify a ↵luke2006-06-011-8/+25
| | | | | | name as a parameter instead of the name before the colon and modify the results accordingly. This catches this kind of problem, and the normal name handling picks up everything else. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1229 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #162. Node names must now be comma-separated.luke2006-05-312-191/+200
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1228 980ebf18-57e1-0310-9a29-db15c13687c0
* Allowing empty filesluke2006-05-182-446/+453
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1207 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #146. I think I mostly just fixed the error message; I do not think ↵luke2006-05-182-34/+32
| | | | | | there was another bug there. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1206 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 believe I have finalized export/collection support. I still want to go ↵luke2006-05-152-27/+83
| | | | | | through all of the code and s/collectable/exported/g (thanks to womble for that term). git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1193 980ebf18-57e1-0310-9a29-db15c13687c0
* I had to redo how the scopes handled collectable objects (which I will soon ↵luke2006-05-146-33/+131
| | | | | | 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
* I appear to have object collection working, incredibly. This commit does ↵luke2006-05-136-436/+520
| | | | | | the collection from the database up to adding the objects to the current scope, which is what sends it to the client. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1190 980ebf18-57e1-0310-9a29-db15c13687c0
* The "collectable" syntax now works end-to-end -- the parser correctly ↵luke2006-05-136-487/+474
| | | | | | 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