Hi Wyatt,
Thank you for the help!
>From the DLO entries I could get the exact command payload and found a
malformed structured fact. It had a nested dictionary, where most entries
were formed "foo" => "bar", except for one that looked like
"\"foo"=>"bar\"".
After fixing this, the node managed to successfully send its facts to
PuppetDB.
Cheers,
Akos
On Monday, March 14, 2016 at 4:54:26 PM UTC+1, Wyatt Alt wrote:
>
> On 03/14/2016 06:34 AM, Akos Hencz wrote:
>
> Hello,
>
> We have a few nodes that fail to submit facts to PuppetDB, and the replace
> facts commands end up in the DLO. The exception is:
> clojure.lang.ExceptionInfo: Input to insert-facts-pv-pairs! does not match
> schema.
> I suspect it is a problem with one of the facts, but I cannot determine
> which one. Looking at the output of 'facter -p' on any of the nodes seem to
> be fine.
>
> I would like to ask for some advice on how to investigate the cause of
> this problem. :)
>
> We run Puppet 3.8.4, PuppetDB 2.3.4, and PuppetServer 1.1.3. You can see
> the full exception text below.
>
> Cheers,
> Akos
>
>
> clojure.lang.ExceptionInfo: Input to insert-facts-pv-pairs! does not match
> schema: [nil (named (not (some (check % a-clojure.lang.LazySeq) schemas))
> pairs)] {:error [nil (named (not (some (check % a-clojure.lang.LazySeq)
> schemas)) pairs)], :value [44289 ([17 954] [90 58] [100 207518370] [147
> 137] [72 86] [96 274005961] [49 207518365] [31 57830745] [152 1307] [48
> 928] [104 295874761] [81 21735] [167 302087295] [162 167699] [68 25] [1
> 826] [57 23] [119 291018089] [12 302087311] [7 912] [139 193] [134 539]
> [205 28] [137 1299] [34 49] [18 200] [4 7644696] [14 7] [35 59021633] [1526
> 302087296] [58 73] [120 830] [163 65] [178 1293] [80 870] [1527 302087294]
> [95 274005961] [40 157758900] [77 302087312] [116 101387066] [111 112] [41
> 57830745] [269911 302087303] [269910 193] [269912 57830745] [269909
> 57830745] [269908 57830745] [269914 57830745] [269913 302087292] [195 65]
> [1248 207518367] [2472 800] [2487 136] [2489 765] [2491 488] [2467
> 207518365] [2478 830] [2485 800] [2475 207518370] [2496 793] [2501
> 207518365] [2486 765] [2466 488] [93 302087302] [126 136] [23 105] [15
> 50105231] [115 110] [136 299] [121 800] [129 57830729] [56 232889320]
> [56434 8543] [276 939] [70 75] [106 302087301] [98 229] [110 57830742] [45
> 67] [24 883] [107 904] [124 182796497] [99 89] [47985 302087314] [47983
> 81057077] [47982 223071] [47989 294247] [47988 492094] [47991 82005831]
> [47987 228539865] [47986 81057081] [47990 136333789] [47984 137976183]
> [49100 563] [49098 82071940] [49093 136059519] [49095 108941256] [49116
> 82065378] [49114 82063765] [49118 82063767] [49117 82063764] [49121
> 82063916] [49120 16973] [49115 63121] [49119 88397486] [49150 82064260] [66
> 302087301] [5 302087302] [63 31] [37 287849745] [51 25] [28 302087305] [73
> 3927] [485 28] [59 125] [13 302087310] [91 780] [54 94] [127 299] [11 765]
> [1528 488] [156 65] [215 28] [239 302087304] [21 295871169] [38 302087315]
> [25 882] [114 17] [101 57830743] [86 57830733] [39 302087308] [297092
> 195213941] [131 302087293] [130 802] [22 923] [1246 302087313] [2494
> 302087300] [2462 68508392] [2473 57830743] [2457 3927] [67 1326] [133
> 302087305] [71 136778] [65 207518365] [2 169693143] [103 167718] [19 763]
> [1529 302087289] [2461 28] [2453 302087302] [2500 200] [2458 21735] [2493
> 302087302] [2477 295871174] [2464 200] [2492 539] [2459 8224991] [2476
> 167718] [2483 38] [2495 302087291] [2451 136778] [2460 91] [2488 17] [2454
> 67] [2469 112] [2463 302087305] [2470 302087302] [141 1317] [88 302087297]
> [52 929] [1250 8224986] [53 302087300] [123 46] [75 302087307] [135
> 57830744] [2246 302087298] [2471 302087309] [2455 539] [2452 302087302]
> [2465 188476291] [2484 188476291] [nil 302087288] [2497 1326] [2590
> 302087290] [2498 302087311] [33 25] [83 302087305] [79 87] [89 38] [188
> 140] [69 169693143] [8 302087306] [122 13] [140 1283] [84 94] [1249
> 295871170] [2479 295871169] [2525 295871169] [2474 59021633] [2468
> 59021633] [164 65] [92 295871169] [456928 36] [6 1608] [248 302087299] [16
> 57830733] [1015 104292798] [174 236] [128 302087302] [20 68508392] [102
> 765] [113 793] [125 80] [26 765] [118 101387069] [9 296645235] [30 290]
> [108 800] [76 302087302] [183 44875635] [158 296658966] [1530 8224991] [278
> 938] [29 295871174] [10 91] [105 302087291] [27 302087302] [142 181]
> [263862 302087287] [50 67] [196 167697] [1531 268074168] [2482 266778936]
> [2490 57830732] [2499 116471] [2481 929] [109 928] [43 2780] [146 65] [1532
> 31] [97 59021633] [36 67] [254 28] [3 1671] [87 200] [62 802] [181 912]
> [191 1299] [74 904] [60 57830733] [44 302087297] [94 296930720] [85
> 59021638])], :schema [#schema.core.One{:schema Int, :optional? false, :name
> factset-id} #schema.core.One{:schema (either [[(one Int "path-id") (one Int
> "value-id")]] #{[(one Int "path-id") (one Int "value-id")]}), :optional?
> false, :name pairs}], :type :schema.core/error}
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected] <javascript:>.
> To view this discussion on the web visit
> <https://groups.google.com/d/msgid/puppet-users/046f28c4-867c-40ab-86c1-e09bef5d9a80%40googlegroups.com?utm_medium=email&utm_source=footer>
> https://groups.google.com/d/msgid/puppet-users/046f28c4-867c-40ab-86c1-e09bef5d9a80%40googlegroups.com
> .
> For more options, visit https://groups.google.com/d/optout.
>
> Hey Akos, thanks for the report. Please take a look at
> https://tickets.puppetlabs.com/browse/PDB-2034 and see if it matches your
> scenario.
>
> We've seen this bug before in relation to a fact generated by certain
> versions of the puppet-community rundeck module. The initial fix was here:
> https://github.com/voxpupuli/puppet-rundeck/pull/138 but I think that the
> module has been refactored since.
>
> The bug on the PuppetDB side was related to failed processing of facts
> that started with an escaped quote but did not end with one. To investigate
> it in PuppetDB, you might try looking in
> /var/lib/puppetdb/mq/discarded/replace-facts to see if any failed commands
> have made it through. If there are messages in there, you'll be able to
> determine the certname for the host that originated the facts, and then
> search either the facts in the message or the facter output on that box for
> fact names starting with an escaped quote.
>
> If there are no messages getting discarded tracking it down is a bit
> trickier, but I'd be happy to help with that.
>
> Wyatt
>
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/puppet-users/acd231a1-768d-405b-91b5-932d42de4928%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.