Jonathan Clarke wrote :

> It looks like you may need unique names for body and bundle items, even if
> they are of the same type...

Hello Jonathan,

Thank you for the reply.

But oops ... I notice that I wrote : package_method "update" ... where my
problem is with : package_policy "update".

In the example I gave with unit_package_zipper.cf (using "add" with the
instead of "update"), the "Body type mismatch" seems to come from a conflict
between 'package_policy => "add"' included in bundle agent packages and the
'body agent add' that I inserted below : just insert a "bundle agent add",
drop the body with expireafter, and everything is fine again.

Not only the bundles/bodies names must be unique, but it seems they have to
be different from some reserved keywords. Unless package_policy options
add,delete,reinstall,update,
patch,verify are considered as bodies somehow ?

It makes no serious problem, since it is easy to fix by choosing other names
for our bundles/bodies.
I would just say that "update" is a commonly used name in examples and in
reference manual, and it took me a little time to understand why cf-agent
refused to apply a package_policy supposed to be valid.

Output with unit_package_zypper.cf customized with 'bundle agent add' and
'body agent add' (same result with update, verify or any valid
package_policy value also used as a body name) :
# cf-agent -K -I -f ./my_unit_package_zypper.cf
Body type mismatch for body reference "add" in promise at line 29 of ./
my_unit_package_zypper.cf
Validation: Selection on rhs of lval 'package_policy' given as 'true' is out
of bounds, should be in [add,delete,reinstall,update,patch,verify]

Frederic
_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to