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 #10790

--- and \\ prepended to environment

Added by Phil Frost over 4 years ago. Updated over 4 years ago.

Status:DuplicateStart date:11/12/2011
Priority:NormalDue date:
Assignee:-% Done:


Category:stored configuration
Target version:-
Affected Puppet version:2.6.2 Branch:

We've Moved!

Ticket tracking is now hosted in JIRA:


I’ve recently enabled storeconfigs (PostgreSQL backend), and am using them to export Nagios resources. It’s been working for a few days, then I merged a branch into production that should have added a monitor to check that state.yaml is being touched on clients. Later, nothing had picked up the change. Looking in syslog on the puppetmaster, I find entries like this (this is just for one host during the failure):

Nov 12 13:15:02 puppet puppet-master[1866]: Compiled catalog for rt in environment —– “—– production” in 0.12 seconds Nov 12 13:45:07 puppet puppet-master[1866]: Compiled catalog for rt in environment —– “—– \”—– \\“—– production\\”\“” in 0.04 seconds

Some of them are more absurd:

Nov 12 14:01:21 puppet puppet-master[1866]: Compiled catalog for nagios in environment —– “—– \”—– \\“—– \\\\”—– \\\\\\\\“—– \\\\\\\\\\\\\\\\”—– \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\“—– \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\”—– \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\“—– \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\”—– \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

It looks like for each run it’s taking the previous value, escaping “ and \, quoting it with ”, and prepending —–.

Anyhow, I restarted puppetmaster and things seem back to normal.

Looking a in the puppet database, I do notice that for each row in the hosts table, a “—–” is prepended to the environment. So, for a host that should be in “production”, the environment column is set to “—– production”. This is for hosts which have checked in since the restart; those that have not yet checked in have longer strings with more —– and \.

I can only guess this has something to do with features that allow setting the environment on the server side; I’m not (intentionally) using those features. Some of my clients have an environment explicitly set in puppet.conf, but most just use the default production. I don’t think those with an explicit environment avoided the failure.

Related issues

Duplicates Puppet - Bug #4487: Environment column in hosts table updating incorrectly Closed 08/06/2010


#1 Updated by James Turnbull over 4 years ago

  • Status changed from Unreviewed to Closed

Duplicate of #4487

#2 Updated by James Turnbull over 4 years ago

  • Category set to stored configuration
  • Status changed from Closed to Duplicate

Also available in: Atom PDF