It is also true that a search of "one" is a search, so I think Seva is right to point out this issue,
M daniel.kl...@cfengine.com wrote: > This is the root of the problem: > > file_select implies a search - and the only way you can have a search is > either with depth_search or a wildcard in the filename > > I believe this is also a bug, in that Cfengine should tell you when you have > a promise that cannot be satisfied, and requires a component that you have > ommitted. > > Something very similar to this was reported in the bug tracking system with > ID 0000037, and repaired 2010-03-19 - so I have to ask if you are running > the latest version of Cfengine? > > -Dan > >> Then, you should do something like the following; changing the promiser to a >> parent directory and using file_select to match the file name. Haven't test b >> ut it should work. :-) >> >> files: >> "/var/cfengine" >> file_select => size_exceeds("promise\.log","1M"), >> depth_search => recurse("1"), >> rename => rotate("2"); >> >> body file_select size_exceeds(filename,filesize) >> { >> leaf_name => { "$(filename)" }; >> search_size => irange("$(filesize)","10M"); >> file_result => "leaf_name.size"; >> } >> >> Cheers, >> --Nakarin >> >> On Jun 4, 2010, at 9:38 AM, Seva Gluschenko wrote: >> >>> Nakarin, >>> >>> this way you can only define timed rotation (by means of action => >>> if_elapsed or by classes), but not size-based rotation. To define >>> size-based rotation, I use file_select, but it wants depth_search from >>> me. I believe, depth_search requirement must be suppressed for file >>> promises. >>> >>> 2010/6/4 Nakarin Phooripoom <mynameisje...@gmail.com>: >>>> Do we really need to include depth_search to rotate a file? >>>> >>>> file: >>>> "/var/cfengine/promise.log" >>>> rename => rotate("3"); >>>> >>>> Cheers, >>>> --Nakarin >>>> >>>> On Jun 4, 2010, at 8:46 AM, Seva Gluschenko wrote: >>>> >>>>> Hello folks, >>>>> >>>>> When I wrote a promise to rotate /var/cfengine/promise.log (BTW, why >>>>> Cfengine doesn't rotate it?), cf-promises warned me about using rename >>>>> body without depth_search body. Well, okay, despite I was surprised >>>>> with such a requirement, I've added depth_search => recursion("1"). >>>>> Now (with 3.0.5b2), executor sends me messages with the following >>>>> warning: >>>>> >>>>> Warning: depth_search (recursion) is promised for a base object >>>>> /var/cfengine/promise.log that is not a directory >>>>> >>>>> So how do I get rid of warnings? Can depth_search be removed now or so? >>>>> >>>>> -- >>>>> SY, Seva Gluschenko. >>>>> _______________________________________________ >>>>> Help-cfengine mailing list >>>>> Help-cfengine@cfengine.org >>>>> https://cfengine.org/mailman/listinfo/help-cfengine >>>> >>> >>> >>> -- >>> SY, Seva Gluschenko. >> _______________________________________________ >> 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 -- Mark Burgess ------------------------------------------------- Professor of Network and System Administration Oslo University College, Norway Personal Web: http://www.iu.hio.no/~mark Office Telf : +47 22453272 ------------------------------------------------- _______________________________________________ Help-cfengine mailing list Help-cfengine@cfengine.org https://cfengine.org/mailman/listinfo/help-cfengine