OSDN Git Service

add berkshelf-api-server-ya cookbook.
[metasearch/grid-chef-repo.git] / roles / grid-gpm.rb
1 #
2 # Copyright 2013-2014, whitestar
3 #
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
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
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.
15 #
16
17 $LOAD_PATH.push("#{File.dirname(__FILE__)}/_lib")
18 #${chef-repo}/roles/_lib/grid.rb
19 require 'grid'
20
21 name 'grid-gpm'
22 description 'Grid provisioning master node'
23
24 run_list(
25   'role[node_commons]',
26   'role[ganglia-gmond]',
27   'role[berkshelf-api-server]',
28 )
29
30 #env_run_lists "prod" => ["recipe[apache2]"], "staging" => ["recipe[apache2::staging]"], "_default" => []
31
32 this_subcluster = Grid::CLUSTERS[:base][:provisioningmasters]
33 mcast_addr = this_subcluster[:mcast_addr]
34 port = '8649'
35 =begin
36 # uni-cast
37 udp_send_channels4ucast = []
38 this_subcluster[:nodes].first(2).each {|host|
39   udp_send_channels4ucast.push(
40     {
41       'mcast_join' => '',
42       'host' => "#{host}.#{Grid::DOMAIN}",
43       'port' => port,
44       'ttl' => ''
45     }
46   )
47 }
48 =end
49
50 default_attributes(
51 )
52
53 override_attributes(
54   'berkshelf_api' => {
55     'config' => {
56       'endpoints' => [
57         {
58           'type' => 'chef_server',
59           'options' => {
60             #'url' => 'https://gpm00.grid.example.com/organizations/grid',  # chef12
61             'url' => 'https://gpm00.grid.example.com',  # chef11
62             'client_key' => '/etc/berkshelf/api-server/grid-berkshelf.pem',
63             'client_name' => 'berkshelf',
64             'ssl_verify' => false
65           }
66         },
67       ],
68       'build_interval' => 180.0
69     },
70     'app_host' => '127.0.0.1',
71     'host' => "gpm00.#{Grid::DOMAIN}",
72     'port' => 26200,
73     'proxy_port' => 6280,
74     'proxy' => {
75       'ssl' => true,
76       'ssl_certificate'     => '/etc/pki/tls/certs/01gpm00_server.crt',
77       'ssl_certificate_key' => '/etc/pki/tls/private/01gpm00_server.key',
78     } 
79   },
80   'ganglia' => {
81     # gmond
82     'cluster' => {
83       'name' => this_subcluster[:alias],
84       'owner' => Grid::DOMAIN
85     },
86     # static multi-cast
87     'static' => {
88       'udp_send_channels' => [
89         {
90           'mcast_join' => mcast_addr,
91           'host' => '',
92           'port' => port,
93           'ttl' => '1'
94         }
95       ],
96       'udp_recv_channels' => [
97         {
98           'mcast_join' => mcast_addr,
99           'port' => port,
100           'bind' => mcast_addr
101         }
102       ]
103 =begin
104       ## static uni-cast
105       'udp_send_channels' => udp_send_channels4ucast,
106       'udp_recv_channels' => [
107         {
108           'mcast_join' => '',
109           'port' => port,
110           'bind' => ''
111         }
112       ]
113 =end
114     }
115   }
116 )