# PE 3.7 node_terminus reset

I am fairly new to Puppet and I recently installed PE 3.7. I have successfully setup the use of hiera for the production environment but I would like to have another set of nodes use a "dev" environment. I have the following under /etc/puppetlabs/puppet/environments

dev
- manifests
site.pp (containing)
- modules
- ntp (module)


The site.pp:

    node default {
hiera_include('classes')
}


The /etc/puppetlabs/puppet/hiera contains the file dev.yaml with the contents of:

---
classes:
- ntp
ntp::servers:
- tick.mycompany.com


All the hiera commands work correctly to obtain the classes within the "dev" environment.

I set the /etc/puppetlabs/puppet.conf file on the node to use the "dev" environment by setting environment = dev in both the [main] and [agent] sections. However, when I do a puppet agent --test I receive the following warning and the configuration for the "dev" environment is not applied.

Warning: Local environment: "dev" doesn't match server specified node environment "production", switching agent to "production".


With the new introduction of "Classification" in PE 3.7 I am not sure how to specify that a particular node belongs to a particular environment while using hiera. I suspect that the nodeterminus may need to be changed on the master's /etc/puppetlabs/puppet/puppet.conf from node_terminus = classifier to node_terminus = plain or another value. But, if I change node_terminus and restart "pe-puppet" service the nodeterminus is always reset back to classifier.

I would appreciate any guidance on the proper setting of node_terminus when using directory environments and hiera and how the PE console acts as an ENC.

Thanks,

Dave

edit retag close merge delete

Sort by » oldest newest most voted

Hi Dave,

That particular error has nothing to do with the use of hiera as a node classifier. The reason the error is being raised is that you are setting a puppet environment on the node using the --environment argument or the environment setting in puppet.conf, while the console is also specifying an environment.

In the case of such a conflict, the master wins for security reasons. The solution is to either remove any environment settings being applied on the node, or alternative setting node-specified environments in the console. See the PE 3.7 docs.

more