summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit 'tags/2.6.0' into nextJesse Wolfe2010-07-2016-125/+202
|\
| * Updated CHANGELOG for 2.6.0James Turnbull2010-07-201-0/+11
| |
| * Fixing #4268 - manifests always importedLuke Kanies2010-07-194-38/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem is that the environment list gets cleared when Settings#set_value is called, and it was being called every time Settings#use was called, which is more often than obvious but especially if reporting is enabled. Previously we ignored noop when running inside of Settings, and this essentially adds that back in, so we can remove the special noop behaviour in Settings itself. Signed-off-by: Luke Kanies <luke@puppetlabs.com>
| * [#4269] Undef variables interpolate to empty stringNick Lewis2010-07-192-1/+32
| | | | | | | | | | This fixes double-quoted strings to interpolate undef variables as an empty string. This is the behavior present in 0.25.x.
| * [#4270] Force inherited classes to load into the correct environmentJesse Wolfe2010-07-196-13/+43
| | | | | | | | | | | | | | | | | | Parent classes were getting searched for in a way that fails if they were not already loaded into an environment. This patch replaces that codepath with a call that will load them if they are needed. This bug was masked by another bug that loads all classes into "production", whether they are used there or not.
| * [#4287] Fix the undefined evaluate_match error when comparing functionsMatt Robinson2010-07-194-71/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Ticket #4238 introduced a problem that a function couldn't compare to another value until after it was evaluated, and AST::Function didn't have the evaluate_match method. This change moves that method from AST::Leaf to AST. The special casing necessary for doing comparisons between AST objects feels messy and could probably be encapsulated better. I've created ticket #4291 to remind us to refactor this at some point. Paired with: Nick Lewis Signed-off-by: Matt Robinson <matt@puppetlabs.com>
| * Tweak to tweak to fix for #4233 -- ":" is valid in type namesMarkus Roberts2010-07-191-1/+1
| | | | | | | | | | The tweak to the fix for #4233 was too narrow, and precluded the possibility that a type name would contain colons e.g. (MySQL::User)
| * Bandaid for #4285 -- :name vs <namevar>Markus Roberts2010-07-191-1/+5
| | | | | | | | | | | | | | We sometimes refer to the namevar as its name and sometimes as :name; there is no consistant pattern in the code for when this is done one way or the other. This problem was exposed by the composite namevar refactor; the present patch adjusts the crucial routine to work with either.
| * Tweak to fix for #4233 -- only accept word chars in typesMarkus Roberts2010-07-191-1/+1
| | | | | | | | | | | | | | With the title carrying semantic information it may contain arbitrary chars; when parsing a ref we only want word chars in the type (up to the first open square bracket) and everything else, enclosed in "[" / "]" to the end of the string, is the title.
* | Merge branch 'master' into nextJesse Wolfe2010-07-1933-145/+272
|\| | | | | | | This is the code for 2.6 RC4
| * Updated CHANGELOG for 2.6.0RC4James Turnbull2010-07-191-0/+18
| |
| * [#4233] Ruby regexps are not multiline by default, but Resource titles can ↵Jesse Wolfe2010-07-186-3/+47
| | | | | | | | | | | | | | | | be multiline Puppet allows resource titles to contain newlines. We recently introduced several regexps that were failing on resources with multiline titles.
| * Fix for #4234 -- ruby DSL fails on second resourceMarkus Roberts2010-07-181-1/+1
| | | | | | | | | | | | The loop detection mechanism isn't great (it should, for example, allow nesting if the signatures differ) but the key problem was that the ensure was simply backwards.
| * Fix for #4236 -- Only interpolate $ if followed by a variableMarkus Roberts2010-07-182-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a modification of the Nick/Jesse/Matt patch, retaining their tests and the analysis of the problem but reversing the implementation direction of the solution. Rather than trying to make the already somewhat brittle slurpstring smarter, which requires telling it what following strings will be accepted by the caller with a zero-width-lookahead negation of the regular expression used to extract a variable name, this patch keeps that responsibility in the caller where it belongs. The caller (tokenize_interpolated_string) now checks to see if it got a variable name _before_ emitting a variable token; if it got one, it proceeds normally, but if it didn't it simply tries again from that point in the string (accumulating the false match as a prefix). This change actually simplifies the logic of tokenize_interpolated_string somewhat.
| * Fix #4238 - if should match undef as ''Brice Figureau2010-07-184-32/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The comparisons operator (and more particularly == and !=) were not treating the undef value as '', like case and selector did since #2818. This patch makes sure comparison operator uses AST leaf matching. Unfortunately, doing this introduces a behavior change compared to the previous versions: Numbers embedded in strings will now be matched as numbers in case and selector statements instead of string matching. Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
| * Minimal fix for #4243 -- import isn't thread safeMarkus Roberts2010-07-183-29/+27
| | | | | | | | | | | | | | | | The import function was calling type_loader#import directly so that it could pass in the current file name, but by doing so it was thwarting the thread- safety locking level. This patch rearanges things so that all imports go through the same (thread safe) code path while retaining the current_file passing, error handling, etc. from the old structure.
| * [#4247] storeconfigs was calling Puppet::Parser::Resource.new with the wrong ↵Jesse Wolfe2010-07-184-3/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | arguments When the interface to Puppet::Resource changed, its subclass Puppet::Parser::Resource was also affected. One case of initializing those objects did not get updated when the code changed, causing storeconfigs to break. Also, this patch adds a error message that would have made it easier to catch this problem (as puppet could consume all memory and die trying to print the old error message)
| * [#4256] External nodes parameters can now be assigned to nodesMatt Robinson2010-07-182-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Node parameters were made a reader instead of an accessor in commit b82b4ef04282ca0006931562f60459a1591b6268 Author: Luke Kanies <luke@reductivelabs.com> Date: Wed Jan 6 17:42:42 2010 -0800 All non-transient parser references are gone but external nodes needs to be able to assign to parameters. The fix is just to change that back to an accessor. There may have been concern over nodes replacing the hash object instead of the values could have bad consequences, but that's not a concern since the node object being created in this case is new also. Paired with: Nick Lewis
| * Fix for #4257 -- problems resolving ::-prefixed classesMarkus Roberts2010-07-181-5/+1
| | | | | | | | | | | | While find_fully_qualified expects (and gets) fully qualified class names it does not always get absolute names (with the ::-prefix); test in the global scope refers to the same thing as ::test.
| * Fix #4262 - Puppetmaster used to log compilation timeBrice Figureau2010-07-182-2/+12
| | | | | | | | | | | | | | It looks like a merge went wrong and we were returning abruptely from a benchmark block, thus jumping over a precious log information. Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
| * Fix for #4255 -- misleading diagnostic messageMarkus Roberts2010-07-181-2/+0
| | | | | | | | A diagnostic message was left in the code durring development. Now it's gone.
| * Partial fix for #4278 -- the performance aspectsMarkus Roberts2010-07-185-34/+10
| | | | | | | | | | | | | | | | | | unevaluated_resources was a performance bottleneck and was doing a great deal of unneeded work, such as searching for the type of evaluated resources before ignoring them because only unevaluated resources were wanted. This patch is behaviour neutral but gives a 2-3x speedup for compiles with many defined resources.
| * Fixed #4249 - Updated SUSE packaging specificationsJames Turnbull2010-07-163-20/+26
| |
* | Merge branch 'master' into nextJesse Wolfe2010-07-1439-417/+542
|\| | | | | | | This is the code for 2.6 RC3
| * New man pages for 2.6.0James Turnbull2010-07-1511-316/+373
| |
| * Fixes errant Trac references in documentationJames Turnbull2010-07-1520-20/+20
| |
| * Updated CHANGELOG for 2.6.0rc3James Turnbull2010-07-141-0/+12
| |
| * [#4219] Install misses command_line dir, puppet $app --help failsTodd Zullinger2010-07-131-1/+1
| |
| * conf/redhat: Consistently pass pidfile option to daemon, killproc, and statusTodd Zullinger2010-07-132-11/+20
| | | | | | | | | | | | | | | | | | In Red Hat bug #531116 Ruben Kerkhof noted that we weren't using the --pidfile $pidfile option to daemon. This caused 'service puppet start' to fail if puppet had already been started. To be consistent, we now pass the pidfile option to daemon, killproc, and status when those functions provide such an option. And we only test for the availability of the -p/--pidfile option in one place.
| * conf/redhat: Update conf/init files for single binaryTodd Zullinger2010-07-133-3/+3
| |
| * conf/redhat: Rebase rundir-perms patchTodd Zullinger2010-07-131-13/+13
| |
| * [#4213] -o option for setting onetime now works properlyNick Lewis2010-07-133-44/+26
| | | | | | | | | | | | | | | | When onetime was moved to global defaults, it broke the option handler using it in agent to manage waitforcert length. Additionally, it caused --onetime and -o to behave differently. This patch removes the ordinary option handler defined in agent and moves the logic for waitforcert to the one location it's used.
| * [#3656] Serializing arrays of referencesJesse Wolfe2010-07-132-5/+19
| | | | | | | | | | | | My previous fix for #3656 missed the case where a "require" attribute (or other graph-ish attribute) had multiple values. This patch generalizes that fix to the multiple-value case.
| * [#4215] Have rundir depend on vardirMatt Robinson2010-07-132-9/+60
| | | | | | | | | | | | | | | | | | | | | | | | This came up because if you ran puppetd with a specific vardir, then when rundir got set to a hardcoded value its parent directory might not exist and the whole thing would fail. This change came about with the concept of run_mode, and this fix is restoring the behaviour that was in 0.25.x Reviewed-by: Jesse Wolfe Signed-off-by: Matt Robinson <matt@puppetlabs.com>
| * Fix for #4220 -- modules not implicitly loading their init filesMarkus Roberts2010-07-131-1/+1
| | | | | | | | | | | | The module init loading was broken in 7504f1e..b938edf and then gradually removed as dead code. This is a minimal (and mildly ugly) reinsertion os it with the addition of .rb support.
* | Merge branch '0.25.x' into nextJesse Wolfe2010-07-120-0/+0
|\ \ | |/ |/| | | | | | | This is a housekeeping merge: all 0.25.x commits were already cherry-picked into the 2.6 era's master. No code was changed by this merge, since I used --strategy=ours
| * Use the name in the search path for looking for metadataBryan Kearney2010-07-032-1/+2
| |
| * Fix for environments in startup script.Ken Barber2010-07-031-9/+9
| | | | | | | | | | | | | | | | - Dropped the forced --manifest switch in the suse startup script to allow for environments to re-define this. Otherwise, environments will not work as puppet override configuration with command line arguments.
| * Redmine: 2474 - Fix for mount fstype documentationSteven Jenkins2010-06-271-1/+1
| |
| * [#4064] Modify confine to also allow a message and a block containing the test.Rein Henrichs2010-06-272-22/+127
| | | | | | | | | | This way the test can be evaluated lazily when needed. Adds tests and documentation.
| * [#4063] Add confine to describe block that depends on ActiveRecordRein Henrichs2010-06-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | confines are not inherited by inner define blocks. For instance: describe "something" do confine "can not has" => false describe "something else" ... this will still be run .. end end This fixes the specific describe block that is lacking the necessary confine, allowing specs to run again while we fix the bug in confine itself.
| * [#3921] Add facts_terminus setting to Puppet settingsRein Henrichs2010-06-2712-14/+242
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * defaults to "facter" * no longer set the facts terminus class in for puppetmaster, use setting instead Implements an abstract CouchDB terminus and a concrete CouchDB terminus used to store node facts. Node facts are stored in a "node" document as the "facts" attribute. This node document may also be used by other couchdb termini that store node-related information. It is recommended to use a separate document (or documents) to store large data structures like catalogs, linking them to their related node document using embedded ids. This implementation depends on the "couchrest" gem.
| * [#4026] When --use_cached_catalog is specified on a puppetd run actully use ↵Matt Robinson2010-06-278-40/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the cache Running puppetd with --use_cached_catalog you would see messages like: info: Not using expired catalog for mattmac.local from cache notice: Using cached catalog Both Puppet::Util::Cacher, which extends catalogs, and Puppet::Indirector::Envelope, which extends all Indirection objects including catalogs, have their own cache expiring mechanisms. The Envelope mechanism was declining to use cached catalogs without taking into account what the --use_cached_catalog options said. This patch fixes so it uses the cached catalog and just logs: debug: Using cached catalog for mattmac.local This commit also renames a method that makes requests from request to instantiate request, and gets rid of the extender hook on Cacher since it was only being used on one test and probably shouldn't be used in general. Reviewed by: Nick Lewis
| * [#4001] Added explicit check and error message when creating a file if ↵Nick Lewis2010-06-272-0/+13
| | | | | | | | | | | | | | | | | | parent doesn't exist This was giving the regular File.open error for non-existent parent, resulting in a message citing the non-existence of the file as the reason ensure can't be changed from absent to present. Now it properly states that the parent directory is missing.
| * [#3835] Fixed recursively absent directories improperly managing their filesNick Lewis2010-06-272-1/+17
| | | | | | | | | | | | | | | | Children of recursively absent (and only recursively absent) directories now inherit the recursively absent behavior when they are created. This stops the files from trying to be created, generating lots of failure messages. This doesn't affect directories which are absent and not recursive (whose children aren't even attempted to be created, or directories which aren't absent.
| * [#3804] Fixed one failing spec for RackRESTNick Lewis2010-06-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | A new version of Rack::MockRequest automatically uppercases the HTTP method, expecting that any method passed in should properly be uppercase. e.g. GET, PUT, POST This behavior is on line 81 of Rack::MockRequest: http://rack.rubyforge.org/doc/classes/Rack/MockRequest.src/M000230.html Reviewed by Matt Robinson
| * Fixing #3651 failing to pop comment stack for some constructsMarkus Roberts2010-06-272-108/+112
| | | | | | | | | | Puppetdoc got confused because it wasn't popping the comment context for collections and resource defaults. This commit adds the popping.
| * Fixed require warning documentationJames Turnbull2010-06-221-3/+2
| |
| * Fixed mcx documentation errorJames Turnbull2010-06-221-1/+1
| |
| * Documentation fixesJames Turnbull2010-06-221-7/+7
| |