OK, I'm officially going crazy! I cut and paste the code I put in my first 
post - everything works perfectly now...

I have done some pretty major code re-organisation so it's likely I may 
have fixed something along the way which caused spurious problems. I can't 
reproduce it any more :( 

Thanks for your help though!



On Friday, 1 June 2012 15:09:15 UTC+1, jcbollinger wrote:
>
>
>
> On Jun 1, 5:34 am, Rufus McDufus <r...@bamalam.com> wrote: 
> > Hi folks - I'm trying what should be a simple task but I'm having a case 
> of 
> > brain fade!  In puppet enterprise in the pe_compliance module, a cronjob 
> > gets added by class pe_compliance::agent: 
> > 
> > % cat /opt/puppet/share/puppet/modules/pe_compliance/manifests/agent.pp 
> > class pe_compliance::agent { 
> >   cron { 'report_baseline': 
> >     command     => 
> > 'PATH=/opt/puppet/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin 
> > /opt/puppet/bin/puppet inspect', 
> >     hour        => '20', 
> >     minute      => '0', 
> >   } 
> > 
> > } 
> > 
> > I want to modify this cronjob to redirect stdout to /dev/null but I 
> don't 
> > want to edit this file directly as I don't want to modify core modules. 
> > Everything I try to try and override results in a duplicate definition 
> of 
> > Pe_compliance::agent or 'Only subclasses can override parameters'.  For 
> > instance if I try: 
> > 
> >   class pe_compliance::agent::cronmodify inherits ::pe_compliance::agent 
> { 
> >     Cron['report_baseline'] { 
> >       command => 
> > 'PATH=/opt/puppet/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin 
> > /opt/puppet/bin/puppet inspect >/dev/null' 
> >     } 
> >   } 
> >   include pe_compliance::agent::cronmodify 
> > 
> > I get: 
> >  Error 400 on SERVER: Duplicate declaration: Class[Pe_compliance::Agent] 
> is 
> > already declared; cannot redeclare at 
> > /opt/puppet/share/puppet/modules/pe_compliance/manifests/init.pp:15 
> > 
> > Is there an easy way of overriding this parameter? 
>
>
> What you wrote above looks like it ought to work.  Perhaps Puppet is 
> handling the "::pe_compliance::agent" inconsistently.  Does it work if 
> instead you write 
>
> class pe_compliance::agent::cronmodify inherits pe_compliance::agent { 
> [...] 
>
> ? 
>
> If it does, then I'm sure Puppetlabs would appreciate an official bug 
> report.  Given that Puppet accepts "inherits ::pe_compliance::agent" 
> in the first place, it should recognize that it refers to the same 
> class as "pe_compliance::agent", and therefore engage its machinery 
> that allows super- and subclasses to both be declared on the same 
> node. 
>
>
> John 
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/y8DYTJXYdXcJ.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to