We''re starting to integrate mcollective into our puppet usage here at work, and we''ve discovered a (heretofore unknown) need for more logging "levels". Using the puppetd mcollective agent, we would like to kick off single puppet runs. What we''re hoping for is that we could take the output from puppet, and return the results to the person running mc-puppetd. That''s possible now, but the results are pretty ugly (even when using --color=false, to take out most of the odd control-characters). In a perfect world, we could have three possible "verbosity" levels: 1) Only show errors (failures to compile the catalog, "fails", etc) 2) #1 + all changes (Anything "notice", in a normal --test run), but without the diffs that you would normally get or anything "info" level. 3) The full output (What you get with --verbose now) including info (loading custom facts, diffs to changed files, etc). Does this sound reasonable? Is it currently possible (and if so, pointers are welcome!)? If I could make my trained developer monkey do the actual work, would patches implementing this be accepted? Have a great day! David
On Feb 15, 1:27 pm, David Bishop <tean...@gmail.com> wrote:> Does this sound reasonable? Is it currently possible (and if so, > pointers are welcome!)? If I could make my trained developer monkey do > the actual work, would patches implementing this be accepted?You may also be interested in the --summarize option if you''re catching stdout. As far as I know transaction reports are only serialized and sent to the server[1]. The server is what actually processes the ''reports'' config parameter. I''d really like alternate agent report methods as well. I think you''d be well served by outputting structured ''report'' data from the agent. Emitting something like @metrics.to_json and then catching it with ''reply[:output] = JSON.parse(%x[#{@puppetd} --onetime -- reports=json,rest])'' would be swell. [1] lib/puppet/application/agent.rb: Puppet::Transaction::Report.terminus_class = :rest -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
On Feb 15, 1:27 pm, David Bishop <tean...@gmail.com> wrote:> In a perfect world, we could have three possible "verbosity" levels: > > 1) Only show errors (failures to compile the catalog, "fails", etc) > > 2) #1 + all changes (Anything "notice", in a normal --test run), but > without the diffs that you would normally get or anything "info" level. > > 3) The full output (What you get with --verbose now) including info > (loading custom facts, diffs to changed files, etc). >David, I got a bit sidetracked there. Puppet logs with the standard syslog levels internally[2]. The ''agent'' application only accepts switches for the ''debug'' and ''info'' levels currently[3]. I suspect that most of the internal actions are debug/info/warn/err, so there''s probably not enough variance. Currently you''re looking at all this through the :console log destination[4]. A new destination that outputs structured data may do what you want too. Then you could call -- logdest json and parse that back on the mc agent. Sending a copy of the ''report'' metrics back to the mc client is probably the best way to get what you want. Then your clients can filter what they care about. For that you;d need a new terminus besides ''rest''. If there''s not an open RFE for this I''d open one. Looks like #4712 [5] may be related. [2] lib/puppet/util/log.rb [3] lib/puppet/application/agent.rb#setup_logs [4] lib/puppet/util/log/destinations.rb [5] http://projects.puppetlabs.com/issues/4712 -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.