Chris, let me think about how to do this without having to break backwards compatibility. I'll try to make this work for you, it seems so simple.
M PS - does Claremont tower still have that paternosta? I remember it with fear from my student days... On 04/28/2011 10:35 AM, C R Ritson wrote: > I don't think that particular use of ifelapsed would work if the resource > intensive update is also potentially disruptive, so constrained only to be > checked at "Night". The first 5-minute interval in which that promise is > checked, it will be about 18 hours old so all will be done together. The > nearest I have got to this sort of thing is to split my set of clients into 5 > pseudo-random groups:- > > bundle common class > { > classes: > "Ip0" expression => > classmatch("ipv4_[0-9]*_[0-9]*_[0-9]*_[0-9]*[05]"); > "Ip1" expression => > classmatch("ipv4_[0-9]*_[0-9]*_[0-9]*_[0-9]*[16]"); > "Ip2" expression => > classmatch("ipv4_[0-9]*_[0-9]*_[0-9]*_[0-9]*[27]"); > "Ip3" expression => > classmatch("ipv4_[0-9]*_[0-9]*_[0-9]*_[0-9]*[38]"); > "Ip4" expression => > classmatch("ipv4_[0-9]*_[0-9]*_[0-9]*_[0-9]*[49]"); > "Hrs0" or => { "Hr00", "Hr06", "Hr12", "Hr18" }; > "Hrs1" or => { "Hr01", "Hr07", "Hr13", "Hr19" }; > "Hrs2" or => { "Hr02", "Hr08", "Hr14", "Hr20" }; > "Hrs3" or => { "Hr03", "Hr09", "Hr15", "Hr21" }; > "Hrs4" or => { "Hr04", "Hr10", "Hr16", "Hr22" }; > "Hrs5" or => { "Hr05", "Hr11", "Hr17", "Hr23" }; > } > > Then combine these along with splaytime (There is a catch-all in the last > hour of the shift):- > > bundle agent distribute > { > classes: > > "Dist0" and => { Ip0, Hrs0 }; > "Dist1" and => { Ip1, Hrs1 }; > "Dist2" and => { Ip2, Hrs2 }; > "Dist3" and => { Ip3, Hrs3 }; > "Dist4" and => { Ip4, Hrs4 }; > > "Dist" or => { Dist0, Dist1, Dist2, Dist3, Dist4, Hrs5 }; > "once_hourly" expression => splayclass("$(sys.host).$(sys.ipv4)", > "hourly"); > "dist_now" and => { once_hourly, Dist }; > } > > The actual work uses dist_now:: - but could equally well use dist_now.Night:: > instead. > > It would be far simpler to arrange this if there was a third possibility in > the second argument to splay class - "shift" to mean "once in a 6 hour > shift". Is this sufficient detail and justification to be considered a > feature request? (Apologies in advance - I realise this is close to a repeat > of my previous posting a few days ago). > > Chris Ritson (Computing Officer and School Safety Officer) > > Room 707, Claremont Tower, EMAIL: c.r.rit...@ncl.ac.uk > School of Computing Science, PHONE: +44 191 222 8175 > Newcastle University, FAX : +44 191 222 8232 > Newcastle upon Tyne, UK NE1 7RU. WEB : http://www.cs.ncl.ac.uk/ > > >> -----Original Message----- >> From: help-cfengine-boun...@cfengine.org [mailto:help-cfengine- >> boun...@cfengine.org] On Behalf Of Mark Burgess >> Sent: 28 April 2011 07:33 >> To: Michael Stevens >> Cc: help-cfengine >> Subject: Re: Cfengine Help: Re: Avoiding "Duplicate selection of value" >> >> >> We can look into it if you file a feature request, but I'm not sure it's >> desirable. You can still do your updates every 15 mins even though the >> agent wakes up every 5 if you set the ifelapsed default to 15 mins or >> more. >> >> On 27/04/11 23:32, Michael Stevens wrote: >>> We conceivably could, there's not really a reason other than it >> doesn't seem necessary to update that often. I may well change it just >> to get splayclass working. Any chance of getting the splayclass interval >> as a settable parameter? >>> >>> On Apr 27, 2011, at 11:54 AM, Mark Burgess wrote: >>> >>>> Ah, I see what you mean. Sorry. You're right, one has to assume a >> resolution to do the hashing. Any reason why you can't up to 5 min >> resolution? >>>> >>>> On 27/04/11 19:48, Michael Stevens wrote: >>>>> How would I go about having splayclass work with our current */15 >> run interval? >>>>> >>>>> On Apr 26, 2011, at 9:20 PM, Mark wrote: >>>>> >>>>>> No nothing is hardcoded, but the default exec time is 5 minutes. >> You are not missing out. >>>>>> >>>>>> >>>>>> Mark >>>>>> >>>>>> >>>>>> On 27 Apr 2011, at 01:09, Michael Stevens<m...@tippett.com> wrote: >>>>>> >>>>>>> I wasn't aware of this. Correct me if I'm wrong, but from reading >> the docs, the "on" interval is hard-coded to 5 minutes, eg, since we're >> running cf3 every 15 minutes from cron, we'd miss 2/3 of the activations >> unless we up our schedule to every 5 minutes. >>>>>>> >>>>>>> On Apr 26, 2011, at 11:19 AM, no-re...@cfengine.com wrote: >>>>>>> >>>>>>>> Have you looked a splayclass? It can randomize when promises are >> kept without >>>>>>>> the overhead of calling a shell. >>>>>>>> http://www.cfengine.org/manuals/cf3-reference.html#Function- >> splayclass >>>>>>> _______________________________________________ >>>>>>> Help-cfengine mailing list >>>>>>> Help-cfengine@cfengine.org >>>>>>> https://cfengine.org/mailman/listinfo/help-cfengine >>>>> >>> >> _______________________________________________ >> Help-cfengine mailing list >> Help-cfengine@cfengine.org >> https://cfengine.org/mailman/listinfo/help-cfengine > _______________________________________________ > Help-cfengine mailing list > Help-cfengine@cfengine.org > https://cfengine.org/mailman/listinfo/help-cfengine _______________________________________________ Help-cfengine mailing list Help-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/help-cfengine