Command arguments appear not to be taken into account when comparing 
"commands" promises against recently executed promises.  

In the following example, the first command echoes each item in the list, 
while the second echoes only "apple", followed by two ifelapsed lock 
messages.

It would make sense to me if this were by design, so that just the 
promiser itself is compared against the db in every case.  If that's so, 
perhaps args should not support list expansion?


body common control
{
bundlesequence  => { "main" };
}

bundle agent main
{

vars:

"testlist" slist => { "apple", "banana", "carrot" };

commands:

"/bin/echo test1 $(testlist)";

"/bin/echo test2"
  args => "$(testlist)";

}


cf3     .........................................................
cf3     Promise: /bin/echo test1 apple
cf3     .........................................................
cf3
cf3  -> Promiser string contains a valid executable (/bin/echo) - ok
cf3  -> Executing '/bin/echo test1 apple' ...(timeout=0,owner=-1,group=-1)
cf3  -> (Setting umask to 77)
cf3 Q ".../bin/echo test1": test1 apple
cf3  -> Last 1 QUOTEed lines were generated by "/bin/echo test1 apple"
cf3  -> Completed execution of /bin/echo test1 apple
cf3 Performance(Exec(/bin/echo test1 apple)): time=0.0037 secs, av=0.0041 
+/- 0.
0064
cf3
cf3     .........................................................
cf3     Promise: /bin/echo test1 banana
cf3     .........................................................
cf3
cf3  -> Promiser string contains a valid executable (/bin/echo) - ok
cf3  -> Executing '/bin/echo test1 banana' 
...(timeout=0,owner=-1,group=-1)
cf3  -> (Setting umask to 77)
cf3 Q ".../bin/echo test1": test1 banana
cf3  -> Last 1 QUOTEed lines were generated by "/bin/echo test1 banana"
cf3  -> Completed execution of /bin/echo test1 banana
cf3 Performance(Exec(/bin/echo test1 banana)): time=0.0038 secs, av=0.0038 
+/- 0
.0062
cf3
cf3     .........................................................
cf3     Promise: /bin/echo test1 carrot
cf3     .........................................................
cf3
cf3  -> Promiser string contains a valid executable (/bin/echo) - ok
cf3  -> Executing '/bin/echo test1 carrot' 
...(timeout=0,owner=-1,group=-1)
cf3  -> (Setting umask to 77)
cf3 Q ".../bin/echo test1": test1 carrot
cf3  -> Last 1 QUOTEed lines were generated by "/bin/echo test1 carrot"
cf3  -> Completed execution of /bin/echo test1 carrot
cf3 Performance(Exec(/bin/echo test1 carrot)): time=0.0037 secs, av=0.0037 
+/- 0
.0061
cf3
cf3     .........................................................
cf3     Promise: /bin/echo test2
cf3     .........................................................
cf3
cf3  -> Promiser string contains a valid executable (/bin/echo) - ok
cf3  -> Executing '/bin/echo test2 apple' ...(timeout=0,owner=-1,group=-1)
cf3  -> (Setting umask to 77)
cf3 Q ".../bin/echo test2": test2 apple
cf3  -> Last 1 QUOTEed lines were generated by "/bin/echo test2 apple"
cf3  -> Completed execution of /bin/echo test2 apple
cf3 Performance(Exec(/bin/echo test2 apple)): time=0.0037 secs, av=0.0041 
+/- 0.                           0064
cf3 Nothing promised for [commands.args.._bin_echo_test2] (0/1 minutes 
elapsed)
cf3 Nothing promised for [commands.args.._bin_echo_test2] (0/1 minutes 
elapsed)


-Jessica

_______________________________________________
Bug-cfengine mailing list
[email protected]
https://cfengine.org/mailman/listinfo/bug-cfengine

Reply via email to