[Pkg-puppet-devel] Bug#923976: Bug#923976: Bug#923976: puppet: Reports submitte

Apollon Oikonomopoulos apoikos at debian.org
Fri Mar 8 14:34:39 GMT 2019


Control: tags -1 unreproducible moreinfo

On 15:47 Fri 08 Mar     , Apollon Oikonomopoulos wrote:
> On 14:54 Thu 07 Mar     , Kienan wrote:
> > When running puppet 5.x with reports enabled and sent to PuppetDB 6.x,
> > PuppetDB fails to store the report with the following error:
> > 
> > 2019-03-01T17:06:01.396-05:00 ERROR [p.p.command] [100] [store report] Fatal error on attempt 0 for pm-buster.test
> > clojure.lang.ExceptionInfo: throw+: {:fatal true, :cause #error {
> >  :cause "Value does not match schema: {:metrics [nil nil nil nil nil nil
> >  nil nil nil nil nil nil {:value (not (instance? java.lang.Number
> >  a-java.lang.String))} {:value (not (instance? java.lang.Number
> >  a-java.lang.String))} nil {:value (not (instance? java.lang.Number
> >  a-java.lang.String))} nil {:value (not (instance? java.lang.Number
> >  a-java.lang.String))} nil {:value (not (instance? java.lang.Number
> >  a-java.lang.String))} {:value (not (instance? java.lang.Number
> >  a-java.lang.String))} {:value (not (instance? java.lang.Number
> >  a-java.lang.String))} nil nil {:value (not (instance? java.lang.Number
> >  a-java.lang.String))} nil {:value (not (instance? java.lang.Number
> >  a-java.lang.String))} nil {:value (not (instance? java.lang.Number
> >  a-java.lang.String))} nil nil nil nil nil nil nil nil nil {:value (not
> >  (instance? java.lang.Number a-java.lang.String))} nil nil nil nil nil
> >  nil]}"
> >  
> > A copy of the Puppet DB log file is attached with the complete
> > backtrace.
> > 
> > I'm filing this bug against the puppet package for the following reasons
> > 
> > * hosts running puppet 4.x (stretch) are able to submit reports to same
> > version of Puppet DB.
> 
> So, this sounds like a regression. I would not be surprised if Puppet 4 
> nodes failed to work with PuppetDB 6, but this is clearly a bug.
> 
> > * I am able to "solve" the problem by modifying a number of places in
> > the puppet agent files where report information is returned and calling
> > "to_i" or "to_f" to force casting into a numeric value instead of a
> > string.
> > 
> > The metrics keys affected include: convert_catalog and
> > transaction_evaluation. The keys affected may change depending on the
> > manifest used for the node.
> > 
> > This being said, it may be appropriate to move this bug to the PuppetDB
> > package. I haven't been able to find any upstream bugs regarding this
> > behaviour.
> > 
> > To reproduce:
> > 
> > 1. Install puppet, puppet-master-passenger, and puppetdb on the same
> > host.
> > 2. Configure the puppet master to storeconfigs with the PuppetDB and the
> > agent to submit reports:
> > 
> > (snippet from /etc/puppet.conf)
> > 
> >   [main]
> >     reports = puppetdb
> 
> Note to self: let's add report storage to the puppet/puppetdb 
> autopkgtests.

Turns out this is already enabled and running in our tests without 
issues. I'm unable to trivially reproduce this, which makes me wonder if 
it's a matter of the terminus version. Which version of the 
puppet-terminus-puppetdb package are you using on the master?

Regards,
Apollon



More information about the Pkg-puppet-devel mailing list