Issue #14440 has been updated by Chris Price.

The problem here is that Puppet::Util::Instrumentation.init() doesn't get 
called for the code path that the rake task is executing.

The *real* problem is that we don't have an API, and the rake task is trying to 
use faces as an API even though we haven't really defined the allowable entry 
points and initialization steps.

I am investigating to find the least evil spot(s) to call this initialization.
----------------------------------------
Bug #14440: Can't get help or man text for instrumentation_* faces via the API
https://projects.puppetlabs.com/issues/14440#change-62596

Author: Nick Fagerlund
Status: Accepted
Priority: Normal
Assignee: Chris Price
Category: 
Target version: 
Affected Puppet version: 
Keywords: 
Branch: 


    $ irb
    >> require 'puppet/face'
    => true
    >> manface=Puppet::Face[:man, '0.0.1']
    >> helpface=Puppet::Face[:help, '0.0.1']
    
    >> manface.man("facts")
    (whole man page for facts face)
    
    >> manface.man("instrumentation_data")
    RuntimeError: Could not find terminus for instrumentation_data
        from /Users/nick/src/puppet/lib/puppet/indirector/face.rb:125:in 
`indirection'
        from /Users/nick/src/puppet/lib/puppet/face/help/man.erb:123:in `man 
implementation, required on Ruby 1.8'
        from /Users/nick/src/puppet/lib/puppet/face/man.rb:54:in `man 
implementation, required on Ruby 1.8'
        from 
/Users/nick/src/puppet/lib/puppet/interface/action.rb+eval[wrapper]:207:in 
`__send__'
        from 
/Users/nick/src/puppet/lib/puppet/interface/action.rb+eval[wrapper]:207:in `man'
        from (irb):5
    
    >> helpface.help("instrumentation_data")
    RuntimeError: Could not find terminus for instrumentation_data
        from /Users/nick/src/puppet/lib/puppet/indirector/face.rb:125:in 
`indirection'
        from /Users/nick/src/puppet/lib/puppet/face/help/face.erb:76:in `help 
implementation, required on Ruby 1.8'
        from /Users/nick/src/puppet/lib/puppet/face/help.rb:92:in `help 
implementation, required on Ruby 1.8'
        from 
/Users/nick/src/puppet/lib/puppet/interface/action.rb+eval[wrapper]:207:in 
`__send__'
        from 
/Users/nick/src/puppet/lib/puppet/interface/action.rb+eval[wrapper]:207:in 
`help'
        from (irb):7

Note that getting man text from the command line works fine; it's just from the 
API, and it's just for the `instrumentation_data, instrumentation_probe,` and 
`instrumentation_listener` faces. 


-- 
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