summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | | | maint: Dedup the loadpath so we don't have to walk it multiple timesMatt Robinson2011-05-262-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the user's path has duplicate entries, we end up looking at them multiple times. This has bitten people in the past in that if you get a lot of duplication it can make autloading a lot slower. Really the user shouldn't be duplicating their path, but since we can't control that, this is a safe fix to prevent them from having autoload slowness. Paired-with: Max Martin <max@puppetlabs.com>
| | * | | | Maint: Fix ellipses for short descriptionsnfagerlund2011-05-262-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, we were adding ellipsis to any short_description, which was misleading; they were only necessary when we were truncating in the _middle_ of a paragraph. This commit changes the behavior, and updates the tests to show when we expect ellipsis. Paired-with: Matt Robinson <matt@puppetlabs.com>
| * | | | | (#7563) DRY: Remove indirector boilerplate from individual facesnfagerlund2011-05-2612-113/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Termini lists are now being generated in the help templates. This commit removes the hardcoded lists from each of the affected faces.
| * | | | | (#7564) Finish templatesnfagerlund2011-05-265-60/+270
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a rebase of the following commits: * (#7563) Add a template for manpages In order to generate manpages in a reasonably maintainable way, we need to format text from the Faces help API for use with Ronn (https://github.com/rtomayko/ronn/). This commit adds a man template to the help templates folder; it has been verified to generate Ronn-friendly input text. It isn't currently called by any applications, but can be demonstrated by exchanging it for face.erb. * (#7634) Change ERB trim mode used in the Faces help API <%= something -%> tags (note the minus) are unavoidably necessary at at least one point in the Faces help templates. ERB objects instantiated with the % trim mode will blow up horribly whenever one of these tags appears. This commit changes the trim mode to `-` and refactors all help templates accordingly. * (#7563) Refactor short help templates This commit attempts to bring the short face and action help templates closer to the goals of fitting cleanly on one screen, fitting the prevailing *nix aesthetic, and being useful without overwhelming the user.
| * | | | | (#7561) Complete help text for all faces and actionsnfagerlund2011-05-2622-257/+628
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Faces help output relies on input from the documentation methods in each of the faces to be documented. This commit calls those methods in each of our faces, with varying levels of detail depending on their complexity.
| * | | | | Maint: Add ellipsis to generated short_descriptions.nfagerlund2011-05-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Auto-generated short descriptions cut off at five lines with no indication that they are truncated. This commit adds ellipsis in brackets to indicate incompleteness.
| * | | | | (#6962) Add "arguments" method to help APInfagerlund2011-05-261-0/+2
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since some actions take arguments and some do not, action synopses were incomplete and ambiguous. This commit adds a method for explicitly declaring what argument(s) an action takes, and places the arguments at the appropriate spot in the action's synopsis. By convention, individual arguments should be wrapped in angle brackets.
* | | | | Merge branch '2.6.x' into 2.7.xMax Martin2011-06-021-5/+9
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 2.6.x: (#5318) Always notice changes to manifests when compiling. (#7681) Add an acceptance test for resource refs with array variables Conflicts (manually resolved): lib/puppet/parser/compiler.rb
| * | | | Merge branch 'bug/2.6.x/5318-minimal-fix' into 2.6.xDaniel Pittman2011-05-271-5/+9
| |\ \ \ \
| | * | | | (#5318) Always notice changes to manifests when compiling.Daniel Pittman2011-05-271-5/+9
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we are asked to compile a catalog we need to update the set of known resource types, along with the node declaration, from the pool of manifests on disk. This is, obviously, a per-environment pool of resource types. To reduce the scope of the race where an update to those manifest files on disk can be updated during a compilation, we tried to cache the set of known resources in the current thread at the start of compilation, then flush it after compile finished and used the cache unconditionally if it was set. Theoretically, this would assure us that we would parse the set of manifests once, use them for the entire compile, flush the cache, and then carry on. Practically, this was enforced as described: flush *after* the compile, assume this would mean that it was clear at the start of the next compile. That presumably worked more or less right until a change was made to push extra data into the catalog at the start of the 2.6 series; that made serialization of the catalog depend on the pool of known resource types. When that happened we would reload the cache (and reparse the manifests) during serialization, but after compilation ... and leave that in the thread cache, so the precondition for the compiler was no longer true. It would see the cache as of the end of the previous compile run, not the start of the next compile run. This, in turn, was what made Puppet wait for multiple runs of the agent before showing you a change in your manifests under Passenger, but *not* under Webrick: Passenger would reuse the same thread for the next request, cache in place, while Webrick would create a new thread and (by side-effect) "flush" the cache as the compiler expected. To minimally fix this, with as little change of side-effect as possible, we move the cache flush from after compile runs to before compile runs. This might have minimal memory cost until another compile request runs in the same thread, because we cache the data longer, but most models won't cause that to be too much trouble. Reviewed-By: Matt Robinson <matt@puppetlabs.com>
| * | | | Merge branch 'ticket/2.6.x/7681' into 2.6.xNick Lewis2011-05-261-0/+27
| |\ \ \ \
| | * | | | (#7681) Add an acceptance test for resource refs with array variablesNick Lewis2011-05-261-0/+27
| |/ / / / | | | | | | | | | | | | | | | | | | | | Paired-with: Jacob Helwig <jacob@puppetlabs.com> Reviewed-by: Dominic Maraglia <dominic@puppetlabs.com>
* | | | | maint: Fix order dependent test failureJosh Cooper2011-05-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When running spec/unit/network/rights_spec.rb prior to spec/unit/network/authstore_spec.rb, test failures occur due to the AuthStore storing Declarations in current thread state. This is a temporary fix (explicitly clearing thread state for each test run) until the AuthStore can be modified to not rely on thread state. This commit is a follow up to 9834dcdd. Paired-with: Jacob Helwig <jacob@puppetlabs.com>
* | | | | Merge branch 'ticket/2.7.x/5966-auth-conf-hostname-regex' into 2.7.xJosh Cooper2011-05-312-9/+49
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * ticket/2.7.x/5966-auth-conf-hostname-regex: (#5966) Add support for hostname regular expressions in auth.conf
| * | | | | (#5966) Add support for hostname regular expressions in auth.confSiim Põder2011-05-312-9/+49
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When hosting multiple applications (especially with different security levels), you may not want to allow every client to read all the files required for every other client. Currently it is possible to do this when your host and domain names reasonably reflect that grouping, ex: hostXYZ.someapp.domain.com. However, if you have a more flat naming convention, it is difficult to write these ACLs. This patch adds support for matching hostnames with regular expressions, thus extending the ACLs to allow: path /file_content/secrets/appserver allow /appserver[0-9]+.example.com$/ path /file_content/secrets/otherservice allow /^(test-)crazy[0-9]+.pattern.(com|net)$/ Signed-off-by: Josh Cooper <josh@puppetlabs.com> Reviewed-by: Jacob Helwig <jacob@puppetlabs.com>
* | | | | Merge branch 'ticket/2.7.x/maint-faces_docs_spec_fixes' into 2.7.xMatt Robinson2011-05-266-28/+30
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ticket/2.7.x/maint-faces_docs_spec_fixes: maint: Fix order dependent spec failure for face indirection (#7690) Don't blow up when listing terminuses available for faces maint: Dedup the loadpath so we don't have to walk it multiple times
| * | | | | maint: Fix order dependent spec failure for face indirectionMatt Robinson2011-05-261-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An indirected face is being created in spec/unit/application/indirection_base_spec.rb that uses a stubbed out indirection. This stub didn't have a name method defined, which caused the documentation_spec.rb, that does checks against every available face, to blow up with: expected no Exception, got #<NoMethodError: undefined method `to_sym' for nil:NilClass> in lib/puppet/face/indirector/face.rb when listing the indirections for the help text. I toyed with creating a real indirection for the test, but that was harder than expected. Paired-with: Max Martin <max@puppetlabs.com>
| * | | | | (#7690) Don't blow up when listing terminuses available for facesMatt Robinson2011-05-264-24/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, in order to list the available terminuses for an indirected face we loaded all the the terminuses in order to list them. This meant that if a terminus like active_record didn't have the dependencies it needed, the documentation would raise errors and not list terminuses. <Puppet::Error: Could not autoload filename uninitialized constant Object::ActiveRecord> Now we just list the terminuses available in the load path without trying to load them. The terminus will still raise an error if you try to use it without its dependencies being met. Paired-with: Max Martin <max@puppetlabs.com>
| * | | | | maint: Dedup the loadpath so we don't have to walk it multiple timesMatt Robinson2011-05-262-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the user's path has duplicate entries, we end up looking at them multiple times. This has bitten people in the past in that if you get a lot of duplication it can make autloading a lot slower. Really the user shouldn't be duplicating their path, but since we can't control that, this is a safe fix to prevent them from having autoload slowness. Paired-with: Max Martin <max@puppetlabs.com>
* | | | | | Merge branch '2.7rc' into 2.7.xNick Lewis2011-05-263-6/+47
|\ \ \ \ \ \ | |/ / / / / |/| | / / / | | |/ / / | |/| | |
| * | | | Merge branch 'ticket/2.7rc/7681' into 2.7rcNick Lewis2011-05-263-6/+47
| |\ \ \ \
| | * | | | (#7681) Add an acceptance test for resource refs with array variablesNick Lewis2011-05-261-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Paired-with: Jacob Helwig <jacob@puppetlabs.com> Reviewed-by: Dominic Maraglia <dominic@puppetlabs.com>
| | * | | | (#7681) Allow array variables as resource referencesNick Lewis2011-05-262-6/+20
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit df088c9ba16dce50c17a79920c1ac186db67b9e9 introduced a regression where $files = ["/tmp/one", "/tmp/two"] file { "/tmp/one": content => "one", } file { "/tmp/two": content => "two", } file { "/tmp/three": content => "three", require => File[$files], } no longer worked. File[$files] was concatenating the elements of $files to create a single title, instead of expanding to multiple File dependencies. Since resource reference titles are implicitly wrapped in an array, if one of the elements of that array is a variable containing an array, the list of titles is a nested array. Prior to the change causing the regression, we would flatten arrays when evaluating them, under certain circumstances. We no longer ever flatten AST arrays when evaluating them, so anywhere that we really do need a flattened array, we have to manually flatten it. ResourceReference expects its list of titles to be a single, flat list of titles, so we have to make it so. Paired-with: Jacob Helwig <jacob@puppetlabs.com>
| * | | | (#7507) Add exclude filter for ruby 1.9 spec failuresJosh Cooper2011-05-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Exclude spec test for multiple writer processes as this fails intermittently on ruby 1.9. Reviewed-by: Jacob Helwig <jacob@puppetlabs.com>
* | | | | Maint: Fix ellipses for short descriptionsnfagerlund2011-05-262-4/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, we were adding ellipsis to any short_description, which was misleading; they were only necessary when we were truncating in the _middle_ of a paragraph. This commit changes the behavior, and updates the tests to show when we expect ellipsis. Paired-with: Matt Robinson <matt@puppetlabs.com>
* | | | | Merge branch 'ticket/2.7.x/7561-help_for_all_faces' into 2.7.xnfagerlund2011-05-2627-373/+844
|\ \ \ \ \
| * | | | | (#7563) DRY: Remove indirector boilerplate from individual facesnfagerlund2011-05-2612-113/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Termini lists are now being generated in the help templates. This commit removes the hardcoded lists from each of the affected faces.
| * | | | | (#7564) Finish templatesnfagerlund2011-05-265-60/+271
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a rebase of the following commits: * (#7563) Add a template for manpages In order to generate manpages in a reasonably maintainable way, we need to format text from the Faces help API for use with Ronn (https://github.com/rtomayko/ronn/). This commit adds a man template to the help templates folder; it has been verified to generate Ronn-friendly input text. It isn't currently called by any applications, but can be demonstrated by exchanging it for face.erb. * (#7634) Change ERB trim mode used in the Faces help API <%= something -%> tags (note the minus) are unavoidably necessary at at least one point in the Faces help templates. ERB objects instantiated with the % trim mode will blow up horribly whenever one of these tags appears. This commit changes the trim mode to `-` and refactors all help templates accordingly. * (#7563) Refactor short help templates This commit attempts to bring the short face and action help templates closer to the goals of fitting cleanly on one screen, fitting the prevailing *nix aesthetic, and being useful without overwhelming the user.
| * | | | | (#7561) Complete help text for all faces and actionsnfagerlund2011-05-2622-257/+628
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Faces help output relies on input from the documentation methods in each of the faces to be documented. This commit calls those methods in each of our faces, with varying levels of detail depending on their complexity.
| * | | | | Maint: Add ellipsis to generated short_descriptions.nfagerlund2011-05-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Auto-generated short descriptions cut off at five lines with no indication that they are truncated. This commit adds ellipsis in brackets to indicate incompleteness.
| * | | | | (#6962) Add "arguments" method to help APInfagerlund2011-05-261-0/+2
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since some actions take arguments and some do not, action synopses were incomplete and ambiguous. This commit adds a method for explicitly declaring what argument(s) an action takes, and places the arguments at the appropriate spot in the action's synopsis. By convention, individual arguments should be wrapped in angle brackets.
| | | | * Merge branch '2.7.x'Daniel Pittman2011-05-252-44/+75
| | | | |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: acceptance/tests/ticket_7117_broke_env_criteria_authconf.rb
| | | | | * Merge branch '2.6.x' into 2.7.xDaniel Pittman2011-05-250-0/+0
| |_|_|_|/| |/| | | |/ | | | |/| | | |/| |
| | * | | Merge branch 'test/2.6.x/4123' into 2.6.xDominic Maraglia2011-05-242-51/+36
| | |\ \ \
* | | \ \ \ Merge branch 'test/2.6.x/4123' into 2.7.xDominic Maraglia2011-05-242-51/+36
|\ \ \ \ \ \ | | |_|/ / / | |/| | | |
* | | | | | maint: Remove reliance on system clock from schedule spec testsJosh Cooper2011-05-241-42/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several schedule spec tests made assumptions about the system clock, which resulted in intermittent failures. Also found some issues with schedule ranges, filed it as bug #7369 and created a pending schedule test for it. Reviewed-by: Jacob Helwig <jacob@puppetlabs.com>
* | | | | | Merge branch 'tests/2.7.x/7117' into 2.7.xDominic Maraglia2011-05-241-1/+11
|\ \ \ \ \ \
| * | | | | | add puppet master polling step for ticket 7117Dominic Maraglia2011-05-201-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test for ticket 7117 producedes spurious failures due to timing: a curl command is executed from an agent to a freshly started Puppet Master; if the Puppet Master is not ready to accept the connection the test will fail. Added an until loop that issues simple curl command to see if the Puppet Master is up and ready
* | | | | | | Added the vcsrepo type and providers to the coreJames Turnbull2011-05-237-0/+763
|/ / / / / /
* | | | | | Merge branch 'ticket/2.7.x/7507' into 2.7.xJosh Cooper2011-05-201-2/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ticket/2.7.x/7507: (#7507) Add exclude filter for ruby 1.9 spec failures
| * | | | | | (#7507) Add exclude filter for ruby 1.9 spec failuresJosh Cooper2011-05-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Exclude spec test for multiple writer processes as this fails intermittently on ruby 1.9. Reviewed-by: Jacob Helwig <jacob@puppetlabs.com>
| | | | | | * Merge branch 'test/2.6.x/4123'Dominic Maraglia2011-05-242-51/+36
| | | | | | |\ | | | |_|_|_|/ | | |/| | | |
| | * | | | | (4123) Fix test for 4123/4 on old egrep in cent4Dominic Maraglia2011-05-242-51/+36
| | | |/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Older versions of egrep do not support the character class "\s". Changed: puppet resource service | egrep -B1 "ensure\s*=>.*'running" to: puppet resource service | egrep -B1 "ensure.*=>.*'running"
| | | | | * Merge branch 'tests/master/7117'Dominic Maraglia2011-05-241-2/+10
| | | | | |\
| | | | | | * add puppet master polling step for ticket 7117Dominic Maraglia2011-05-241-2/+10
| | | | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The test for ticket 7117 producedes spurious failures due to timing: a curl command is executed from an agent to a freshly started Puppet Master; if the Puppet Master is not ready to accept the connection the test will fail. Added an until loop that issues simple curl command to see if the Puppet Master is up and ready
| | | | | * Merge branch 'ticket/master/maint-ruby19_fix'Matt Robinson2011-05-242-4/+3
| | | | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ticket/master/maint-ruby19_fix: maint: Fix pacman provider to work with Ruby 1.9
| | | | | | * maint: Fix pacman provider to work with Ruby 1.9Matt Robinson2011-05-242-4/+3
| | | | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ruby 1.9 doesn't allow the lambda to walk up the directory structure to require the spec helper This is the same issue as with commit: f6da3339f59bbd9243a03dc1e417b1fed7955c7e Also, you can't call each on a string in Ruby 1.9 directly since it doesn't implicitly do a split on \n like it did in older Rubies, but each_line works all the way back to 1.8.5 Reviewed-by: Nick Lewis <nick@puppetlabs.com>
| | | | | * Merge branch '2.7.x'Matt Robinson2011-05-2310-20/+87
| | | | | |\ | |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 2.7.x: (#7502) Fixed parser spec for ruby 1.8.5 (#7507) Add more 1.9 filters (#6395) Add extpuppet help, eval, and interfaces maint: move trap call to Signal so we can stub it for specs Updated CHANGELOG for 2.7.0rc3 (#7259) Remove ActiveRecord requirement from indirector face spec (#7259) Do not try to load all Terminus classes when configuring the Indirector Adding a sleep state post starting master
* | | | | | Merge branch 'ticket/2.7.x/7507' into 2.7.xJosh Cooper2011-05-204-9/+9
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ticket/2.7.x/7507: (#7502) Fixed parser spec for ruby 1.8.5 (#7507) Add more 1.9 filters
| * | | | | (#7502) Fixed parser spec for ruby 1.8.5Josh Cooper2011-05-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The first method is not available on Enumerable in ruby 1.8.5, so when it is mixed into ASTArray, you can't call first. Reviewed-By: Matt Robinson <matt@puppetlabs.com>