Issue #7211 has been updated by Matt Robinson.

Affected Puppet version changed from 2.7.0rc2 to 2.7.0rc3

I'm not entirely clear from the ticket description if the the text is the 
proposed output when an action doesn't exist, or if it is what the output was 
when the ticket was filed.  I assume the former, although I'm curious what the 
output was when the ticket was filed.  It's currently to silently do nothing if 
you pass an non-existant action to an existing face.  If you turn on some more 
detail you can see that it's silently swallowing the warning generated by the 
apply application:

    ╰─ [1]% puppet --trace --verbose --debug node foo                           
                                        │    else                               
                                                                             
    /Users/matthewrobinson/work/puppet/lib/puppet/application/apply.rb:165:in 
`main'                                    │      manifest = 
command_line.args.shift                                                         
                   
    /Users/matthewrobinson/work/puppet/lib/puppet/application/apply.rb:134:in 
`run_command'                             │      raise "Could not find file 
#{manifest}" unless File.exist?(manifest)                                       
   
    /Users/matthewrobinson/work/puppet/lib/puppet/application.rb:307:in `run'   
                                        │      Puppet.warning("Only one file 
can be applied per run.  Skipping #{command_line.args.join(', ')}") if command_l
    /Users/matthewrobinson/work/puppet/lib/puppet/application.rb:411:in `hook'  
                                        │ine.args.size > 0                      
                                                                             
    /Users/matthewrobinson/work/puppet/lib/puppet/application.rb:307:in `run'   
                                        │      Puppet[:manifest] = manifest     
                                                                             
    /Users/matthewrobinson/work/puppet/lib/puppet/application.rb:402:in 
`exit_on_fail'                                  │    end                        
                                                                                
     
    /Users/matthewrobinson/work/puppet/lib/puppet/application.rb:307:in `run'   
                                        │                                       
                                                                             
    /Users/matthewrobinson/work/puppet/lib/puppet/util/command_line.rb:62:in 
`execute'                                  │    # Collect our facts.            
                                                                                
    /Users/matthewrobinson/work/puppet/bin/puppet:4                             
                                        │    unless facts = 
Puppet::Node::Facts.indirection.find(Puppet[:certname])                         
                 
    Could not run: Could not find file node 

It used to be that the puppet command *was* the `puppet apply` command - this 
was when puppetmasterd was `puppet master` and puppetd was `puppet agent`.  As 
we've moved to having puppet be the root command and all the others be 
subcommands, like git, we've left the original fallback behavior of just 
`puppet` followed by an argument being `puppet apply`.  This makes options 
parsing a bit weird, and has led to the current behavior of unhelpful feedback. 
 

I talked briefly with Randall about the possibility of removing this behavior 
of implicitly falling back to puppet apply, but we'll need to discuss it to see 
if this fits in with the 2.7 release or if we should do deprecation warnings.  
If we're moving toward doing semantic versioning, we should definitely 
deprecate and then only remove once we increment the major version number 
(3.0.0), but we're not there yet, and it would certainly be less confusing 
behavior and code if we could get rid of it.

Randall said he'd talk to Nigel about how to proceed.
----------------------------------------
Bug #7211: Unhelpful help for common use cases
https://projects.puppetlabs.com/issues/7211

Author: Pieter van de Bruggen
Status: Accepted
Priority: Normal
Assignee: 
Category: Faces
Target version: 
Affected Puppet version: 2.7.0rc3
Keywords: 
Branch: 


    $ puppet node something_I_cannot_do
    Puppet::Face[:node, "0.0.1"] does not respond to action 
something_I_cannot_do
    Could not run: Unable to load action something_I_cannot_do from 
Puppet::Face[:node, "0.0.1"]

    $ puppet node something_I_cannot_do argument
    Puppet::Face[:node, "0.0.1"] does not respond to action 
something_I_cannot_do
    Could not run: help only takes two (optional) arguments, a face name, and 
an action

    $ puppet node something_I_cannot_do --option  
    Could not parse options: invalid option: --option

    $ puppet node something_I_cannot_do argument --option
    Could not parse options: invalid option: --option




-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to