Page MenuHomePhabricator

occasional puppet errors: Error 500 on SERVER: Server Error: Unsupported facts format
Closed, ResolvedPublic

Description

since making puppetmaster1003 an active puppet master the following error is occasionally observed

Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Unsupported facts format

When looking at the puppet master apache logs we see the following

2019-09-23T17:13:54     39001   2620:0:861:107:10:64:48:144     proxy-server/500        283 POST    http://puppet:8140/puppet/v3/catalog/ms-be1039.eqiad.wmnet?environment=production -application/json        -       -       Puppet/5.5.10 Ruby/2.3.3-p222 (x86_64-linux-gnu)  --       -       -       2620:0:861:107:10:64:48:144

This error is coming from lib/puppet/indirector/catalog/compiler.rb after a debian patch was applied meaning the 4.8.2 puppet master only supports pson or msgpack (i think that's what the first if catches). however puppet master 5.5.10 supports json. I believe that agents are negotiating with puppetmaster1003 and choosing a serialization of json, however when they come to submit there facts they hit a 4.8.2 master which doesn't understand json.

The recommended fix is to set preferred_serialization_format = pson until the migration to 5.5.10 is complete

Event Timeline

jbond triaged this task as Medium priority.Sep 23 2019, 5:37 PM
jbond added a project: SRE.

Change 538682 had a related patch set uploaded (by Jbond; owner: John Bond):
[operations/puppet@production] base::puppet: add preferred_serialization_format = pson

https://gerrit.wikimedia.org/r/538682

Change 538684 had a related patch set uploaded (by Jbond; owner: Jbond):
[operations/puppet@production] Revert "puppetmaster::frontend: add locale backend"

https://gerrit.wikimedia.org/r/538684

Change 538683 had a related patch set uploaded (by Jbond; owner: Jbond):
[operations/puppet@production] Revert "puppetmaster1003: promote puppetmaster1003 to a real puppetmaster backend"

https://gerrit.wikimedia.org/r/538683

Change 538683 merged by Jbond:
[operations/puppet@production] Revert "puppetmaster1003: promote puppetmaster1003 to a real puppetmaster backend"

https://gerrit.wikimedia.org/r/538683

Change 538684 merged by Jbond:
[operations/puppet@production] Revert "puppetmaster::frontend: add locale backend"

https://gerrit.wikimedia.org/r/538684

Change 538686 had a related patch set uploaded (by Jbond; owner: John Bond):
[operations/puppet@production] puppetmaster::frontend: add locale backend and promote puppetmaster1003

https://gerrit.wikimedia.org/r/538686

Change 538682 merged by Jbond:
[operations/puppet@production] base::puppet: add preferred_serialization_format = pson

https://gerrit.wikimedia.org/r/538682

Change 538686 merged by Jbond:
[operations/puppet@production] puppetmaster::frontend: add locale backend and promote puppetmaster1003

https://gerrit.wikimedia.org/r/538686

Change 543415 had a related patch set uploaded (by Jbond; owner: John Bond):
[operations/puppet@production] puppet: update serialization format to json

https://gerrit.wikimedia.org/r/543415

Change 543415 merged by Jbond:
[operations/puppet@production] puppet: update serialization format to json

https://gerrit.wikimedia.org/r/543415

Aklapper renamed this task from occational puppet errors: Error 500 on SERVER: Server Error: Unsupported facts format to occasional puppet errors: Error 500 on SERVER: Server Error: Unsupported facts format.Oct 17 2019, 4:37 PM