- From: Noah Kantrowitz <
>
- To:
- Subject: [chef] Re: How to override node attribute with lazy value?
- Date: Thu, 2 Oct 2014 07:55:54 -0700
On Oct 2, 2014, at 3:13 AM, Greg Barker
<
>
wrote:
>
The chef-server readme shows how to override nginx attributes. However, it
>
doesn't seem to work like I want it to when I do:
>
>
node.override["chef-server"]["configuration"]["nginx"]["ssl_certificate"] =
>
"/etc/pki/tls/certs/#{node[:fqdn]}.pem"
>
>
node[:fqdn] is being updated during my chef run using the hostname
>
cookbook, and so using the above results in an error because chef-server
>
ends up looking for /etc/pki/tls/certs/localhost.pem (the old hostname),
>
when it should instead be using /etc/pki/tls/certs/mynode.mycompany.com.pem.
>
>
So I think I want something like the following, but this doesn't work.
>
What's the right way to do it?
>
>
node.override["chef-server"]["configuration"]["nginx"]["ssl_certificate"] =
>
lazy { "/etc/pki/tls/certs/#{node[:fqdn]}.pem" }
lazy{} is a feature of resources, not of node attributes. See
https://coderanger.net/derived-attributes/ for more information about how to
handle delayed interpolation in node attributes.
--Noah
Attachment:
signature.asc
Description: Message signed with OpenPGP using GPGMail
Archive powered by MHonArc 2.6.16.