summaryrefslogtreecommitdiffstats
path: root/lib/puppet
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | | (#6407) Fix spec test hang with Mocha >= 0.9.11 in zlib testingDaniel Pittman2011-02-221-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We had a combination of bad logic, and bad testing, and a nasty behaviour of Mocha <= 0.9.10 that would result in a false pass for one of our tests. This not only falsely passed, but hid an infinite loop retrying decompression on an invalid data stream; it could be triggered by anything that sent an HTTP request with an invalid compressed body, resulting in a livelock. Paired-with: Jesse Wolfe <jesse@puppetlabs.com> Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
* | | | | | | | (#5552) Display help when no subcommand is given.Daniel Pittman2011-02-221-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, when the command line was empty we would try and invoke an empty method; this was less helpful than telling people what they could actually do, so we adapt our code to do precisely that. Paired-With: Jesse Wolfe <jesse@puppetlabs.com> Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
* | | | | | | | (#5552) Clean up subcommand handling inside puppet cert.Daniel Pittman2011-02-221-11/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now have a regular, testable mechanism for handling the legacy '--' version of subcommands, as well as a modern bareword subcommand pattern. This makes it sensible to test command handling and avoid regressions. We identified a few quirks in the command line as part of this process. Pair-With: Jesse Wolfe <jesse@puppetlabs.com> Signed-off-by: Daniel Pittman <daniel@puppetlabs.com>
* | | | | | | | Merge branch '2.6.x' into 2.6.nextJacob Helwig2011-02-213-72/+104
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 2.6.x: Updated CHANGELOG for 2.6.5rc5 (#6337) Fix Ruby warning on 1.8.6 about "future compatibility" (#6353) Restore the ability to store paths in the filebucket (#6126) Puppet inspect now reports status after run completes.
| * | | | | | | (#6337) Fix Ruby warning on 1.8.6 about "future compatibility"Daniel Pittman2011-02-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ruby 1.8.6 (but not later versions) warn about requiring parenthesis on some function calls; having one of those in our network rights checking means that we emit ... quite a few of these, and annoy anything that tracks our logs. By using the more standard form of raise we can avoid the warning entirely, and keep consistent code style across the file. Reviewed-By: Paul Berry <paul@puppetlabs.com>
| * | | | | | | (#6353) Restore the ability to store paths in the filebucketPaul Berry2011-02-212-15/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 2274d5104f6e413a2b8899a3c3111a17bbb2f4d7 optimized network usage for the case where a file is already in the filebucket. However, it took away the ability to store paths. This change restores the ability to store paths while maintaining optimal network usage for the case where the file is already in the filebucket with the given path. This is expected to be the most common case. Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
| * | | | | | | (#6126) Puppet inspect now reports status after run completes.Daniel Pittman2011-02-181-57/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now emit timing and output a status message at the end of a successful inspect run. Paired-With: Nick Lewis <nick@puppetlabs.com> Signed-Off-By: Daniel Pittman <daniel@puppetlabs.com>
* | | | | | | | Merge branch 'tickets/2.6.x/6309-check-what-is-mounted' into 2.6.nextJacob Helwig2011-02-183-20/+52
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tickets/2.6.x/6309-check-what-is-mounted: Remove pending tests from parsed mount provider (#6309) Ensure the correct device is mounted when managing mounts Clean up whitespace, and commented out code in parsed mount provider
| * | | | | | | | (#6309) Ensure the correct device is mounted when managing mountsJacob Helwig2011-02-182-13/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the mount type would only check if anything was mounted at the desired point, when 'ensure => mounted' was specified. Now we check not only whether something is mounted at the desired point, but also that it is the thing we wish to be mounted there. There is also a chance that the mount point directory could be "automagically" removed for us, when unmounting incorrect devices, so we attempt to re-create the directory after unmounting to give the mount of the correct device a better chance at succeeding. Paired-with: Matt Robinson <matt@puppetlabs.com> Paired-with: Nick Lewis <nick@puppetlabs.com> Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
| * | | | | | | | Clean up whitespace, and commented out code in parsed mount providerJacob Helwig2011-02-181-7/+2
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
* | | | | | | | Merge branch 'tickets/2.6.x/6364-fix-mount-provider-on-aix' into 2.6.nextJacob Helwig2011-02-181-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tickets/2.6.x/6364-fix-mount-provider-on-aix: (#6364) Adjust mis-translated regex in mount provider for AIX
| * | | | | | | (#6364) Adjust mis-translated regex in mount provider for AIXJacob Helwig2011-02-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The commit to simplify the regex used to parse the output from the mount command on AIX (50c12e55b6f8462f6904ae061e661d1d10c7590a) mis-translated it. The original regex was grabbing the 3rd space-separated element, not the 2nd. This mis-translation caused the provider to grab the device information instead of the mount point, and compare that to the desired mount point. This would cause Puppet to think that the mount was never actually mounted under normal circumstances. The code from 50c12e5 was passing the tests because the fixture data did not include the mandatory leading whitespace that the original regex was looking for. The updated fixture data is pulled from the mount manpage from AIX v6r1. Reviewed-by: Paul Berry <paul@puppetlabs.com>
* | | | | | | | (#6376) Add support and testing for _search GET requestsMax Martin2011-02-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added support for adding "_search" to the end of any indirection to 'pluralize' it, and added tests to check this functionality and to test hidden side effect of plurality method unpluralizing indirections. Paired-With:Paul Berry <paul@puppetlabs.com>
* | | | | | | | (#6337) Fix Ruby warning on 1.8.6 about "future compatibility"Daniel Pittman2011-02-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ruby 1.8.6 (but not later versions) warn about requiring parenthesis on some function calls; having one of those in our network rights checking means that we emit ... quite a few of these, and annoy anything that tracks our logs. By using the more standard form of raise we can avoid the warning entirely, and keep consistent code style across the file. Reviewed-By: Paul Berry <paul@puppetlabs.com>
* | | | | | | | (#5150) Make fact REST terminus configurable to connect to inventory serviceMatt Robinson2011-02-172-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Puppet masters can now set the inventory_server and inventory_port option to point to another puppet master that will function as the central inventory service. When agents connect to the puppet master, this will send fact data from the puppet master over REST to the inventory service. The puppet master itself will still store the client fact data in the local yaml dir by setting the cache class to yaml. Getting puppet masters to talk to each other using certs is difficult. Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
* | | | | | | | (#5166) Inventory service is now searchable by timestamp.Paul Berry2011-02-171-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is now possible to specify queries in the form “meta.timestamp.xx” where xx is eq,ne,gt,lt,ge,le when searching the inventory service.
* | | | | | | | Maint: backport timestamp accessor for facts from 2.7 branchPaul Berry2011-02-171-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
* | | | | | | | Refactor Puppet::Node::Inventory::Yaml in preparation for adding freshnessPaul Berry2011-02-171-17/+29
| | | | | | | |
* | | | | | | | (#5132) Provide a query REST interface for inventoryPaul Berry2011-02-177-3/+59
| |_|_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This REST interface returns a list of nodes that match a fact query. Fact queries can use (in)equality testing as a string comparison, and >, <, >=, <= numerical comparisons. Multiple tests can be done as AND comparisons, not OR. The fact queries need to be prefixed by facts, and the comparisons other than equality are specified with a .comparison_type after the fact name. This will be better explained in the REST documentation on the website. Searches that don't match anything now return empty array instead of a 404 error. Conflicts: spec/spec_helper.rb
* | | | | | | (#5935) Allow functions to accept negated valuesNick Lewis2011-02-172-962/+980
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | function(-1) was failing because the grammar wasn't allowing negated values in function calls. This fix makes the negation of any value which was previously legal as a function argument also now legal as a function argument. Paired-With: Max Martin Paired-With: Markus Roberts
* | | | | | | (#6346) Move the trap calls onto Signal so they're easier to stubMatt Robinson2011-02-168-10/+10
| |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Once you stub signal traps in tests, you can hit ctrl+c in the middle of a spec run and it will stop the run instead of puppet catching the SIGINT. I had trouble easily tracking down all the places to stub traps when the trap was being called as a private method on applications and daemons, but calling trap on Signal is equivalent since Kernel calls Signal.trap and Object mixes in Kernel to provide trap as a private method on all objects. A bigger solution would be to refactor everywhere we call trap into a method that's called consistently since right now we sprinkle SIGINT and SIGTERM trap handling over applications and daemons in inconsistent ways, returning different error codes and using different messages. I've captured this info in ticket #6345. Reviewed-by: Jacob Helwig <jacob@puppetlabs.com>
* | | | | | Merge branch '2.6.x' into 2.6.nextJacob Helwig2011-02-142-6/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 2.6.x: Updated CHANGELOG for 2.6.5rc4 (#3646) Fix the documentation fix for `puppet apply --apply`
| * | | | | (#3646) Fix the documentation fix for `puppet apply --apply`Jacob Helwig2011-02-142-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | --apply is actually off of `puppet apply`, not off of `puppet agent` (nor `puppet master`), so move the documentation accordingly. Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
* | | | | | Merge branch '2.6.x' into 2.6.nextJacob Helwig2011-02-142-8/+9
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 2.6.x: Updated CHANGELOG for 2.6.5rc3 Updated fix for #3646 - apply / compile documentation
| * | | | | Updated fix for #3646 - apply / compile documentationJames Turnbull2011-02-142-8/+9
| | | | | |
* | | | | | (Fixes #6269) merge changes from masterzen that resolve the issue.Daniel Pittman2011-02-122-393/+401
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | parser.rb manually rebuilt to resolve global grammer chances.
| * | | | | | Fix #6269 - Hashes only work with two levels of accessBrice Figureau2011-02-122-800/+793
| | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following manifest was failing: $hash = { 'a' => { 'b' => { 'c' => 'it works' } } } $out = $hash['a']['b']['c'] because of a typo in the grammar. Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* | | | | | (#5516) Rebuild parser.rb after merge.Daniel Pittman2011-02-121-1541/+1630
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The automatically generated parser.rb needed to be rebuilt to make the syntax changes functional; this commits only that rebuild.
* | | | | | Merge branch 'masterzen/tickets/2.6.x/5516' into ↵Daniel Pittman2011-02-122-426/+416
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | bug/2.6.next/5516-hashes-can't-be-used-in-selectors
| * | | | | | Fix #5516 - Hashes can't be used in selectorsBrice Figureau2011-02-122-426/+416
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following manifest was producing a parse error: $int = { 'eth0' => 'bla' } $foo = $int['eth0'] ? { 'bla' => 'foo', default => 'bleh' } because selectors didn't support hash access. Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* | | | | | Merge branch 'masterzen/tickets/2.6/5720' into ↵Daniel Pittman2011-02-124-8/+13
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | bug/2.6.next/5720-puppetdoc-fails-on-parameterized-class
| * | | | | | Fix #5720 - puppetdoc misses some class commentsBrice Figureau2011-02-112-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It appears that the fix for #5252 wasn't complete, and class, nodes and definition were still using the current lexer line number instead of the line number of the class/define/node token. This combined with some missing comments stack pushing/pop on parenthesis prevented puppetdoc to correctly get the documentation of some class (including parametrized ones). Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
| * | | | | | Fix #6281 - Make sure puppetdoc analyzes all filesBrice Figureau2011-02-111-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It can happen that when parsing a file puppet parses other manifests if they get imported (this is at least true for site.pp, even in ignoreimport=true). Thus those files are now "watched". But puppetdoc needs to analyze all files, and since 99c101 we are now checking if the file was already parsed to not reparse it again. If that was the case, though, we weren't analyzing the produced code. Thus it was possible to not produce documentation for the site.pp content. Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
| * | | | | | Fix #6280 - puppetdoc crashing on string interpolationBrice Figureau2011-02-112-3/+3
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following manifest was crashing puppetdoc: class test { include "test::$operatingsystem" } Because the quoted string is "rendered" as a concat AST, which in turn ended being an array when entering RDoc. Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* | | | | | (#6270) Fix formatting in split function's doc stringnfagerlund2011-02-091-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Repaired a 2-indent/4-indent issue that kept a code block from being recognized * Wrapped literal strings in backticks to format as code and protect from Markdown * Added note about backslashes for escaping metacharacters.
* | | | | | (#6270) Fix formatting in regsubst function's doc stringnfagerlund2011-02-091-14/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fixed ULs being interpreted as code blocks * Changed an example for variety. * Turned set of paragraphs inside a LI into a nested list.
* | | | | | (6130) Change header level on metaparameter referencenfagerlund2011-02-081-1/+1
| |/ / / / |/| | | | | | | | | | | | | | Individual metaparameters under the main H2 on the page should be H3s, not H4s.
* | | | | Merge remote branch 'dan/ticket/2.6.4/5977' into 2.6.nextJesse Wolfe2011-02-081-2/+6
|\ \ \ \ \
| * | | | | (5977) Puppet::Applications can be loaded from multiple paths.Dan Bode2011-01-141-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - previously, Puppet would search $LOAD_PATH and just load applications in the first $LOAD_PATH to have the directory puppet/application. Now multiple paths can contain applications.
* | | | | | (#6257) Speed up PUT and POST requests under rackJesse Wolfe2011-02-081-3/+1
| |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch significantly speeds up reading the body of HTTP requests from Rack. Reviewed-by: Markus Roberts <markus@puppetlabs.com>
* | | | | Merge branch 'bug/2.6.next/5755-gc-issue' into 2.6.nextPaul Berry2011-02-031-0/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | * bug/2.6.next/5755-gc-issue: Fix for #5755 -- making zaml serialization robust over projected objects
| * | | | | Fix for #5755 -- making zaml serialization robust over projected objectsMarkus Roberts2011-02-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The core problem arose when the fix for #5048 in 31118fe85aca4 introduced a hook to replace objects dynamically durring serialization so that they could be projected / rewritten to a different form for backward compatability. The serialization code assumed that all objects being serialized would remain valid until the serialization was complete, but nothing retained a copy of the temporary objects created in the hook. To resolve this, the serialization layer now maintains a ref to each such object and clears them (to allow GC) after serialization is complete. Paired-with: Jesse Wolfe <jesse@puppetlabs.com> Paired-with: Paul Berry <paul@puppetlabs.com>
* | | | | | Merge branch 'docs/2.6.next/inspect-help' into 2.6.nextJesse Wolfe2011-02-031-0/+53
|\ \ \ \ \ \
| * | | | | | (#6018) Nick F's --help text for puppet inspect.Jesse Wolfe2011-02-031-0/+53
| | | | | | |
* | | | | | | (#5823) document the not-an-API status of set_run_modeDaniel Pittman2011-02-031-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since this is totally not API, document that in big, threatening letters so that folks actually know what is going on. Include promises so they don't feel too unhappy with us. Paired-with: matt@puppetlabs.com
* | | | | | | Merge branch 'bug/2.6.next/5823-allow-run-mode-to-cut-your-hand-off' into ↵Daniel Pittman2011-02-031-3/+6
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 2.6.next
| * | | | | | | (#5823) run mode can now be set dynamically...Daniel Pittman2011-02-031-3/+6
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Third party scripts, and complex command line tools, depend on being able to configure the run_mode value at runtime, not just when they fire up. For better or worse we used to allow this sort of thing to work, but stopped, and we have no sane, safe and consensual alternative, so we broke a bunch of client code. This enables the feature again, but does not add any safety catch; you can now happily slice off your own feet with this, if you really want to.
* / / / / / / (6114) Update the audit metaparameter for 2.6.5.nfagerlund2011-02-031-6/+19
|/ / / / / / | | | | | | | | | | | | | | | | | | The audit metaparameter has some new behavior, its old behavior has changed, and the previous description was incomplete at any rate. This patch replaces its description string.
* / / / / / (#4139) hook log autoflush into global defaultsDaniel Pittman2011-02-033-1/+13
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We previously had an ordering dependency in the autoflush option, which was statically read from defaults when the log destination was configured. We add a hook in the defaults to update the log subsystem, which in turn updates log destinations, when autoflush is changed. This would work as desired: puppet agent --autoflush --logdest=file This would not work, as autoflush would be false: puppet agent --logdest=file --autoflush Now those changes propagate correctly. Paired-with: matt@puppetlabs.com
* | | | | Merge branch '2.6.next' of git://github.com/puppetlabs/puppet into 2.6.nextMarkus Roberts2011-02-0112-35/+43
|\ \ \ \ \