2 # Copyright 2013-2014, whitestar
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
8 # http://www.apache.org/licenses/LICENSE-2.0
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
17 $LOAD_PATH.push("#{File.dirname(__FILE__)}/_lib")
18 #${chef-repo}/roles/_lib/grid.rb
23 cluster_name = 'pleiades'
24 cluster_sym = cluster_name.to_sym
26 name "#{cluster_name}-gm"
27 description "#{cluster_name.capitalize} ganglia gmetad node"
31 'role[nameservice-client-grid]',
32 'role[ganglia-gmond]',
33 'role[ganglia-gmetad]',
39 this_subcluster = Grid::CLUSTERS[cluster_sym][:gmetads]
40 mcast_addr = this_subcluster[:mcast_addr]
42 polling_interval = '30'
45 udp_send_channels4ucast = []
46 this_subcluster[:nodes].first(2).each {|host|
47 udp_send_channels4ucast.push(
50 'host' => "#{host}.#{Grid::DOMAIN}",
60 Grid::CLUSTERS[cluster_sym].select{|key| key != :datanodes}.each {|key, cluster|
63 :name => cluster[:alias],
64 :polling_interval => polling_interval,
66 :address_list => cluster[:nodes].first(2).map{|host| "#{host}.#{Grid::DOMAIN}"}
77 #(0...80).step(40) {|v|
78 first_head = v.to_s.rjust(digit_nums, padstr)
79 last_head = (v + head_node_nums -1).to_s.rjust(digit_nums, padstr)
82 :name => "DataNode#{first_head}",
83 :polling_interval => polling_interval,
84 :address_list => "dn{#{first_head}..#{last_head}}.#{Grid::DOMAIN}".expand
93 "from .#{Grid::DOMAIN}",
94 'from 192.168.0.0/16'],
95 'AuthType' => 'Kerberos',
97 'KrbAuthRealms' => Grid::REALM,
98 'Krb5Keytab' => '/etc/krb5.keytab'
105 if defined? Grid::CLUSTERS[cluster_sym][:nagioses][:nodes] then
106 nagios_nodes = Grid::CLUSTERS[cluster_sym][:nagioses][:nodes].map{|host| "#{host}.#{Grid::DOMAIN}"}
113 'name' => this_subcluster[:alias],
114 'owner' => Grid::DOMAIN
118 'udp_send_channels' => [
120 'mcast_join' => mcast_addr,
126 'udp_recv_channels' => [
128 'mcast_join' => mcast_addr,
135 'udp_send_channels' => udp_send_channels4ucast,
136 'udp_recv_channels' => [
146 'gridname' => 'Pleiades',
147 'trusted_hosts' => ['127.0.0.1'] + nagios_nodes,
148 'data_sources' => data_sources + dn_data_sources