OSDN Git Service

add openldap::client recipe.
[metasearch/grid-chef-repo.git] / roles / grid-gm.rb
1 require 'rubygems'
2 require 'bracecomp'
3
4 name 'grid-gm'
5 description 'Grid Base ganglia gmetad node'
6
7 run_list(
8   'role[nameservice-client-grid]',
9   'role[ganglia-gmond]',
10   'role[ganglia-gmetad]',
11   'role[ganglia-web]'
12 )
13
14 this_domain = 'grid.example.com'
15 mcast_addr = '239.2.10.3'
16 port = '8649'
17 polling_interval = 30
18
19 #env_run_lists "prod" => ["recipe[apache2]"], "staging" => ["recipe[apache2::staging]"], "_default" => []
20
21 default_attributes(
22   'ganglia' => {
23     'web' => {
24       'Allow' => [
25         "from .#{this_domain}",
26         'from 192.168.0.0/16'],
27       'AuthType' => 'Kerberos',
28       'mod_auth_kerb' => {
29         'KrbAuthRealms' => 'GRID.EXAMPLE.COM',
30         'Krb5Keytab' => '/etc/krb5.keytab'
31       }
32     }
33   },
34 )
35
36 override_attributes(
37   'ganglia' => {
38     # gmond
39     'cluster' => {
40       'name' => 'Ganglia',
41       'owner' => this_domain
42     },
43     ## static multi-cast
44     'static' => {
45       'udp_send_channels' => [
46         {
47           'mcast_join' => mcast_addr,
48           'host' => '',
49           'port' => port,
50           'ttl' => '1'
51         }
52       ],
53       'udp_recv_channels' => [
54         {
55           'mcast_join' => mcast_addr,
56           'port' => port,
57           'bind' => mcast_addr
58         }
59       ]
60     },
61     # gmetad
62     'gridname' => 'Grid-Base',
63     'trusted_hosts' => ['127.0.0.1'] + "nm9{0..1}.#{this_domain}".expand,
64     'data_sources' => [
65       {
66         :name => 'AdministrativeStation',
67         :polling_interval => polling_interval,
68         :address_list => "adm0{0..1}.#{this_domain}".expand
69       },
70       {
71         :name => 'ProvisioningMaster',
72         :polling_interval => polling_interval,
73         :address_list => "gpm0{0..1}.#{this_domain}".expand
74       },
75       {
76         :name => 'NameService',
77         :polling_interval => polling_interval,
78         :address_list => "ns0{0..1}.#{this_domain}".expand
79       },
80       {
81         :name => 'ZooKeeper',
82         :polling_interval => polling_interval,
83         :address_list => "zk0{0..1}.#{this_domain}".expand
84       },
85       {
86         :name => 'Nagios',
87         :polling_interval => polling_interval,
88         :address_list => "nm9{0..1}.#{this_domain}".expand
89       },
90       {
91         :name => 'Ganglia',
92         :polling_interval => polling_interval,
93         :address_list => "gm9{0..1}.#{this_domain}".expand
94       },
95     ]
96   }
97 )