- From: Noorul Islam K M <
>
- To: Ravindra <
>
- Cc:
- Subject: [chef] Re: Chef Recipe Help
- Date: Thu, 07 Nov 2013 14:07:52 +0530
Ravindra
<
>
writes:
>
Hello,
>
>
I'm learning Chef and need help in below mentioned scenario.
>
>
Here is the Chef recipe that I'm using.
>
>
in attributes/default.rb file
>
node['my_recipe']['sample'] = {'tool1' => ['toolname', 'tool1.exe',
>
'/sc Weekly /d SUN /st 1:00]}
>
>
#global variable
>
$schedule_name=''
>
$executable =''
>
$schedule = ''
>
>
>
node['my_recipe']['sample'].each do |tool, infoList|
>
ruby_block "assign_variable" do
>
block do
>
$schedule_name = infoList.at(0)
>
$executable = infoList.at(1)
>
$schedule = infoList.at(2)
>
>
puts "schedule_name = #{$schedule_name}"
>
puts "executable = #{$executable}"
>
puts "schedule = #{$schedule}"
>
end
>
action :create
>
notifies :run, "execute[schedule_#{tool}]"
>
end
>
>
ruby_block "display_variable" do
>
block do
>
puts "schedule_name = #{$schedule_name}"
>
puts "executable = #{$executable}"
>
puts "schedule = #{$schedule}"
>
end
>
end
>
>
execute "schedule_#{tool}" do
>
command "schtasks /create /tn \"#{$schedule_name}\" /tr
>
\"#{node['my_recipe']['tools_dir']}\\#{tool}\\#{$executable}\"
>
#{$schedule}"
>
action :nothing
>
end
>
end
>
>
>
In "ruby_block "assign_variable" do", I'm asigning values to global
>
variable.
>
>
In "ruby_block "display_variable" do", I'm able to fetch the values of
>
these variables successfully.
>
>
However, in "execute "schedule_#{tool}" do", when I'm using these
>
global variable it returns me empty.
>
>
Could you please assist me resolving me?
>
From
http://docs.opscode.com/resource_ruby_block.html
The ruby_block resource is used to execute Ruby code during a
chef-client run. Ruby code in the ruby_block resource is evaluated with
other resources during convergence, whereas Ruby code outside of a
ruby_block resource is evaluated before other resources, as the recipe
is compiled.
Regards,
Noorul
- [chef] Re: Chef Recipe Help, Noorul Islam K M, 11/07/2013
Archive powered by MHonArc 2.6.16.