[chef] Re: Re: Re: Re: simple read a variable issue


Chronological Thread 
  • From: Daniel Condomitti < >
  • To:
  • Subject: [chef] Re: Re: Re: Re: simple read a variable issue
  • Date: Tue, 29 Oct 2013 13:52:10 -0700

Dashes are not valid in symbol names unless you quote them. It’s interpreted 
as `:acc - deploy`. Just switch to underscores and you’ll be good.  


On Tuesday, October 29, 2013 at 1:38 PM, Manoj Thakkar wrote:

> Thanks Andrew,
>  
> i pasted the wrong code , i fixed that _ vs "-" thing , but it still did 
> not work ,same error
>  
> Chef Client failed. 0 resources updated  
> [2013-10-29T13:36:43-07:00] FATAL: Stacktrace dumped to 
> /var/chef/cache/chef-stacktrace.out
> [2013-10-29T13:36:43-07:00] FATAL: NoMethodError: undefined method `each' 
> for nil:NilClass
> You have mail in /var/spool/mail/deploy
>  
>  
>  
> cookbook_file "/local_app/account-rest.properties" do
> source "account-rest.properties"
> mode 0777
> owner "deploy"
> group "deploy"
> end
> ruby_block "acc-deploy-host" do
> block do
>  
> host=`hostname -s`
> node.set[:acc-deploy] = `cat /local_app/account-rest.properties | grep -i 
> "#{host}" | cut -d":" -f2 `
> puts "value is #{node[:acc-deploy]}"
> end
> action :create
> end
> node['acc-deploy'].each do |x|
> puts #x
>  
> end
>  
>  
>  
>  
> On Tue, Oct 29, 2013 at 1:32 PM, Andrew Gross 
> <
>  
> (mailto: )>
>  wrote:
> > In the first case you use a dash node.set[:acc-deploy]  
> > In the second case you are using underscore node['acc_deploy'].each  
> >  
> > Additionally I would recommend standardizing on symbols vs strings
> >  
> > Hopefully that works.
> >  
> >  
> > On Tue, Oct 29, 2013 at 4:27 PM, Manoj Thakkar 
> > <
> >  
> > (mailto: )>
> >  wrote:
> > > i changed the code to this ,
> > >  
> > > still does not work , what is wrong ?
> > >  
> > >  
> > > cookbook_file "/local_app/account-rest.properties" do  
> > > source "account-rest.properties"
> > > mode 0777
> > > owner "deploy"
> > > group "deploy"
> > > end
> > > ruby_block "acc-deploy-host" do
> > > block do
> > >  
> > > node.set[:acc-deploy] = `cat /local_app/account-rest.properties | grep 
> > > -i "#{host}" | cut -d":" -f2 `
> > > puts "value is #{node["acc-deploy"]}"
> > > end
> > > action :create
> > > end
> > > node['acc_deploy'].each do |x|
> > >  
> > > puts #x
> > >  
> > > end  
> > >  
> > >  
> > > On Tue, Oct 29, 2013 at 1:17 PM, Manoj Thakkar 
> > > <
> > >  
> > > (mailto: )>
> > >  wrote:
> > > > Hey,
> > > >  
> > > > i have been trying to fix this for almost 30 minutes now , thought i 
> > > > shall better ask, please looks at the code snippet below, I am not 
> > > > able to access this simple variable what am i doing wrong ? please 
> > > > advise.  
> > > >  
> > > >  
> > > > cookbook_file "/local_app/account-rest.properties" do
> > > > source "account-rest.properties"
> > > > mode 0777
> > > > owner "deploy"
> > > > group "deploy"
> > > > end
> > > > ruby_block "acc-deploy-host" do
> > > > block do
> > > > node.default["acc-deploy"] = `cat /local_app/account-rest.properties 
> > > > | grep -i "#{host}" | cut -d":" -f2 `
> > > > puts "value is #{node["acc-deploy"]}"
> > > > end
> > > > action :create
> > > > end
> > > > node[:acc_deploy].each do |x| ----- this does not work  
> > > > puts #x
> > > >  
> > > > end  





Archive powered by MHonArc 2.6.16.

§