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" -%>
| 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 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.
On Sat, May 19, 2012 at 9:57 AM, Wolf Noble <wnoble@datapipe.com> 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 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. > >-- 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 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.
Thanks Gary, I knew it was something simple. Appreciate the help <% 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 :) ________________________________ 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 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.