Thank you so much for your response.

I would ignore everything past "Using cached catalog from environment 
> 'ops'" in your debugging, as it's cached and therefore probably represents 
> a previous state of the puppet master catalog.
>

I had gone ahead and registered the client cert with puppetmaster again to 
force a fresh catalog, just in case.
 

> since --test means "--onetime --verbose --no-daemonize" and a couple of 
> cache-disabling options as well, so you'll eliminated cache data, and 
> simplify your troubleshooting.
>

Thank you, I've since then forced a fresh catalog a number of times.
 

> You don't really need the server or environment either, since you've got 
> them defined in your puppet.conf, so really, you should be able to use:
>
 
I've simplified the agent run parameters - I'm just paranoid I suppose =).

Having said that, error 500 is a pretty broad error, which usually means 
> "something went wrong".  In this case, I suspect it's telling you the truth 
> that it can't find the users::opsuser class-- which means either the puppet 
> server can't read the file (selinux or file permissions, or what's happened 
> to me too many times to ignore, a typo in the class definition.... :) ), or 
> it's actually looking in the production environment.
>

Yes, that was my struggle with dis-ciphering what an error 500 code would 
detail.  I verified permissions as @Carthik above suggested as well, and 
then compared any similar class/module definitions (there's only so many in 
this new environment).  
 

> The only reason I can think of why it would be looking in the production 
> environment would be if node.rb told it to.
>

Yes, I've been verifying the node.rb output regularly (that was my initial 
struggle with ensuring the right environment data was being returned to 
puppetmaster - initially I was using --ksmeta tags on Cobbler to return the 
environment lablel but I found a way to modify Cobbler's system status tags 
to give us what we wanted). 
 

> What happens when you manually run:
> /etc/puppetlabs/code/environments/node.rb node.domain.ca
>

Here's a sample output:
[root@puppetmaster environments]# ./node.rb node.domain.ca
classes:
  fwrules: {}
  legato: {}
  postfix: {}
  users::groups: {}
  users::users: {}
  node: {}
  zabbix: {}
environment: ops
parameters:
  from_cobbler: 1
  refvm: '1'
  tree: http://@@http_server@@/cblr/links/centos_7_x64-x86_64  
 

> I suspect node.rb will spit out an "environment: production" yaml string, 
> which is overriding the "environment ops" in your config / run statement.
>

Unfortunately not, as you can see.  This is what was the worry part since 
it seems by all means/tests that the right environment was being passed to 
puppetmaster AND the agent. 

-- 
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/b8b4fca7-84ab-43c3-b6c4-9cc85c883321%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to