
Untitled
By: a guest on
Aug 12th, 2012 | syntax:
None | size: 1.12 KB | hits: 17 | expires: Never
Chef and ruby templates - hw to loop though key value pairs
"zookeeper":{
"server1":"111.111.111.111",
"server2":"222.222.222.222"
},
data_bag("mydb")
db = data_bag_item("mydb", "rtb")
ZOOKEEPER = db['zookeeper']
template "/etc/zookeeper/conf/zoo.cfg" do
path "/etc/zookeeper/conf/"
source "zoo.cfg.erb"
owner "root"
group "root"
mode "0644"
variables :zookeeper => #{ZOOKEEPER}
end
server.1=111.111.111.111:2888:3888
server.2=222.222.222.222:2888:3888
count = 1
for server, ipaddress in zookeeper:
server.count=ipaddress:2888:3888
count = count + 1
"zookeeper": [
"111.111.111.111",
"222.222.222.222"
],
<% @zookeeper.each_with_index do |ipaddress, index| %>
<%= "server.#{index}=#{ipaddress}:2888:3888" %>
<% end %>
<% @zookeeper.each_pair do |name, ipaddress| %>
<%= "#{name}=#{ipaddress}:2888:3888" %>
<% end %>
db = data_bag_item("mydb", "rtb")
zookeeper = db['zookeeper']
template "/etc/zookeeper/conf/zoo.cfg" do
path "/etc/zookeeper/conf/"
source "zoo.cfg.erb"
owner "root"
group "root"
mode "0644"
variables :zookeeper => zookeeper
end