classification question

345 views
Skip to first unread message

ezzobad

unread,
Dec 8, 2014, 1:08:22 AM12/8/14
to puppet...@googlegroups.com
Hi,

This is the configuration:
Puppet version: 3.7.2 (Puppet Enterprise 3.7.0)
OS on the puppet master and agent: CentOS release 6.5 (Final)
Puppet server: Cent200.example.com
Puppet node: Cent201.example.com

environment1:
/etc/puppetlabs/puppet/environments/environment1/
├── manifests
│   └── site.pp
└── modules

and site.pp is an empty file.

A new node group: nodegroup1 (the parent is "default" and the environment is "environment1".)

If I assign a node to this node group (so the only matching node is cent201.example.com).

I expect to have no problem by running "puppet agent -t" on the client side (because site.pp is empty), but looks like there is a conflict:
"Classification failed for cent201.example.com due to a classification conflict: The node was classified into groups named "nodegroup1" and "PE MCollective" that defined conflicting values for the environment, ."

Thanks in advance,
Mehdi

Byron Miller

unread,
Dec 8, 2014, 9:41:38 AM12/8/14
to puppet...@googlegroups.com
Since your default group is environment1, you don't need a site.pp as your ENC (puppet PE) has already classified this node to environment1.  It sounds like the modules in environment1 conflict with the modules in the PE Mcollective Node group which is usually defined for all nodes.  What do you have in your example1/modules?

jcbollinger

unread,
Dec 8, 2014, 10:31:57 AM12/8/14
to puppet...@googlegroups.com


On Monday, December 8, 2014 12:08:22 AM UTC-6, ezzobad wrote:


This question appears to be specific to Puppet PE (node groups must be a function of its integrated node classifier), so you should consider contacting PuppetLabs support.  Nevertheless, the error message appears to be telling you that you have assigned the node to groups that specify different 'environment' settings for it.

If it is both possible and sensible, then you should modify one or both of the groups so that they do not specify a particular environment for member nodes.  Groups that specify an environment for member nodes are incompatible with each other if they specify different ones (regardless of the contents of any environment's 'site.pp' file).


John

ezzobad

unread,
Dec 8, 2014, 8:19:13 PM12/8/14
to puppet...@googlegroups.com
Thanks John and Byron,

Yes it is Puppet PE, but I am using it in my test lab (Do you think PE is a wrong choice for learning Puppet? It's free up to 10 nodes you know. You input would be valuable to me as I have just started puppetizing).

And regarding the issue, found out a bit more:
Puppet PE classifies all nodes into "PE MCollective" node group by default. And this node group is associated with "Production" environment.
But I assigned nodegroup1 to "Environment1".
It means that cent201.example.com is a member of two node gropus now ("PE MCollective" and "nodegroup1"), by these two node groups are classified into different environments. In other words, cent201.example.com cannot be in both "Environment1" and "Production" environments at the same time.

Regards,

Mehdi

jcbollinger

unread,
Dec 9, 2014, 9:23:36 AM12/9/14
to puppet...@googlegroups.com


On Monday, December 8, 2014 7:19:13 PM UTC-6, ezzobad wrote:
Thanks John and Byron,

Yes it is Puppet PE, but I am using it in my test lab (Do you think PE is a wrong choice for learning Puppet? It's free up to 10 nodes you know. You input would be valuable to me as I have just started puppetizing).


If you are contemplating continuing your use of PE (including paying for licenses if you expand to more than 10 nodes) then it is appropriate to evaluate PE.  If you are determined to avoid spending any money and hope to have more than 10 nodes, then it is a waste of your time to evaluate PE.  Most of what you see up front when you use PE is the PE-specific bits; using the open-source version is a very different experience.  Learning how to use the OS version helps much more with using PE than learning PE helps with using the the OS version.

 
And regarding the issue, found out a bit more:
Puppet PE classifies all nodes into "PE MCollective" node group by default. And this node group is associated with "Production" environment.
But I assigned nodegroup1 to "Environment1".
It means that cent201.example.com is a member of two node gropus now ("PE MCollective" and "nodegroup1"), by these two node groups are classified into different environments. In other words, cent201.example.com cannot be in both "Environment1" and "Production" environments at the same time.



Yes, isn't that what I said?


John

Reply all
Reply to author
Forward
0 new messages