1 $LOAD_PATH.push("#{File.dirname(__FILE__)}/../_lib")
2 #${chef-repo}/_lib/grid.rb
7 cluster_name = 'praesepe'
8 cluster_sym = cluster_name.to_sym
9 datanode_prefix = 'dn1'
10 datanode_digit_nums = 4
12 name "#{cluster_name}-gm"
13 description "#{cluster_name.capitalize} ganglia gmetad node"
17 #'role[nameservice-client-grid]',
18 'role[ganglia-gmond]',
19 'role[ganglia-gmetad]',
25 this_subcluster = Grid::CLUSTERS[cluster_sym][:gmetads]
26 mcast_addr = this_subcluster[:mcast_addr]
28 polling_interval = '30'
30 udp_send_channels4ucast = []
31 this_subcluster[:nodes].first(2).each {|host|
32 udp_send_channels4ucast.push(
35 'host' => "#{host}.#{Grid::DOMAIN}",
44 Grid::CLUSTERS[cluster_sym].select{|key| key != :datanodes}.each {|key, cluster|
47 :name => cluster[:alias],
48 :polling_interval => polling_interval,
50 :address_list => cluster[:nodes].first(2).map{|host| "#{host}.#{Grid::DOMAIN}"}
57 digit_nums = datanode_digit_nums
61 #(0...80).step(40) {|v|
62 first_head = v.to_s.rjust(digit_nums, padstr)
63 last_head = (v + head_node_nums -1).to_s.rjust(digit_nums, padstr)
66 :name => "DataNode#{first_head}",
67 :polling_interval => polling_interval,
69 :address_list => "#{datanode_prefix}{#{first_head}..#{last_head}}.#{Grid::DOMAIN}".expand
79 "from .#{Grid::DOMAIN}",
80 'from 192.168.0.0/16'],
81 'AuthType' => 'Kerberos',
83 'KrbAuthRealms' => Grid::REALM,
84 'Krb5Keytab' => '/etc/krb5.keytab'
92 if defined? Grid::CLUSTERS[cluster_sym][:nagioses][:nodes] then
93 nagios_nodes = Grid::CLUSTERS[cluster_sym][:nagioses][:nodes].map{|host| "#{host}.#{Grid::DOMAIN}"}
100 'name' => this_subcluster[:alias],
101 'owner' => Grid::DOMAIN
106 'udp_send_channels' => [
108 'mcast_join' => mcast_addr,
114 'udp_recv_channels' => [
116 'mcast_join' => mcast_addr,
123 'udp_send_channels' => udp_send_channels4ucast,
124 'udp_recv_channels' => [
133 'gridname' => cluster_name.capitalize,
134 'trusted_hosts' => ['127.0.0.1'] + nagios_nodes,
135 'data_sources' => data_sources + dn_data_sources