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.
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" }
--Noah
Archive powered by MHonArc 2.6.16.