MBroderick@TDS
2012-Feb-14  23:07 UTC
[Puppet Users] using a boolean selector inside require always returns false
We are trying to conditionalize what is required by a resource...
service { "xxx":
    ...
    require  => $bool-var ? {
       true  =>  [ list1 ],
       false => [ list2 ],
    }
}
But false always seems to get selected regardless of the value of bool-
var (true or false).
As a workaround, we did
     if $bool-var {
         $t = [ list1 ]
    } else {
         $t = [ list2 ]
   }
service { ...
   ...
   require => $t
}
...but prefer the previous more elegant declaration.
Is this a bug?  Known?  (we are running 2.6.8 and I did not see any
later release notes addressing this)
_Mike
-- 
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to
puppet-users+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.
Henrik Lindberg
2012-Feb-14  23:37 UTC
Re: [Puppet Users] using a boolean selector inside require always returns false
On 2012-15-02 24:07, MBroderick@TDS wrote:> We are trying to conditionalize what is required by a resource... > > service { "xxx": > ... > require => $bool-var ? { > true => [ list1 ], > false => [ list2 ], > } > } >is $bool-var really a boolean, or does it contain the text "true" or "false"? Guess what this prints out... if "false" { notice("false is true") } (Also note that hyphens in variable names only work in some versions, and will not be supported going forward. You can change the ''-'' to ''_''). The reason your first example produces undefined is that a string is neither boolean true nor false when comparing. The second example produces true for the string (with the meaning it is not undefined) - it will always be true unless $boolean-var is undefined. You can try $boolean-var == "true" ? { true => ..., false => ...} Regards - henrik -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.