Please open a bug at bug.cfengine.com.   The reference manual does not
say anything about global classes not working in the context of
abortclasses.  (Either the behavior needs to be fixed, or it needs to
be documented.)  Either way, please open a ticket.  Thanks, crd.

Yours,
Aleksey

On Tue, Nov 1, 2011 at 3:47 AM,  <no-re...@cfengine.com> wrote:
> Forum: CFEngine Help
> Subject: abortclasses with global classes
> Author: crd
> Link to topic: https://cfengine.com/forum/read.php?3,23858,23858#msg-23858
>
> Hi,
>
> I'm trying to set up a structure where system configuration files are copied 
> from a master to a local tmp directory for use in later promises. I want the 
> bundle which performs this copy/update to halt cfengine execution completely 
> if it encounters any problems during the copy. This is to prevent problems 
> down the line with unexpanded variables etc.
>
> To accomplish this I'm using abortclasses, the problem I'm having is that 
> globally defined classes don't seem to trigger the abort:
>
>
> "$(g.local_source)/."
>                comment                 =>      "Update template files",
>                create                  =>      "true",
>                perms                   =>      mog("0600", "root", "root"),
>                depth_search    =>      recurse("inf"),
>                copy_from               =>      
> secure_cp_purge("$(g.remote_source)", "$(u_policyhost)"),
>                classes                 =>      
> if_else("file_source_update_complete", "abort_execution_g");
>
>
> I believe the class "abort_execution_g" will be global when it is defined. If 
> I have in a body agent control section 'abortclasses      => 
> {"abort_execution_g"};' then execution is not halted.
>
>  If I hack around the problem by defining a local class from the global class 
> and change the abortclasses to  'abortclasses     => {"abort_execution"};' it 
> works and cf-agent halts:
>
> classes:
>        abort_execution_g:: #define local class to end execution (globals do 
> not trigger execution halt )
>                "abort_execution" expression    =>      strcmp("test","test"); 
> # true
>
>
>
>
>
> Is this a bug or am I missing something? I can't see anything in the 
> reference about global classes not working. I'm using version 3.0.5 due to a 
> need to use the debian package repository.
>
> Thanks
>
> _______________________________________________
> 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

Reply via email to