- From: AJ Christensen <
>
- To: chef <
>
- Subject: [chef] Re: Re: Re: conditional in recipe to evaluate node name not working (as expected)
- Date: Fri, 15 Mar 2013 09:00:58 +1300
Please don't do this!
Put the environment into an attribute (it may already be in one:
bonus) and simplify the whole section:
```
node.default['zookeeper']['environment'] = "dev"
env = node['zookeeper']['environment'] # shorten the interpolated lvar
template "/opt/zookeeper/conf/zk.conf" do
source "zk.#{env}.conf.erb"
owner "root"
group "root"
mode "0644"
end
```
Cheers,
AJ
On 15 March 2013 07:59, Jeremy Koerber
<
>
wrote:
>
That did the trick. Thanks!
>
>
Working block is:
>
>
case node.name
>
when /^qa/
>
>
template "/opt/zookeeper/conf/zk.conf" do
>
source "zk.qa.conf.erb"
>
owner "root"
>
group "root"
>
mode "0644"
>
end
>
else
>
template "/opt/zookeeper/conf/zk.conf" do
>
source "zk.prod.conf.erb"
>
owner "root"
>
group "root"
>
mode "0644"
>
end
>
end
>
>
>
>
On Thu, Mar 14, 2013 at 11:31 AM, Adam Mielke
>
<
>
>
wrote:
>
>
>
> A quick check in shef (version 10.24) tells me that node["name"] returns
>
> nil, but node.name gives the expected result:
>
>
>
> Ohai2u
>
>
>
> chef > node['name']
>
> => nil
>
> chef > node.name
>
> => "mynode"
>
>
>
> --
>
> Adam Mielke
>
> System Engineer
>
> University of Minnesota
>
>
>
> On Thu, Mar 14, 2013 at 1:14 PM, Jeremy Koerber
>
> <
>
>
> wrote:
>
>>
>
>> Hi,
>
>> I’m trying to modify the community memcached recipe such that it will
>
>> source one template file if the node name starts with qa, and another if
>
>> the
>
>> node name is anything else. But no matter what I try, the recipe seems to
>
>> ignore the conditional and just goes with the “else” block. So the result
>
>> is
>
>> that my nodes that are named qa* are getting my production template
>
>> sourced.
>
>> I even tried just setting the node name conditional to the exact name of a
>
>> specific node, and still that node ends up with the default template, not
>
>> the QA one specified in the conditional. Here’s the conditional:
>
>>
>
>> case node["name"]
>
>> when "qa*"
>
>> template "/opt/zookeeper/conf/zk.conf" do
>
>> source "zk.qa.conf.erb"
>
>> owner "root"
>
>> group "root"
>
>> mode "0644"
>
>> end
>
>> else
>
>> template "/opt/zookeeper/conf/zk.conf" do
>
>> source "zk.prod.conf.erb"
>
>> owner "root"
>
>> group "root"
>
>> mode "0644"
>
>> end
>
>> end
>
>>
>
>> I also have these nodes in a separate chef environment called “qa”, but
>
>> I’m not having any luck keying off that either. Any ideas? Here’s the
>
>> output
>
>> of a ‘knife node show’ for the node in question:
>
>>
>
>> knife node show -Fj qa-memcached01-1-i-91e11be3
>
>> {
>
>> "name": "qa-memcached01-1-i-91e11be3",
>
>> "chef_environment": "qa",
>
>> "run_list": [
>
>> "role[memcached]"
>
>> ],
>
>> "normal": {
>
>> "memcached": {
>
>> "memory": "384"
>
>> },
>
>> "tags": [
>
>>
>
>> ]
>
>> }
>
>> }
>
>>
>
>> Thanks, Jeremy
>
>>
>
>>
>
>>
>
>> --
>
>> Jeremy Koerber
>
>> Director - Tech Ops
>
>> branchout.com/jeremy.koerber
>
>>
>
>>
>
>>
>
>
>
>
>
>
--
>
Jeremy Koerber
>
Director - Tech Ops
>
branchout.com/jeremy.koerber
>
>
>
Archive powered by MHonArc 2.6.16.