summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | | | | | | (#6830) Fix UTF-8 encoding issue for Ruby 1.9Matt Robinson2011-04-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you're going to use special characters in a file and use Ruby 1.9 you need to specify the character encoding at the top of the file. Reviewed-by: Daniel Pittman <daniel@puppetlabs.com>
| | * | | | | | | (#6830) Fix string method sub call on a symbol for Ruby 1.9Matt Robinson2011-04-131-1/+1
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ruby 1.9 is less forgiving about treating symbols like strings. Reviewed-by: Daniel Pittman <daniel@puppetlabs.com>
| * | | | | | | Merge branch ↵Daniel Pittman2011-04-134-4/+48
| |\ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | | | | | | | | | | 'bug/next/7059-the-ca-location-option-does-not-work-for-inherited' into next
| | * | | | | | (#7059) handle inherited action binding scopeDaniel Pittman2011-04-133-3/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We implemented the naive version of inheritance in the faces, in which an action declared on a superclass remains bound to that even when accessed from a subclass. As a consequence our visibility of options on inherited classes is actually much more limited than it should be, and the actions we inherit would never see the options they should correctly have. To fix this we correct the binding bug and handle lookup correctly over inheritance in our code. Reviewed-By: Pieter van de Bruggen <pieter@puppetlabs.com>
| | * | | | | | maint: ensure we handle '-foo=' options correctly in faces.Daniel Pittman2011-04-131-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is legal, and defines an option with an argument for optparse; we want to make sure that we stay consistent with that in our code handling the same sort of inputs. This also adds a framework for later testing any other strange naming bits and bobs we find around option handling. Reviewed-By: Pieter van de Bruggen <pieter@puppetlabs.com>
| * | | | | | | Merge branch 'ticket/next/2150' into nextNick Lewis2011-04-131-1/+1
| |\ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | |
| | * | | | | | (#2150) Fix File const lookup when configuring routesNick Lewis2011-04-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some cases, this was incorrectly finding the new Puppet::Application::File application rather than the top-level File class. Reviewed-By: Jesse Wolfe
| * | | | | | | maint: install erb templates under lib/Daniel Pittman2011-04-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now use a handful of erb templates to generate help, so it matters that we install them into the right destination. This extends install.rb to reflect that change.
| * | | | | | | Merge branch 'bug/next/7056-use-face-rather-than-faces' into nextDaniel Pittman2011-04-13523-1014/+639
| |\ \ \ \ \ \ \
| | * | | | | | | maint: clean up the spec test headers in bulk.Daniel Pittman2011-04-13468-815/+452
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now use a shebang of: #!/usr/bin/env rspec This enables the direct execution of spec tests again, which was lost earlier during the transition to more directly using the rspec2 runtime environment.
| | * | | | | | | (#7056) Use 'face' rather than 'faces' in the production code.Daniel Pittman2011-04-1370-199/+187
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After some discussion we decided that most uses of the Puppet Face infrastructure were about single faces on their own, not about the collection, and so we were better referring to Puppet::Face[...] in code. This implements that by translating names and references in the Ruby code to the new, s-less, name.
| * | | | | | | maint: eliminate deprecated since 2008 code from Puppet.Daniel Pittman2011-04-121-8/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We had some code that had been deprecated back in '08, and is unused in our code. For this next release that is past due to be removed from the product entirely. Reviewed-By: Luke Kaines <lak@puppetlabs.com>
| * | | | | | | Merge branch 'ticket/next/6117' into nextNick Lewis2011-04-124-9/+70
| |\ \ \ \ \ \ \
| | * | | | | | | (#6117) Add POST support to indirector requestsNick Lewis2011-04-124-9/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | POST with a singular indirection is turned into a find in the indirector. When making a large find request from a REST terminus, POST is used, and for small requests, GET is used for backward compatibility. Paired-With: Jesse Wolfe
| * | | | | | | | Merge branch ↵Daniel Pittman2011-04-1228-116/+453
| |\ \ \ \ \ \ \ \ | | |/ / / / / / / | |/| | | | | | | | | | | | | | | | 'feature/next/6962-self-documenting-strings-actions-and-options' into next
| | * | | | | | | (#6962) Move option handling into #parse_options, not #preinit.Daniel Pittman2011-04-125-50/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Logically, the extra work around option parsing for faces belongs in the application parse_options method, not hidden in the step before. This commit moves that to the right place and fixes the fallout from that strange early design decision. Along the way we unify error reporting for invalid options so that all the code paths result in the same externally detected failures. Reviewed-By: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | maint: whitespace cleanup for puppet/util/command_line.Daniel Pittman2011-04-121-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This brings bracket spacing in line with our usual coding conventions. Reviewed-By: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | (#6962) delegate global usage to the help face.Daniel Pittman2011-04-123-26/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The global --help handler (also invoked when puppet is run without any other command line options at all) used to spit out a brief and generally not so helpful message. Now that we have a help face that can provide the same information in a much more user-friendly form, we should delegate the function to that when required. Reviewed-By: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | maint: avoid making temporary dirs during testing.Daniel Pittman2011-04-122-13/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to create temporary directories to have some support files on disk during testing of faces; we don't really need that most of the time, and this updates a test to reflect that reality. Reviewed-By: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | (#6962) Integrate legacy subcommands into the help face.Daniel Pittman2011-04-122-2/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we would only emit help for a face; now we fully integrate legacy subcommands in the sense that asking for face-level help will emit their entire help text. Asking for any action subsequent will raise an error: this is an annoyingly inconsistent behaviour, but there isn't a saner definition of the change. Reviewed-By: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | (#6962) Clean up testing further.Daniel Pittman2011-04-121-25/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This refactors common code in the tests out, and takes advantage of the implicit and explicit subject support in rspec2 to make the testing more expressive and more efficient. Paired-With: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | (#6962) Better argument checking for help.Daniel Pittman2011-04-122-10/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to blink and miss the fact that we failed to load an action or face in the past; now we test for that, and fail with a clear error message when the user asks for something we can't deliver. Additionally, fix a couple of tests that were silently broken because they passed the wrong arguments, but still got some output. Paired-With: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | (#6962) Report the template filename for help render errors.Daniel Pittman2011-04-121-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now set the filename attribute of the ERB instance, which results in any error messages showing up with the right attribution: to the file they are defined in, rather than just '(erb)'. Paired-With: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | (#6962) Move the logic for help layout into erb templates.Daniel Pittman2011-04-125-48/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than hard-coding the layout of help output in the code, push it out into external templates. At the moment overriding that would require changing the ERB code next to puppet/faces/help.rb file on disk. Paired-With: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | (#6962) Override 'render' in help to just return the string.Daniel Pittman2011-04-121-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default behaviour is to serialize the result somehow, defaulting to displayed, render should be a no-op. This means overriding the parent method. Paired-With: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | (#6962) Add summary help for actions on an individual face.Daniel Pittman2011-04-122-15/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now emit the summary of actions for an individual face, in the same format as the summary of available faces. This moves forward through the feature set defined for the help subcommand. Reviewed-By: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | (#6962) Implement 'summary' for actions.Daniel Pittman2011-04-123-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This extends the summary function down through the actions themselves, allowing us to display a useful summary to the user. Reviewed-By: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | (#6962) Extract summary from legacy applications for help.Daniel Pittman2011-04-122-6/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We use a dubious, but effective, regexp match on the existing man(1) style help string for the application to extract the summary data. This should properly be implemented as a summary method down in the applications themselves... Paired-With: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | (#6962) Initial support for legacy applications in help.Daniel Pittman2011-04-122-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now enumerate and print the list of legacy applications in the unadorned help action; this allows us a path to migrating forward smoothly while still providing a good user experience. Paired-With: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | (#6962) render prints the rval; fix help subcommand.Daniel Pittman2011-04-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The face application base uses render to transform the returned object to a form where #to_s produces the output intended for the end user; we were actually printing in the method instead, leading to an extraneous 'nil' at the end of the output... Paired-With: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | (#6770) Don't pollute valid face list when #face? is called.Daniel Pittman2011-04-122-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We had two conflicting uses of the list of available faces: in the #face? method we were perfectly happy to create a top level key on any request, but didn't populate the version set. Meanwhile, in #faces we treated the set of top level keys as the absolute and correct list of all *valid* faces, leading to pain and suffering when people queried for an invalid face, but then expected to enumerate only valid faces. Paired-With: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | (#6992) Expose available_subcommands as a class method.Daniel Pittman2011-04-122-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We previously treated the list of legacy commands as an instance property of Puppet::Util::CommandLine. This made it difficult to obtain that information outside the context of the instantiated application. In the longer term this should wither and die as we eliminate the legacy applications entirely, but until then exposing that on the class is the lightest mechanism for making that useful. Paired-With: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | (#6962) Implement Face#summary support for the help face.Daniel Pittman2011-04-124-2/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now use the summary information available in other faces as part of emitting a list our list of available subcommands. This is seldom used in faces, but enough emit the information to prove the concept. Reviewed-By: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | (#6962) Create the basic shape of the help face.Daniel Pittman2011-04-123-0/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements the basic help face, along with the start of the support structures; we include the basic application, and the default help action that just emits a listing of faces and other discovered stuff... Reviewed-By: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | (#6962) Implement 'summary' for faces.Daniel Pittman2011-04-123-5/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds the methods to the summary builder and runtime instance to support setting and getting a summary of the face. This is a short description used to summarize the purpose of the face in help output. For example, from the help face: "Displays help about puppet subcommands" Reviewed-By: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | (#6770) Improve test robustness against 'require'Daniel Pittman2011-04-121-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We hit another situation where we crudely flushed the internal set of faces, but require thought we had already loaded the file defining one. This fooled our autoloader and raised more annoying problems. Reviewed-By: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | maint: finish transition of application help to return strings.Daniel Pittman2011-04-121-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Jesse made a change, in e1191f33defcaffec5900c7122a89ca75d3a9673, to transition from printing and exiting in the help method up to returning the help data to the caller. This was part of eliminating rdoc usage from the display of help to the user. The cert application was missed, and still used the legacy "print and exit" model; this cleans that up so it matches the rest of the code. Paired-With: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | maint: direct people to the expected spec file...Daniel Pittman2011-04-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because the implementation is directly an alias to another file, the spec here is empty. Instead, direct people over to the spec file they should be looking in. Makes it easier for new developers at pretty much zero cast. Reviewed-By: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | maint: watchr should respect personal account-wide defaults.Daniel Pittman2011-04-121-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the rspec.opts file would override any other options configured for rspec and, by virtue of being on the command-line, would win against configuration files. Now, where a user configuration file exists in ~/.rspec we ignore the shipped set of options. This allows advanced users to customize without using the default (and relatively nasty) default rpsec UI. Reviewed-By: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | maint: added testing for Puppet::Faces#[]Daniel Pittman2011-04-121-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We didn't do much testing here, which was vaguely reasonable when we didn't distinguish it from the #define method. Now they are split out we need to be more careful about testing the right things. Reviewed-By: Matt Robinson <matt@puppetlabs.com>
| | * | | | | | | maint: fix indentation in the watchr script.Daniel Pittman2011-04-121-4/+4
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Whitespace changes, no functional changes. Reviewed-By: Matt Robinson <matt@puppetlabs.com>
| * | | | | | | Merge branch 'ticket/next/775' into nextNick Lewis2011-04-123-8/+12
| |\ \ \ \ \ \ \
| | * | | | | | | (#775) Don't require command when removing cron entriesNick Lewis2011-04-123-8/+12
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, if a cron entry had "ensure => absent" with no command specified and the crontab contained unmanaged entries, the entry would fail to be removed and every other cron entry in the catalog after it would be duplicated. Paired-With: Jesse Wolfe
| * | | | | | | Merge branch 'ticket/next/2150' into nextNick Lewis2011-04-125-6/+142
| |\| | | | | |
| | * | | | | | (#2150) Add routes file for indirectorNick Lewis2011-04-125-6/+142
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Puppet[:route_file] is a YAML file specifying the termini to use for various indirections, in the format: agent: catalog: terminus: rest cache: yaml master: catalog: terminus: compiler cache: active_record This file is optional, and will override application defaults set in "setup", as well as terminus settings, ie. facts_terminus. Paired-With: Jesse Wolfe
| * | | | | | Merge branch 'ticket/next/5027' into nextNick Lewis2011-04-1222-428/+194
| |\ \ \ \ \ \
| | * | | | | | (#5027) Use Puppet#warning for deprecation_wanring instead of Kernel#warnNick Lewis2011-04-122-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using warning, the deprecation warnings will appear in logs and in color. Paired-With: Jesse Wolfe
| | * | | | | | (#5027) Spell deprecation correctlyNick Lewis2011-04-123-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Paired-With: Jesse Wolfe
| | * | | | | | Fix for #5027 -- generate a deprication warning for dynamic lookupMarkus Roberts2011-04-122-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fix implements the same logic as Nick & Paul's patch in a different way. There aren't any tests yet and I'm still working out if I agree with the handling of some edge cases, so this should be considered premliminary.
| | * | | | | | Towards 5027 -- add options hash to lookupvar as with setvarMarkus Roberts2011-04-129-59/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds an options hash to lookupvar analogous to the one taken by setvar and uses it to pass in source location for error reporting. It also fixes the mechanism used by setvar (file was not being passed correctly), adds line and file information to errors in templates, and extends/corrects tests. As presently written it does not gather userful line numbers from inline templates and there are no tests for the template line number generation.