OSDN Git Service

add IPv4/6 setting support for Ganglia.
[metasearch/grid-chef-repo.git] / roles / ptolemy-nn.rb
1 $LOAD_PATH.push("#{File.dirname(__FILE__)}/../_lib")
2 #${chef-repo}/_lib/grid.rb
3 require 'grid'
4 require 'socket'
5
6 cluster_name = 'ptolemy'
7 cluster_sym = cluster_name.to_sym
8
9 name "#{cluster_name}-nn"
10 description "#{cluster_name.capitalize} NameNode node"
11
12 run_list(
13   'role[node_commons]',
14   #'role[grid-realm]',
15   'role[ganglia-gmond]',
16   "role[#{cluster_name}-node]"
17 )
18
19 #env_run_lists()
20
21 this_subcluster = Grid::CLUSTERS[cluster_sym][:namenodes]
22 mcast_addr = this_subcluster[:mcast_addr]
23 port = '8649'
24 # uni-cast
25 udp_send_channels4ucast = []
26 this_subcluster[:nodes].first(2).each {|host|
27   udp_send_channels4ucast.push(
28     {
29       'mcast_join' => '',
30       'host' => "#{host}.#{Grid::DOMAIN}",
31       #'host' => IPSoket.getaddress("#{host}.#{Grid::DOMAIN}"),
32       'port' => port,
33       'ttl' => ''
34     }
35   )
36 }
37
38 default_attributes(
39 )
40
41 override_attributes(
42   'ganglia' => {
43     # gmond
44     'cluster' => {
45       'name' => this_subcluster[:alias],
46       'owner' => Grid::DOMAIN
47     },
48     'static' => {
49 =begin
50       ## static multi-cast
51       'udp_send_channels' => [
52         {
53           'mcast_join' => mcast_addr,
54           'host' => '',
55           'port' => port,
56           'ttl' => '1'
57         }
58       ],
59       'udp_recv_channels' => [
60         {
61           'mcast_join' => mcast_addr,
62           'port' => port,
63           'bind' => mcast_addr
64         }
65       ]
66 =end
67       ## static uni-cast
68       'udp_send_channels' => udp_send_channels4ucast,
69       'udp_recv_channels' => [
70         {
71           'mcast_join' => '',
72           'port' => port,
73           'bind' => ''
74         }
75       ]
76     }
77   }
78 )