The Puppet Labs Issue Tracker has Moved:

This issue tracker is now in read-only archive mode and automatic ticket export has been disabled. Redmine users will need to create a new JIRA account to file tickets using See the following page for information on filing tickets with JIRA:

Bug #20728

Invalid metadata.json in module root causes Error 400

Added by Jeff Field almost 3 years ago. Updated over 1 year ago.

Status:InvestigatingStart date:
Priority:NormalDue date:
Assignee:Charlie Sharpsteen% Done:


Target version:-
Affected Puppet version:3.1.1 Branch:

We've Moved!

Ticket tracking is now hosted in JIRA:

This ticket is now tracked at:


The other day I forked a module from github that I had used a while back but had not been updated in some time.

Within their module is this file:

  "name": "OSS-OSS",
  "author": "",
  "license": "",
  "version": "1.0.0",
  "types": [

  "checksums": "",
  "source": ""

At some point, for reasons I could not now tell you, I moved that file out of the ganglia module and into the root of my cdh3 module. Little did I know how much time it would waste later.

I went about reformatting the module quite a bit, and then finally got to testing the code, and consistently came up against this error:

Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find class cdh3 for on node
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run

Various stages of madness set in as I tore things apart trying to find the problem. I stack traced, I debugged, I validated my code, I triple checked my naming.

So I decided to remove all files but those essential to the function of the module, and it started working. So I put the others back, started removing them one at a time, and discovered it was all caused by this presumably invalid, but structurally correct JSON file.

Obviously the error is mine (lesson learned), but shouldn’t this fail in such a way it indicates that this is the cause? No where in my searching did I ever encounter that file in any log or debugging output.

Related issues

Related to Puppet - Bug #15856: Puppet fails with opaque error message due to metadata.js... Needs Decision 08/06/2012
Related to Puppet - Bug #22818: Invalid metadata.json causes failures instead of being sk... Closed
Duplicated by Puppet - Bug #21969: metadata.json without source throws unclear errors Duplicate


#1 Updated by Anonymous almost 3 years ago

  • Status changed from Unreviewed to Accepted

#2 Updated by Charlie Sharpsteen almost 3 years ago

  • Status changed from Accepted to Investigating
  • Assignee set to Charlie Sharpsteen

This is probably a subset of #15856 —– although with an even more opaque error message.

#3 Updated by Ben Roberts over 1 year ago

Redmine Issue #20728 has been migrated to JIRA:

Also available in: Atom PDF