Here is the code i am writing:
ruby_block "acc-deploy-host" do
block do
Chef::Log.info " host name is #{node['hostname']} "
host=node['hostname']
puts " hostname is #{host}"
File.open("/local_app/account-rest.properties", "r").each_line do |line|
Chef::Log.info "#{host} Account Rest line: #{line}"
if line.include?(host)
Chef::Log.info "Found host #{host} in #{line}"
deploy = line.split(':').last
deploy = deploy.gsub(/\n/," ")
node.set['account_deploy']=deploy
Chef::Log.info "Found account value #{node['account_deploy']}"
end
end
end
node['account_deploy'].each do |x|
puts #x
end
end
properties file data :
pbldejksu300:'acc1','acc2'
pdevecsas300:'acc1','acc2'
logs :
Cookbook Trace:
---------------
/var/chef/cache/cookbooks/base_tomcat/recipes/new.rb:26:in `block in from_file'
/var/chef/cache/cookbooks/base_tomcat/recipes/new.rb:9:in `from_file'
[2013-10-30T01:45:07-07:00] ERROR: Running exception handlers
[2013-10-30T01:45:07-07:00] FATAL: Saving node information to /var/chef/cache/failed-run-data.json
[2013-10-30T01:45:07-07:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated
[2013-10-30T01:45:07-07:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
[2013-10-30T01:45:07-07:00] FATAL: NoMethodError: undefined method `each' for "\"acc1\",\"acc2\" ":String