Puppet Environment Classification Conflict

1,350 views
Skip to first unread message

John Baird

unread,
Aug 19, 2016, 7:57:36 PM8/19/16
to Puppet Users
I have followed the instructions here: https://docs.puppet.com/pe/2016.2/console_classes_groups.html#creating-environment-node-groups.  This states that ALL environments that are created should be a child under "production".  This makes sense because I would want it to inherit all of the default things that puppet does to nodes out of the box.

When I add a node to the new environment, we shall call it "new_environment", puppet runs fine.

I then create a "node classification group" under "new_environment".  The existence of the group is not the issue until I assign the node to the "node classification group".  Puppet then complains about conflicts.  

I really haven't modified much for there to even be conflicts.  This seems like normal SOP and yet it's not resolving itself.  

I have set the variable "environment=new_environment" in the "new_environment" environment.  There are no other classes or variables assigned.

Do I need to include the two default classes from "PE Agent" and "PE Mcollective" in every environment I create??? That seems silly....


Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed when searching for node node1: Classification of node1 failed due to a classification conflict: The node was classified into groups named "new_class_group", "PE Agent", and "PE MCollective" that defined conflicting values for the environment.

Lindsey Smith

unread,
Aug 23, 2016, 7:13:07 PM8/23/16
to puppet...@googlegroups.com
On Fri, Aug 19, 2016 at 4:57 PM, John Baird <john.w...@gmail.com> wrote:
I have followed the instructions here: https://docs.puppet.com/pe/2016.2/console_classes_groups.html#creating-environment-node-groups.  This states that ALL environments that are created should be a child under "production".  This makes sense because I would want it to inherit all of the default things that puppet does to nodes out of the box.

When I add a node to the new environment, we shall call it "new_environment", puppet runs fine.

I then create a "node classification group" under "new_environment".  The existence of the group is not the issue until I assign the node to the "node classification group".  Puppet then complains about conflicts.  

You need to move your node classification group to not be a child of the Production environment group. Reason being, management of environment assignment and class/data assignment have to be in separate branches of the hierarchy. For example:

── All Nodes
    ├── Production environment
    │   ├── new_environment
    │   └── some_other_environment
    └── classes_go_here
        ├── more_specific_overrides_go_here
        └── or_here
 

I really haven't modified much for there to even be conflicts.  This seems like normal SOP and yet it's not resolving itself.  

I have set the variable "environment=new_environment" in the "new_environment" environment.  There are no other classes or variables assigned.

Do I need to include the two default classes from "PE Agent" and "PE Mcollective" in every environment I create??? That seems silly....


Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Failed when searching for node node1: Classification of node1 failed due to a classification conflict: The node was classified into groups named "new_class_group", "PE Agent", and "PE MCollective" that defined conflicting values for the environment.

--
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 puppet-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/d154af21-eabc-45a5-a765-3e395ca33c66%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Red Cricket

unread,
Aug 24, 2016, 12:10:20 AM8/24/16
to puppet-users
Maybe I am miss reading the docs but isn't the parent group suppose to be the production environment.



Lindsey Smith

unread,
Aug 24, 2016, 1:42:16 AM8/24/16
to puppet...@googlegroups.com
On Tue, Aug 23, 2016 at 9:10 PM, Red Cricket <red.cric...@gmail.com> wrote:
Maybe I am miss reading the docs but isn't the parent group suppose to be the production environment.


For the groups that manage setting the puppet environment for nodes, yes. For groups that set classification and data, no.
 
Reply all
Reply to author
Forward
0 new messages