summaryrefslogtreecommitdiffstats
path: root/lib/puppet
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | | | | | (#7291) Fix Ruby 1.9 face failuresMatt Robinson2011-05-161-1/+1
| |_|_|_|_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The certificate face wasn't being loaded, but it wasn't clear from the test failure why: lib/puppet/interface.rb:61:in `[]': Could not find Puppet Face :certificate (Puppet::Error) The problem is that when the certificate face is required you get: SyntaxError Exception: /Users/matthewrobinson/work/puppet/lib/puppet/face/certificate.rb:11: invalid multibyte char (US-ASCII) However this error is caught and logged, but then ignored. This behavior was a decision in #7314 and is currently under review. A space character in the description was ASCII 160 instead of the typical ASCII 32 Reviewed-by: Pieter van de Bruggen <pieter@puppetlabs.com>
* | | | | | | | | | (#7264) Docs: Clarify that subscribe/notify imply require/beforenfagerlund2011-05-121-40/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a doc string only commit. The metaparameter reference was not clear about subscribe and notify being supersets of require and before, respectively. This commit also cleans up some unrelated quoting, arrow-alignment, and language flow issues.
* | | | | | | | | | Prevent spec failure caused by network device mock leakBrice Figureau2011-05-071-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were leaking some mocks in the network device singleton from tests to tests. Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* | | | | | | | | | Fix #7299 - do not require net/ssh for running rake specBrice Figureau2011-05-071-1/+3
| |_|_|_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a different fix than the one proposed by Stefan Schulte, based on Luke comments. Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>
* | | | | | | | | (#7353) Remove :for_humans format entirely.Daniel Pittman2011-05-053-39/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we never shipped this in a real release, we don't need to maintain compatibility. So, remove it entirely from the codebase. Reviewed-By: Max Martin <max@puppetlabs.com>
* | | | | | | | | Merge remote-tracking branch 'nfagerlund/ticket/2.7.x/6962' into 2.7.xDaniel Pittman2011-05-0520-37/+438
|\ \ \ \ \ \ \ \ \
| * | | | | | | | | (Maint) Adjust documentation whitespacenfagerlund2011-05-0418-223/+225
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch from issue #7221 permits indented heredocs. This patch takes advantage of that to make the doc strings less messy.
| * | | | | | | | | (#7303) Remove reference to not-yet-extant man actionnfagerlund2011-05-041-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We haven't implemented the `man` action yet, so let's not mention it until we have.
| * | | | | | | | | (#6962) Add self-documentation data to puppet facesnfagerlund2011-05-0418-27/+389
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds documentation strings to most of the faces, actions, and options introduced in 2.7.0. There are a small number of TK notes remaining, and longer strings have not been indented to take advantage of the patch from issue #7221.
| * | | | | | | | | Maint: adjust faces.rb's help to match that of other applicationsnfagerlund2011-05-041-6/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Faces isn't a face, interestingly, so it doesn't get a summary line in the puppet help. This will output the appropriately-formatted manpage text using the normal mechanism.
* | | | | | | | | | Merge branch 'tickets/2.7.x/7179' into 2.7.xPieter van de Bruggen2011-05-041-0/+1
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | |
| * | | | | | | | | (#7179) Modify default ACL for /node/<name>.Pieter van de Bruggen2011-05-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By default, it is useful to permit an individual node to query information about itself, and there is no good reason to reject this by default. Paired-With: Nick Lewis
* | | | | | | | | | (#7304) Remove full puppet help output when subcommand cannot be foundNigel Kersten2011-05-041-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to make the error message more visible to the user, we tell them about the puppet help command but don't automatically run it, so the error doesn't scroll off the screen. Reviewed-By: Daniel Pittman <daniel@puppetlabs.com>
* | | | | | | | | | (#7353) Note the :for_humans compatibility issue.Daniel Pittman2011-05-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Where we need special support for :for_humans as an alias for :console, call it out in comments. This makes it clear to someone who wonders why what the actual underlying purpose of the whole thing is. Reviewed-By: Jacob Helwig <jacob@puppetlabs.com>
* | | | | | | | | | (#7353) Use :console rendering format in our own code.Daniel Pittman2011-05-042-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we have unified things, stop using the compatibility name in favour of the new :console name for the output format. No functional effect beyond avoiding a deprecated output mode. Reviewed-By: Jacob Helwig <jacob@puppetlabs.com>
* | | | | | | | | | (#7353) Unify rendering in the face_bace application.Daniel Pittman2011-05-041-44/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now move over to using only network FormatHandler rendering code for output, ditching all the support we had in the application. We include a compatibility shim to ensure that the :for_humans format that was supported for a while is now an alias for the :console format we are using moving forward. Reviewed-By: Jacob Helwig <jacob@puppetlabs.com>
* | | | | | | | | | (#7353) Add 'console' format to FormatHandlerDaniel Pittman2011-05-041-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a console rendering format to the Network FormatHandler subsystem; it provides the same human-friendly textual rendering as the Faces application did, except it uses JSON rather than PP as the fall-back rendering mode. This paves the path for unification of all formatting into the same subsystem, rather than the half-measures we used to have. Reviewed-By: Jacob Helwig <jacob@puppetlabs.com>
* | | | | | | | | | Merge branch ↵Daniel Pittman2011-05-033-14/+22
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'bug/2.7.x/7277-improve-secret-agent-face-and-supporting-actions' into 2.7.x
| * | | | | | | | | | (#7277)Fixing all secret-agent functions, and the agent itselfLuke Kanies2011-05-033-14/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This cleans up the behaviours and ensures that we have parity between the basic actions of the agent and the secret_agent. Reviewed-By: Daniel Pittman <daniel@puppetlabs.com> Signed-off-by: Luke Kanies <luke@puppetlabs.com>
* | | | | | | | | | | Merge branch 'ticket/2.7.x/7139' into 2.7.xNick Lewis2011-05-031-1/+1
|\ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / |/| | | | | | | | | |
| * | | | | | | | | | (#7139) Accept '/' as a valid path in filesetsNick Lewis2011-05-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was unconditionally removing the trailing file separator ('/'), which is only valid when the file separator isn't the entire path. This fixes 'puppet resource file <path>'. Paired-With: Jacob Helwig
* | | | | | | | | | | (#7329) Consistent naming for rendering formats and hooks.Daniel Pittman2011-05-031-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We refer to rendering formats pretty consistently as `json`, `yaml`, `s`, and so forth; unqualified names. On the other hand, we refer to the rendering hooks *mostly* as `to_*`, except the `:for_humans` and `:json` formats. Which is kind of confusing because of the internal inconsistency, and because it doesn't match the public name. Fix the code to resolve both, so the `to_*` format still works, but we mostly expect to use the `*` version, to match public expectation.
* | | | | | | | | | | Merge branch 'bug/2.7.x/7326-faces-broken-on-ruby-1.8.5' into 2.7.xDaniel Pittman2011-05-031-1/+4
|\ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / |/| | | | | | | | | |
| * | | | | | | | | | (#7326) Fix faces on Ruby 1.8.5Daniel Pittman2011-05-031-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Turns out that String#each_line on Ruby 1.8.5 only takes a block, and will not return an enumerable. Rewrite to use split(/\n/) which has the same effect but works on all our platforms.
* | | | | | | | | | | (#7117) Return the environment as a Puppet::Node::Environment in uri2indirectionJacob Helwig2011-05-031-1/+1
|/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The environment returned by uri2indirection used to be a Puppet::Node::Environment. When this changed to simply being the string of the environment name, this broke assumptions made in other areas of the code. Paired-with: Nick Lewis <nick@puppetlabs.com>
* | | | | | | | | | (#7276) Better reporting from the plugin download action.Daniel Pittman2011-05-031-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of just returning vague values, return useful information when rendering for a human being. Based on work by Luke Kaines <luke@puppetlabs.com> in https://github.com/lak/puppet/commit/a61cc770ca9b2cad744b5b21b9776a834d6ca895 Reviewed-By: Pieter van de Bruggen <pieter@puppetlabs.com>
* | | | | | | | | | (#7276) Create a plugin face application.Daniel Pittman2011-05-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need a boilerplate application file and class to expose a face on the command line; this adds that for the plugin face, to expose it to users. Based on work by Luke Kaines <luke@puppetlabs.com> in https://github.com/lak/puppet/commit/a61cc770ca9b2cad744b5b21b9776a834d6ca895 Reviewed-By: Pieter van de Bruggen <pieter@puppetlabs.com>
* | | | | | | | | | (#6962) Added 'returns' block to action documentation.Daniel Pittman2011-05-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want to be able to document the data returned from an action, since this is one of the most critical parts of the API for Ruby developers. This adds a multiline documentation block that captures that. Reviewed-By: Pieter van de Bruggen <pieter@puppetlabs.com>
* | | | | | | | | | maint: remove emacs 'coding' cookie from files.Daniel Pittman2011-05-032-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is unnecessary, and only turned up because Matz &c. impose their taste on the rest of the world through the Emacs Ruby mode. Since people are starting to clone that, and it doesn't add value, eliminate it everywhere. Reviewed-By: Pieter van de Bruggen <pieter@puppetlabs.com>
* | | | | | | | | | (#7278) Improve utility of the Catalog select actionLuke Kanies2011-05-031-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This extends the catalog select action to be able to return more than a single type, as well as supporting both programmatic and human focused rendering of the return value. Reviewed-By: Daniel Pittman <daniel@puppetlabs.com>
* | | | | | | | | | (#7279) Adding some basic file actionsLuke Kanies2011-05-032-0/+48
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the ability to download a file into the local filebucket using a puppet URI or from disk. Also, the ability to store into the filebucket. These provide at least basic UI for moving data around using the filebucket service, and act as an example of how further work can be done. Also, update the code to eliminate a couple of redundant checks on arguments, and add some basic testing around the actions. Mostly only that they exist, at this point. Reviewed-By: Daniel Pittman <daniel@puppetlabs.com>
* | | | | | | | | Merge branch 'bug/2.7.x/7314-backtrace-when-face-has-syntax-error' into 2.7.xDaniel Pittman2011-05-0214-39/+33
|\ \ \ \ \ \ \ \ \
| * | | | | | | | | (#7314) Faces fail horribly when one has a syntax error.Daniel Pittman2011-05-021-13/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we hit a syntax error in any face, a whole bunch of unrelated face things would blow up in horrible ways. Stack traces for all... Now, instead, we catch that fault but specifically only in the face file and report it through our error logs, then quietly ignore the face. Reviewed-By: Nick Lewis <nick@puppetlabs.com>
| * | | | | | | | | maint: move the indirector face base out of puppet/faceDaniel Pittman2011-05-0213-26/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to shove the base class Puppet::Face::Indirector next to the actual faces; this made a bunch of things, including testing, confusing. Instead, move it away into the indirector where it lives with the rest of the indirector related things. Reviewed-By: Nick Lewis <nick@puppetlabs.com>
* | | | | | | | | | Merge branch 'bug/2.7.x/7315-puppet-status-can't-render-as-json' into 2.7.xDaniel Pittman2011-05-021-1/+1
|\ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | (#7315) Fix `to_pson` method to render correctly.Daniel Pittman2011-05-021-1/+1
| |/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Puppet::Status had an outdated implementation of the `to_pson` hook, so would fail to render when asked. Changes to the faces system exposed this, resulting in a backtrace if the user wanted JSON output on the CLI. Reviewed-By: Nick Lewis <nick@puppetlabs.com>
* | | | | | | | | | (#7304) Improve help from `puppet foo`Daniel Pittman2011-05-022-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This addresses two of the four points: we now quote the subcommand name, and emit 'Usage: ' before the usage information on the puppet command line. Reviewed-By: Nick Lewis <nick@puppetlabs.com>
* | | | | | | | | | (#7317) better error handling in CLI face facade.Daniel Pittman2011-05-021-53/+46
|/ / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The error handling code in the face CLI facade was pretty terrible: it make a bunch of assumptions about the structure of the error message it got back, and used exceptions to communicate inside the same function. Instead, we handle errors uniformly without raising and catching in the same method, report more nicely, and exit cleanly in all cases. Reviewed-By: Nick Lewis <nick@puppetlabs.com>
* | | | | | | | / (#7282) action without `when_invoked` should fail...Daniel Pittman2011-05-022-1/+5
| |_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to let actions be declared without the `when_invoked` block, which was usually a sign of either someone writing their method code direct in action declaration, or someone forgetting to add their code at all. This was just let silently by: the error only showed up when you finally tried to invoke the action, and a NoMethod error was raised by the face. ...except for our own testing. We took advantage of this a whole pile of times in there; fixing the original UI issue means fixing all those too. Reviewed-By: Nick Lewis <nick@puppetlabs.com>
* | | | | | | | Merge branch 'bug/2.7.x/7221-whitespace-stripping-for-documentation' into 2.7.xDaniel Pittman2011-04-291-41/+63
|\ \ \ \ \ \ \ \
| * | | | | | | | (#7221) Strip bad whitespace from face and action docs.Daniel Pittman2011-04-291-41/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now strip whitespace in face (and related) documentation in two places: We strip any trailing whitespace on each line, just because. We strip any leading indent, but not all leading whitespace, from the text. That is, we strip the *minimum* amount of whitespace that we can take from every line in the documentation without changing the overall content. Reviewed-By: Pieter van de Bruggen <pieter@puppetlabs.com>
* | | | | | | | | Merge branch 'tickets/2.7.x/7289' into 2.7.xPieter van de Bruggen2011-04-293-14/+31
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | |
| * | | | | | | | (#7289) Specify order for option decorations.Pieter van de Bruggen2011-04-293-14/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `before_action` decorations should always resolve in resolution order from most general (inherited from furthest away) to most specific (declared on the instance), and should always execute Face-level option decorations before action-level option decorations. `after_action` decorations should execute in the opposite order. Reviewed-By: Daniel Pittman
* | | | | | | | | (#7248) Fail if two aliases of one option are passed...Daniel Pittman2011-04-291-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From the command line, and other facades, it is fairly difficult to call an action with two aliases of the same option in the invocation, but from the Ruby API it would be relatively easy to achieve. This is now checked, and raises an error, so that we don't accidentally have strange or unusual behaviour coming out of the whole system. Reviewed-By: Pieter van de Bruggen <pieter@puppetlabs.com>
* | | | | | | | | Revert "maint: better error reporting for argument count mismatch."Daniel Pittman2011-04-281-39/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit cd474b0aff0e0fec33295c8abc0668af90fb7cc1.
* | | | | | | | | maint: better error reporting for argument count mismatch.Daniel Pittman2011-04-281-47/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Another face quirk in error reporting highlights a better way to work the error message; do so.
* | | | | | | | | (#7122) Enforce call arity on actions in the CLI wrapper.Daniel Pittman2011-04-283-10/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We had a problem, previously, in the generic translation of command line arguments to Ruby method calls: we could mistake the options, added by the CLI wrapper, for a positional argument to the action method. This was caused by a combination of factors, but primarily that the wrapper methods for actions are designed to present a friendly, helpful Ruby API for internal use. Consequently, they have a default value if you don't wish to pass options. Unfortunately, this meant that the options that the CLI *always* passed could be treated as a positional argument instead, and the default set of options added to the back of the call. To resolve this we now check the number of positional arguments in the CLI wrapper, and raise an exception if they are mismatched. This makes the generic CLI handling do the right thing in adapting the command line arguments to the Ruby API. (As an aside, we would have had a similar-but-different failure mode if we type-checked positional arguments: these calls would have failed with an invalid argument validation error.) Reviewed-By: Max Martin <max@puppetlabs.com>
* | | | | | | | | (#7269) Fix error reporting for bad render formats...Daniel Pittman2011-04-281-24/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous change was incomplete, and could result in internal errors with the wrong combination of inputs. Now we have more testing, and a logically consistent model, so all works. Reviewed-By: Max Martin <max@puppetlabs.com>
* | | | | | | | | (#7269) Better error reporting for bad render formats.Daniel Pittman2011-04-281-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we would try and send `nil` to a class to render an unsupported format, which was bad. Worse, we would only discover this *after* the fact, when we tried to render, so the entire action had run and the result was lost to the world. Instead, validate the parameter early and fail during option parsing. This has less nice error reporting than we can get handling it later[1], but it gets us a much better overall set of behaviour. [1] puppet/application.rb will print and exit, rather than raising, when the option handler fails; this will improve when we unify face and application options properly. Reviewed-By: Max Martin <max@puppetlabs.com>
* | | | | | | | | (#7160) Support 'json' as a rendering method for CLI faces.Daniel Pittman2011-04-281-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We already had some specialized support for rendering JSON using the PSON libraries; this just extends that to recognize the request on the command line for json to be identical to a request for pson. Theoretically we should also support the format in our network rendering code, but that is a much bigger change, in established code, that has more chance of destabilizing the whole release. Reviewed-By: Max Martin <max@puppetlabs.com>