On Sat, May 19, 2012 at 9:57 AM, Wolf Noble <[email protected]> wrote:
>
> so I've set a hiera key, and trying to display some different data in
> motd depending on if the value of said key is true or false… it gets set
> accordingly.. but my motd template doesn't seem to be properly reacting
> when the value of it changes..
>
> it's as if the variable never matches "true"
> not sure what I'm doing wrong here…. I SUSPECT 'true' isn't being
> perceived as such somehow…
>
> Can anyone spot what I'm missing?
>
>
>
> bash-3.2$ cat /etc/puppetlabs/puppet/modules/core/manifests/values.pp
> #
> # core::values
> # a class for namespaceing variables not specifically linked to any other
> module.
> class core::values {
> $foostatus = hiera('core_values_foo')
> }
>
>
>
> bash-3.2$ cat hieradata/(extraneous tree pruned)/Prod/common.yaml
> core_values_foo: - true
>
>
>
> bash-3.2$ cat hieradata//common.yaml
> core_values_foo: - false
>
>
> bash-3.2$ cat core/motd/templates/motd.erb
> <% foostatus = scope.lookupvar('core::values::foostatus') -%>
> ## Configuration Notice ##----------------------------------
> The configuration of <%= hostname -%> is managed by Puppet.
> ### QuickStats from last puppetrun
> RAM: <%= memorysize -%> ::
> <%= lsbdistdescription %>
> Kernel: <%= kernelrelease %>
> Internal IP: <%= ipaddress %>
> ###########################################################
> <% if foostatus == "true" -%>
>
This is the problem - you're trying to compare a boolean value of true to a
string value of 'true'. Just do something like:
<% if foostatus -%>
That should work for you :)
> | foo is true |
> `****************************************************'
> <% else -%>
> | foo is not true |
> `****************************************************'
> <% end-%>
> <%= foostatus %>
> bash-3.2$
>
>
>
> [root@bookworm ~]# cat /etc/motd
> ## Configuration Notice ##----------------------------------
> The configuration of bookworm is managed by Puppet.
> ### QuickStats from last puppetrun
> RAM: 512.18 MB ::
> CentOS release 5.8 (Final)
> Kernel: 2.6.18-308.4.1.el5xen
> Internal IP: 123.123.123.123
> ###########################################################
> | foo is not true |
> `****************************************************'
> true
>
>
>
> if I remove the entry which is setting it to true in
> hieradata/(pruned)Prod/common.yaml:
>
> [root@bookworm ~]# cat /etc/motd
> ## Configuration Notice ##----------------------------------
> The configuration of bookworm is managed by Puppet.
> ### QuickStats from last puppetrun
> RAM: 512.18 MB ::
> CentOS release 5.8 (Final)
> Kernel: 2.6.18-308.4.1.el5xen
> Internal IP: 123.123.123.123
> ###########################################################
> | foo is not true |
> `****************************************************'
> false
>
>
>
>
>
> ________________________________
>
> This message may contain confidential or privileged information. If you
> are not the intended recipient, please advise us immediately and delete
> this message. See http://www.datapipe.com/legal/email_disclaimer/ for
> further information on confidentiality and the risks of non-secure
> electronic communication. If you cannot access these links, please notify
> us by reply message and we will send the contents to you.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/puppet-users?hl=en.
>
>
--
Gary Larizza
Professional Services Engineer
Puppet Labs
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.