Why doesn’t this work? Classes are evaluated after variables?
The hostname of the box I’m running this on in canonical form is esv4_cfe_guppy.
$ cat test.cf
body common control
{
bundlesequence => { testit };
}
#####
bundle common global
{
vars:
"test_boxes" slist => { "esv4_cfe_guppy", "host2", "host3" };
classes:
"test_class" or => { @(test_boxes) };
}
######
bundle agent testit
{
reports:
test_class::
"I got here";
}
This fails.
$ /var/cfengine/bin/cf-agent -I -K -f ./test.cf
$
Changing from @(test_boxes) to explicitly defining the hosts works.
$ /var/cfengine/bin/cf-agent -I -K -f ./test.cf
R: I got here
Why? Do I need to call a special function to expand the slist so the class
gets defined like I’m trying to do?
$ cat test.cf
body common control
{
bundlesequence => { testit };
}
#####
bundle common global
{
vars:
#"test_boxes" slist => { "esv4_cfe_guppy", "host2", "host3" };
classes:
#"test_class" or => { $(test_boxes) };
"test_class" or => { "esv4_cfe_guppy", "host2", "host3" };
}
######
bundle agent testit
{
reports:
test_class::
"I got here";
}
_______________________________________________
Help-cfengine mailing list
[email protected]
https://cfengine.org/mailman/listinfo/help-cfengine