Well... The node I have been testing the duplicate declaration on uses a puppet secondary-master server, as it is on a remote network segment. It does not connect directly to the puppet primary-master in which The Forman is running on.
So I did some work to get this particular "server1" node to use the puppet primary-master that The Foreman is running on. When I run a puppet update, it completes without error. When I switch back to the puppet secondary-master, I get the duplicate class error. They are both running puppet 3.8.7-1 on CentOS 6. The YAML produced by both is exactly 100% the same. So I can assume the YAML structure is not the issue. Would this suggest that the puppet secondary-master server is the issue, or the client connecting to it is perhaps not always getting what it wants from the slave? Remember that the puppet updates will complete correctly for many hours, then magically change to this error. And vice-versa, be in error for many hours, and then magically change to completing correctly. Also that sometime changing configuration in The Forman can trigger the Error to occur AND other times trigger to Error to stop occurring. Also note, I only have this problem with the saz-rsyslog module - NEVER with any other puppet module. When I remove the saz-rsyslog module, all issues disappear. I have made sure the puppet modules are 100% in sync between primary and secondary master server. And I have restarted the puppet processes on the secondary-master server, but the error will continue on the nodes. At this particular moment, all of the nodes experiencing the duplicate class declaration error are accessing the secondary-master puppet server. Not all nodes connecting to this secondary-master are experiencing this issue however - only 13 out of 33 nodes. Also, I have other secondary-master servers on other segments. And nodes getting updates from those have experienced this error before too. However, I do not recall it occurring recently. I cannot remember if a node connecting to the primary-master has experienced this issue - I want to say yes, but cannot recall to be certain. On Friday, October 7, 2016 at 8:52:20 AM UTC-5, Rob Nelson wrote: > > Not being a foreman user, I can't add a whole lot of detail to this, but > it does SEEM like there's something in the foreman "extras" that may be > conflicting with the direct puppet code in certain situations. My > understanding is that it provides some sort of overlay, and that could > definitely cause a conflict - it's easy with PE, for instance, to have the > Node Classifier and your puppet manifests on disk have collisions without > being obvious. I would look at what the "overlay" provides - whatever the > proper term is for it. > > > Rob Nelson > rnel...@gmail.com <javascript:> > > On Fri, Oct 7, 2016 at 9:48 AM, <re-g...@wiu.edu <javascript:>> wrote: > >> On Thursday, October 6, 2016 at 12:23:40 PM UTC-5, Rob Nelson wrote: >>> >>> Can you undo the change in foreman, see if the problem goes away, then >>> reimplement the change and see if the problem comes back? That would go a >>> long way toward isolating the cause. >>> >>> >> So I removed the rsyslog configuration from the foreman, the problem >> disappeared, then I added the rsyslog configuration back in and the problem >> immediately reappeared. >> >> The other configuration we added at 9:00am-ish .... well we since added >> some very minor configuration changes for host parameters in the afternoon, >> and this problem went away. Nothing was touched after that. Then about 6 >> hours ago, at 2:00am-ish, the problem reappeared. >> Then I removed the rsyslog configuration, after which the problem >> disappeared, then I re-added the rsyslog configuration and the problem >> reappeared. >> >> >> >>> On Thursday, October 6, 2016, <re-g...@wiu.edu> wrote: >>> >>>> >>>> >>>> On Wednesday, October 5, 2016 at 2:32:37 PM UTC-5, re-g...@wiu.edu >>>> wrote: >>>>> >>>>> I installed the puppet module saz-rsyslog from puppet forge. >>>>> I use The Foreman to configure nodes. The Foreman is used by puppet >>>>> via configuration [master] "external_nodes" "/etc/puppet/node.rb" >>>>> >>>>> Since the saz-rsyslog module install, I have been receiving the >>>>> following error off and on (not consistently) across many nodes on a >>>>> puppet >>>>> update (i.e. puppet agent -t): >>>>> >>>>> "Could not retrieve catalog from remote server: Error 400 on SERVER: >>>>> Duplicate declaration: Class[Rsyslog] is already declared; cannot >>>>> redeclare >>>>> on node <node-name>" >>>>> >>>>> >>>>> My nodes are CentOS 5,6,7; and any various number of the nodes may >>>>> experience this issue, but not all of them at the same time. >>>>> >>>>> One day I will see dozens of server with this error, and other nodes >>>>> not having this issue. This may go on for days if I do not touch The >>>>> Foreman. >>>>> I'll make some changes to host configuration for puppet module class >>>>> parameters in The Foreman - never the saz-rsyslog module though.. >>>>> After the changes, half or more of the servers having issue (not all) >>>>> will magically have no problems. >>>>> However, more nodes that did not have issues before, will now >>>>> experience this issue. >>>>> >>>>> Also, this change of events is not directly related to The Foreman >>>>> host configuration changes. >>>>> I can simply perform a puppet module upgrade to a unrelated module >>>>> (e.g. mine-yumconfig). After upgrading the unrelated module, again many >>>>> nodes with this issue will now have it resolved, and different ones not >>>>> experiencing the issue before will now begin experiencing it. >>>>> >>>>> >>>>> The only clue I have is from this posting: >>>>> http://grokbase.com/t/gg/puppet-users/165h0exgez/duplicate-resource-declaration-error >>>>> "... If you do not see the error on every run then it is modulated by >>>>> something that varies between runs. That could be almost anything: >>>>> manifests, data, results of function calls, node facts, or ENC output. >>>>> ..." >>>>> >>>>> >>>>> Can anyone help me understand this issue, or help me get it resolved >>>>> permanently? >>>>> >>>>> When I search for answers, all I see are "You have written a duplicate >>>>> class in your module." However, in my case, I did not write the >>>>> saz-rsyslog >>>>> module, I am only using it. It is a puppet-forge approved module with >>>>> 635,000+ downloads. And without modifying the module, the issue can >>>>> disappear, seemingly without rhyme or reason. >>>>> >>>>> -RG >>>>> >>>> >>>> >>>> Some more information >>>> >>>> I am using the latest version of the saz-rsyslog puppet module, version >>>> 4.0.3 >>>> https://forge.puppet.com/saz/rsyslog >>>> >>>> As an example, I have this node called h1pa >>>> Yesterday afternoon this node was getting the reported duplicate >>>> Class[Rsyslog] declaration error >>>> The 12:15am update was the last report of this error >>>> The 12:45am update was the first clean update today >>>> In fact, I had 0 nodes reporting this error >>>> >>>> About 9:00am-ish we added a subnet and hostgroup to The Foreman. >>>> However we have not added any new nodes, nor changed the configuration to >>>> any existing nodes. >>>> >>>> Then, I started getting the error again >>>> The 9:15am update was the first report of this error this late morning >>>> The 9:45am update reported this error again >>>> My nodes reporting an error of this duplicate Class[Rsyslog] error >>>> increased from 0 to 12. >>>> >>>> All node reports with this error are similar to h1pa node's reports. >>>> I am seeing that many of the hosts experiencing this issue yesterday, >>>> are now experiencing it again. >>>> >>>> -RG >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> -- >>>> 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+unsubscr...@googlegroups.com. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/puppet-users/a81931c8-14b3-46d8-94ba-1f31c4c4453a%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/puppet-users/a81931c8-14b3-46d8-94ba-1f31c4c4453a%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> >>> -- >>> >>> Rob Nelson >>> rnel...@gmail.com >>> >>> -- >> 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...@googlegroups.com <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/puppet-users/c5246478-278c-4d2b-ac0b-4e8986a45611%40googlegroups.com >> >> <https://groups.google.com/d/msgid/puppet-users/c5246478-278c-4d2b-ac0b-4e8986a45611%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > -- 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+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/43f2422c-0bf5-45a7-a2c2-f8ca85793518%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.