cat t.ppt.pp (common to all tests): @notify {'This is a test 1': tag => 'one'}@notify {'This is a test 2': tag => 'two'}@notify {'This is a test 3': tag => ['one', 'two']}@notify {'This is a test 4': tag => 'three'}
Notify <| test_goes_here |>
tail -1 t.pp Notify <| tag == 'one' or tag == 'two' |>
puppet apply t.pp Notice: Compiled catalog for defiant.cequintecid.com in environment production in 0.70 secondsNotice: This is a test 1Notice: /Stage[main]/Main/Notify[This is a test 1]/message: defined 'message' as 'This is a test 1'Notice: This is a test 2Notice: /Stage[main]/Main/Notify[This is a test 2]/message: defined 'message' as 'This is a test 2'Notice: This is a test 3Notice: /Stage[main]/Main/Notify[This is a test 3]/message: defined 'message' as 'This is a test 3'Notice: Applied catalog in 0.02 seconds
tail -1 t.pp Notify <| tag == 'one' and tag == 'two' |>
puppet apply t.pp Notice: Compiled catalog for defiant.cequintecid.com in environment production in 0.47 secondsNotice: This is a test 3Notice: /Stage[main]/Main/Notify[This is a test 3]/message: defined 'message' as 'This is a test 3'Notice: Applied catalog in 0.02 seconds
tail -1 t.pp Notify <| tag != 'one' and tag != 'two' |>
puppet apply t.pp Notice: Compiled catalog for defiant.cequintecid.com in environment production in 0.48 secondsNotice: This is a test 3Notice: /Stage[main]/Main/Notify[This is a test 3]/message: defined 'message' as 'This is a test 3'Notice: This is a test 4Notice: /Stage[main]/Main/Notify[This is a test 4]/message: defined 'message' as 'This is a test 4'Notice: Applied catalog in 0.01 seconds
tail -1 t.pp Notify <| tag != 'one' or tag != 'two' |>
puppet apply t.pp Notice: Compiled catalog for defiant.cequintecid.com in environment production in 0.58 secondsNotice: This is a test 1Notice: /Stage[main]/Main/Notify[This is a test 1]/message: defined 'message' as 'This is a test 1'Notice: This is a test 2Notice: /Stage[main]/Main/Notify[This is a test 2]/message: defined 'message' as 'This is a test 2'Notice: This is a test 3Notice: /Stage[main]/Main/Notify[This is a test 3]/message: defined 'message' as 'This is a test 3'Notice: This is a test 4Notice: /Stage[main]/Main/Notify[This is a test 4]/message: defined 'message' as 'This is a test 4'Notice: Applied catalog in 0.02 seconds
The query could be explained as follows :
If iether there is a tag that is not 'one', or there is a tag that is not two, then it will be collected.
test1 : tag => one is != two, so that gives us true, and this collected
test2: tag => two is != one, so here also gives us true and thus collected
test3: tag => [ one , two]. as soon as there is one tag in the array that return true, than the resource is collected. In your case one != two and aslo two!=one, which makes the rersource collected.
test4: tag => three differs from both one and two
It is clear one needs to be carefull when defining the query in a collector. Don't assume it works as we are used to work in conditionals as we are used in normal programming.
I hope i didn't confuse too much.
Hth
johan
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/e31573bc-b306-482b-bf64-762a0ba9dfca%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Upcoming Trainings:
Bacula Training | https://www.open-future.be/calendar
Puppet Training | https://www.open-future.be/calendar
Linux Training | https://www.open-future.be/calendar
Zabbix Training | https://www.open-future.be/calendar
Subscribe to our newsletter: http://eepurl.com/BUG8H
Hi,
I'm aware it is a bit 'unlogic' :) but that's how it works now.
Thx for the ticket, will follow it to see what happens
Grts
Johan
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/1663431e-c20a-4e1c-b8be-56f04a53bdb2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.