Thanks for the quick feedback - Okay, I can do a LOT with that. It's much more Cfenginy and scalable.
What a difference. Many thanks! On Fri, May 20, 2011 at 2:21 PM, Mark Burgess <m...@cfengine.com> wrote: > > First, I would alsways use isexecutable("/path/file") over a shell command > test -x, then try something like this: > > vars: > > freebsd:: > > "check_service" string => "/usr/local/libexec/tenant/check_mysql"; > > linux:: > > "check_service" string => "/usr/local/lib/tenant/check_mysql"; > > classes: > > "ok_to_check" expression => isexecutable("$(check_service)"); > > ok_to_check:: > > "CheckMysql" expression => returnszero("$(check_service)"); > > > > > On 05/20/2011 11:11 PM, dave first wrote: > > Hey Folks, > > One of our engineers wrote a promise a while back to create a class in > promises.cf given the outcome of an expression... > > classes: > > "CheckMysql" expression => returnszero("/bin/test -x > /usr/local/libexec/tenant/check_tenant -a ! -x > /usr/local/libexec/tenant/check_mysql","useshell"); > > The problem is, when this promise was written, there was only one OS being > monitored by Cfengine. Now we have several OS's being monitored, and none > of the paths in the promise will match for any but one OS. Errors abound in > the logs saying can't find "/usr/local/libexec/tenant/check_tenant" and > can't find "/bin/test". > > How do I define a class for only one OS? > > Thanks, > Dave > > > _______________________________________________ > Help-cfengine mailing > listHelp-cfengine@cfengine.orghttps://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