On Friday 17 Sep 2010 11:22:08 Bas van der Vlies wrote:
> On 17-09-10 11:57, Davide Brini wrote:
> > On Friday 17 Sep 2010 10:38:49 Mark Burgess wrote:
> >> This is for dynamical classes set while the config is running.
> >
> > Thanks. Any way to do what I'm trying to do then? Basically I'd like to
> > be able to, say, touch a file and have the agent do nothing if it finds
> > that file (I know I can do that by changing the exec_command or
> > switching to cron, but I'm curious to see if there's something like that
> > built-in).
>
> we have this bundel for cfengine3:
>
> bundle agent stop_cfengine
> {
> vars:
> "file" string => "/etc/no_cfengine",
> comment => "If this file exists abort cfengine run";
>
>
> classes:
> "stop_cfengine" expression => fileexists( $(file) );
>
> reports:
> stop_cfengine::
> "CFengine is not allowed to execute: $(file)";
> }
>
> body agent control
> {
> ifelapsed => "1";
>
> abortclasses => { "stop_cfengine" };
>
> debian::
> default_repository => "/var/lib/cfengine3/repository";
>
> }
>
> Just add stop_cfengine to the bundle sequence. To prevent cf-agent from
> running just touch the file.
Thanks, that works. I was basically doing the same thing, except I had it
inside an already-existing bundle, eg
bundle agent main {
classes:
"stopnow" expression => fileexists("/etc/nocfrun");
# rest of bundle here....
}
but obviously that must be somehow different from they way you suggested,
because mine was not working (despite setting the class).
Thank you!
--
D.
_______________________________________________
Help-cfengine mailing list
[email protected]
https://cfengine.org/mailman/listinfo/help-cfengine