server_maint 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/cookbooks/mysql/CHANGELOG.md +39 -0
- data/lib/cookbooks/mysql/attributes/client.rb +3 -3
- data/lib/cookbooks/mysql/attributes/server.rb +121 -34
- data/lib/cookbooks/mysql/files/default/tests/minitest/server_test.rb +1 -1
- data/lib/cookbooks/mysql/libraries/helpers.rb +5 -5
- data/lib/cookbooks/mysql/metadata.rb +1 -1
- data/lib/cookbooks/mysql/recipes/server.rb +65 -60
- data/lib/cookbooks/mysql/templates/default/grants.sql.erb +3 -3
- data/lib/cookbooks/mysql/templates/default/my.cnf.erb +110 -14
- data/lib/cookbooks/mysql/test/kitchen/Kitchenfile +2 -0
- data/lib/cookbooks/mysql/test/kitchen/cookbooks/mysql_test/metadata.rb +0 -1
- data/lib/cookbooks/mysql/test/kitchen/cookbooks/mysql_test/recipes/client.rb +1 -1
- data/lib/cookbooks/mysql/test/kitchen/cookbooks/mysql_test/recipes/server.rb +6 -16
- data/lib/cookbooks/mysql/test/kitchen/cookbooks/mysql_test/recipes/setup.rb +32 -0
- data/lib/server_maint/version.rb +1 -1
- metadata +5 -4
@@ -1,3 +1,42 @@
|
|
1
|
+
## v2.1.0:
|
2
|
+
|
3
|
+
* [COOK-1669] - Using platform("ubuntu") in default attributes always
|
4
|
+
returns true
|
5
|
+
* [COOK-1694] - Added additional my.cnf fields and reorganized
|
6
|
+
cookbook to avoid race conditions with mysql startup and sql script
|
7
|
+
execution
|
8
|
+
* [COOK-1851] - Support server-id and binlog_format settings
|
9
|
+
* [COOK-1929] - Update msyql server attributes file because setting
|
10
|
+
attributes without specifying a precedence is deprecated
|
11
|
+
* [COOK-1999] - Add read_only tunable useful for replication slave
|
12
|
+
servers
|
13
|
+
|
14
|
+
## v2.0.2:
|
15
|
+
|
16
|
+
* [COOK-1967] - mysql: trailing comma in server.rb platform family
|
17
|
+
|
18
|
+
## v2.0.0:
|
19
|
+
|
20
|
+
**Important note for this release**
|
21
|
+
|
22
|
+
Under Chef Solo, you must set the node attributes for the root, debian
|
23
|
+
and repl passwords or the run will completely fail. See COOK-1737 for
|
24
|
+
background on this.
|
25
|
+
|
26
|
+
* [COOK-1390] - MySQL service cannot start after reboot
|
27
|
+
* [COOK-1610] - Set root password outside preseed (blocker for drop-in mysql
|
28
|
+
replacements)
|
29
|
+
* [COOK-1624] - Mysql cookbook fails to even compile on windows
|
30
|
+
* [COOK-1669] - Using platform("ubuntu") in default attributes always returns true
|
31
|
+
* [COOK-1686] - Add mysql service start
|
32
|
+
* [COOK-1687] - duplicate `innodb_buffer_pool_size` attribute
|
33
|
+
* [COOK-1704] - mysql cookbook fails spec tests when minitest-handler cookbook enabled
|
34
|
+
* [COOK-1737] - Fail a chef-solo run when `server_root_password`,
|
35
|
+
`server_debian_password`, and/or `server_repl_password` is not set
|
36
|
+
* [COOK-1769] - link to database recipe in mysql README goes to old opscode/cookbooks
|
37
|
+
repo instead of opscode-cookbook organization
|
38
|
+
* [COOK-1963] - use `platform_family`
|
39
|
+
|
1
40
|
## v1.3.0:
|
2
41
|
|
3
42
|
**Important note for this release**
|
@@ -20,10 +20,10 @@
|
|
20
20
|
# to debian_before_squeeze? and ubuntu_before_lucid?
|
21
21
|
::Chef::Node.send(:include, Opscode::Mysql::Helpers)
|
22
22
|
|
23
|
-
case node['
|
24
|
-
when "
|
23
|
+
case node['platform_family']
|
24
|
+
when "rhel", "suse", "fedora"
|
25
25
|
default['mysql']['client']['packages'] = %w{mysql mysql-devel}
|
26
|
-
when "
|
26
|
+
when "debian"
|
27
27
|
if debian_before_squeeze? || ubuntu_before_lucid?
|
28
28
|
default['mysql']['client']['packages'] = %w{mysql-client libmysqlclient15-dev}
|
29
29
|
else
|
@@ -19,25 +19,46 @@
|
|
19
19
|
|
20
20
|
default['mysql']['bind_address'] = attribute?('cloud') ? cloud['local_ipv4'] : ipaddress
|
21
21
|
default['mysql']['port'] = 3306
|
22
|
+
default['mysql']['nice'] = 0
|
22
23
|
|
23
|
-
case node["
|
24
|
-
when "
|
24
|
+
case node["platform_family"]
|
25
|
+
when "debian"
|
26
|
+
default['mysql']['server']['packages'] = %w{mysql-server}
|
27
|
+
default['mysql']['service_name'] = "mysql"
|
28
|
+
default['mysql']['basedir'] = "/usr"
|
29
|
+
default['mysql']['data_dir'] = "/var/lib/mysql"
|
30
|
+
default['mysql']['root_group'] = "root"
|
31
|
+
default['mysql']['mysqladmin_bin'] = "/usr/bin/mysqladmin"
|
32
|
+
default['mysql']['mysql_bin'] = "/usr/bin/mysql"
|
33
|
+
|
34
|
+
default['mysql']['conf_dir'] = '/etc/mysql'
|
35
|
+
default['mysql']['confd_dir'] = '/etc/mysql/conf.d'
|
36
|
+
default['mysql']['socket'] = "/var/run/mysqld/mysqld.sock"
|
37
|
+
default['mysql']['pid_file'] = "/var/run/mysqld/mysqld.pid"
|
38
|
+
default['mysql']['old_passwords'] = 0
|
39
|
+
default['mysql']['grants_path'] = "/etc/mysql/grants.sql"
|
40
|
+
when "rhel", "fedora", "suse"
|
41
|
+
if node["mysql"]["version"].to_f >= 5.5
|
42
|
+
default['mysql']['service_name'] = "mysql"
|
43
|
+
default['mysql']['pid_file'] = "/var/run/mysql/mysql.pid"
|
44
|
+
else
|
45
|
+
default['mysql']['service_name'] = "mysqld"
|
46
|
+
default['mysql']['pid_file'] = "/var/run/mysqld/mysqld.pid"
|
47
|
+
end
|
25
48
|
default['mysql']['server']['packages'] = %w{mysql-server}
|
26
|
-
default['mysql']['service_name'] = "mysqld"
|
27
49
|
default['mysql']['basedir'] = "/usr"
|
28
50
|
default['mysql']['data_dir'] = "/var/lib/mysql"
|
29
51
|
default['mysql']['root_group'] = "root"
|
30
52
|
default['mysql']['mysqladmin_bin'] = "/usr/bin/mysqladmin"
|
31
53
|
default['mysql']['mysql_bin'] = "/usr/bin/mysql"
|
32
54
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
set['mysql']['grants_path'] = "/etc/mysql_grants.sql"
|
55
|
+
default['mysql']['conf_dir'] = '/etc'
|
56
|
+
default['mysql']['confd_dir'] = '/etc/mysql/conf.d'
|
57
|
+
default['mysql']['socket'] = "/var/lib/mysql/mysql.sock"
|
58
|
+
default['mysql']['old_passwords'] = 1
|
59
|
+
default['mysql']['grants_path'] = "/etc/mysql_grants.sql"
|
39
60
|
# RHEL/CentOS mysql package does not support this option.
|
40
|
-
|
61
|
+
default['mysql']['tunable']['innodb_adaptive_flushing'] = false
|
41
62
|
when "freebsd"
|
42
63
|
default['mysql']['server']['packages'] = %w{mysql55-server}
|
43
64
|
default['mysql']['service_name'] = "mysql-server"
|
@@ -47,12 +68,12 @@ when "freebsd"
|
|
47
68
|
default['mysql']['mysqladmin_bin'] = "/usr/local/bin/mysqladmin"
|
48
69
|
default['mysql']['mysql_bin'] = "/usr/local/bin/mysql"
|
49
70
|
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
71
|
+
default['mysql']['conf_dir'] = '/usr/local/etc'
|
72
|
+
default['mysql']['confd_dir'] = '/usr/local/etc/mysql/conf.d'
|
73
|
+
default['mysql']['socket'] = "/tmp/mysqld.sock"
|
74
|
+
default['mysql']['pid_file'] = "/var/run/mysqld/mysqld.pid"
|
75
|
+
default['mysql']['old_passwords'] = 0
|
76
|
+
default['mysql']['grants_path'] = "/var/db/mysql/grants.sql"
|
56
77
|
when "windows"
|
57
78
|
default['mysql']['server']['packages'] = ["MySQL Server 5.5"]
|
58
79
|
default['mysql']['version'] = '5.5.21'
|
@@ -62,14 +83,14 @@ when "windows"
|
|
62
83
|
|
63
84
|
default['mysql']['service_name'] = "mysql"
|
64
85
|
default['mysql']['basedir'] = "#{ENV['SYSTEMDRIVE']}\\Program Files (x86)\\MySQL\\#{mysql['server']['packages'].first}"
|
65
|
-
default['mysql']['data_dir'] = "#{mysql['basedir']}\\Data"
|
66
|
-
default['mysql']['bin_dir'] = "#{mysql['basedir']}\\bin"
|
67
|
-
default['mysql']['mysqladmin_bin'] = "#{mysql['bin_dir']}\\mysqladmin"
|
68
|
-
default['mysql']['mysql_bin'] = "#{mysql['bin_dir']}\\mysql"
|
86
|
+
default['mysql']['data_dir'] = "#{node['mysql']['basedir']}\\Data"
|
87
|
+
default['mysql']['bin_dir'] = "#{node['mysql']['basedir']}\\bin"
|
88
|
+
default['mysql']['mysqladmin_bin'] = "#{node['mysql']['bin_dir']}\\mysqladmin"
|
89
|
+
default['mysql']['mysql_bin'] = "#{node['mysql']['bin_dir']}\\mysql"
|
69
90
|
|
70
|
-
default['mysql']['conf_dir'] =
|
91
|
+
default['mysql']['conf_dir'] = node['mysql']['basedir']
|
71
92
|
default['mysql']['old_passwords'] = 0
|
72
|
-
default['mysql']['grants_path'] = "#{mysql['conf_dir']}\\grants.sql"
|
93
|
+
default['mysql']['grants_path'] = "#{node['mysql']['conf_dir']}\\grants.sql"
|
73
94
|
when "mac_os_x"
|
74
95
|
default['mysql']['server']['packages'] = %w{mysql}
|
75
96
|
default['mysql']['basedir'] = "/usr/local/Cellar"
|
@@ -86,12 +107,12 @@ else
|
|
86
107
|
default['mysql']['mysqladmin_bin'] = "/usr/bin/mysqladmin"
|
87
108
|
default['mysql']['mysql_bin'] = "/usr/bin/mysql"
|
88
109
|
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
110
|
+
default['mysql']['conf_dir'] = '/etc/mysql'
|
111
|
+
default['mysql']['confd_dir'] = '/etc/mysql/conf.d'
|
112
|
+
default['mysql']['socket'] = "/var/run/mysqld/mysqld.sock"
|
113
|
+
default['mysql']['pid_file'] = "/var/run/mysqld/mysqld.pid"
|
114
|
+
default['mysql']['old_passwords'] = 0
|
115
|
+
default['mysql']['grants_path'] = "/etc/mysql/grants.sql"
|
95
116
|
end
|
96
117
|
|
97
118
|
if attribute?('ec2')
|
@@ -102,52 +123,118 @@ end
|
|
102
123
|
|
103
124
|
default['mysql']['reload_action'] = "restart" # or "reload" or "none"
|
104
125
|
|
105
|
-
default['mysql']['use_upstart'] = node
|
126
|
+
default['mysql']['use_upstart'] = node['platform'] == "ubuntu" && node['platform_version'].to_f >= 10.04
|
106
127
|
|
107
128
|
default['mysql']['auto-increment-increment'] = 1
|
108
129
|
default['mysql']['auto-increment-offset'] = 1
|
109
130
|
|
110
131
|
default['mysql']['allow_remote_root'] = false
|
132
|
+
default['mysql']['tunable']['character-set-server'] = "utf8"
|
133
|
+
default['mysql']['tunable']['collation-server'] = "utf8_general_ci"
|
111
134
|
default['mysql']['tunable']['back_log'] = "128"
|
112
135
|
default['mysql']['tunable']['key_buffer'] = "256M"
|
136
|
+
default['mysql']['tunable']['myisam_sort_buffer_size'] = "8M"
|
137
|
+
default['mysql']['tunable']['myisam_max_sort_file_size'] = "2147483648"
|
138
|
+
default['mysql']['tunable']['myisam_repair_threads'] = "1"
|
139
|
+
default['mysql']['tunable']['myisam_recover'] = "BACKUP"
|
113
140
|
default['mysql']['tunable']['max_allowed_packet'] = "16M"
|
114
141
|
default['mysql']['tunable']['max_connections'] = "800"
|
115
|
-
default['mysql']['tunable']['
|
142
|
+
default['mysql']['tunable']['max_connect_errors'] = "10"
|
143
|
+
default['mysql']['tunable']['concurrent_insert'] = "2"
|
144
|
+
default['mysql']['tunable']['connect_timeout'] = "10"
|
145
|
+
default['mysql']['tunable']['tmp_table_size'] = "32M"
|
146
|
+
default['mysql']['tunable']['max_heap_table_size'] = node['mysql']['tunable']['tmp_table_size']
|
147
|
+
default['mysql']['tunable']['bulk_insert_buffer_size'] = node['mysql']['tunable']['tmp_table_size']
|
116
148
|
default['mysql']['tunable']['myisam_recover'] = "BACKUP"
|
117
149
|
default['mysql']['tunable']['net_read_timeout'] = "30"
|
118
150
|
default['mysql']['tunable']['net_write_timeout'] = "30"
|
119
151
|
default['mysql']['tunable']['table_cache'] = "128"
|
120
|
-
|
152
|
+
|
121
153
|
default['mysql']['tunable']['thread_cache'] = "128"
|
122
154
|
default['mysql']['tunable']['thread_cache_size'] = 8
|
123
155
|
default['mysql']['tunable']['thread_concurrency'] = 10
|
124
156
|
default['mysql']['tunable']['thread_stack'] = "256K"
|
157
|
+
default['mysql']['tunable']['sort_buffer_size'] = "2M"
|
158
|
+
default['mysql']['tunable']['read_buffer_size'] = "128k"
|
159
|
+
default['mysql']['tunable']['read_rnd_buffer_size'] = "256k"
|
160
|
+
default['mysql']['tunable']['join_buffer_size'] = "128k"
|
125
161
|
default['mysql']['tunable']['wait_timeout'] = "180"
|
162
|
+
default['mysql']['tunable']['open-files-limit'] = "8192"
|
163
|
+
default['mysql']['tunable']['open-files'] = "1024"
|
164
|
+
|
165
|
+
default['mysql']['tunable']['sql_mode'] = nil
|
166
|
+
|
167
|
+
default['mysql']['tunable']['skip-character-set-client-handshake'] = false
|
168
|
+
default['mysql']['tunable']['skip-name-resolve'] = false
|
169
|
+
|
126
170
|
|
171
|
+
default['mysql']['tunable']['server_id'] = nil
|
127
172
|
default['mysql']['tunable']['log_bin'] = nil
|
128
173
|
default['mysql']['tunable']['log_bin_trust_function_creators'] = false
|
129
|
-
|
174
|
+
|
175
|
+
default['mysql']['tunable']['relay_log'] = nil
|
176
|
+
default['mysql']['tunable']['relay_log_index'] = nil
|
130
177
|
default['mysql']['tunable']['log_slave_updates'] = false
|
178
|
+
|
131
179
|
default['mysql']['tunable']['sync_binlog'] = 0
|
132
180
|
default['mysql']['tunable']['skip_slave_start'] = false
|
181
|
+
default['mysql']['tunable']['read_only'] = false
|
133
182
|
|
134
183
|
default['mysql']['tunable']['log_error'] = nil
|
184
|
+
default['mysql']['tunable']['log_warnings'] = false
|
135
185
|
default['mysql']['tunable']['log_queries_not_using_index'] = true
|
136
186
|
default['mysql']['tunable']['log_bin_trust_function_creators'] = false
|
137
187
|
|
138
|
-
default['mysql']['tunable']['innodb_buffer_pool_size'] = "128M"
|
139
188
|
default['mysql']['tunable']['innodb_log_file_size'] = "5M"
|
189
|
+
default['mysql']['tunable']['innodb_buffer_pool_size'] = "128M"
|
190
|
+
default['mysql']['tunable']['innodb_buffer_pool_instances'] = "4"
|
140
191
|
default['mysql']['tunable']['innodb_additional_mem_pool_size'] = "8M"
|
141
192
|
default['mysql']['tunable']['innodb_data_file_path'] = "ibdata1:10M:autoextend"
|
142
|
-
default['mysql']['tunable']['innodb_flush_log_at_trx_commit'] = "1"
|
143
193
|
default['mysql']['tunable']['innodb_flush_method'] = false
|
144
194
|
default['mysql']['tunable']['innodb_log_buffer_size'] = "8M"
|
195
|
+
default['mysql']['tunable']['innodb_write_io_threads'] = "4"
|
196
|
+
default['mysql']['tunable']['innodb_io_capacity'] = "200"
|
197
|
+
default['mysql']['tunable']['innodb_file_per_table'] = true
|
198
|
+
default['mysql']['tunable']['innodb_lock_wait_timeout'] = "60"
|
199
|
+
if node['cpu'].nil? or node['cpu']['total'].nil?
|
200
|
+
default['mysql']['tunable']['innodb_thread_concurrency'] = "8"
|
201
|
+
default['mysql']['tunable']['innodb_commit_concurrency'] = "8"
|
202
|
+
default['mysql']['tunable']['innodb_read_io_threads'] = "8"
|
203
|
+
default['mysql']['tunable']['innodb_flush_log_at_trx_commit'] = "8"
|
204
|
+
else
|
205
|
+
default['mysql']['tunable']['innodb_thread_concurrency'] = "#{(Integer(node['cpu']['total'])) * 2}"
|
206
|
+
default['mysql']['tunable']['innodb_commit_concurrency'] = "#{(Integer(node['cpu']['total'])) * 2}"
|
207
|
+
default['mysql']['tunable']['innodb_read_io_threads'] = "#{(Integer(node['cpu']['total'])) * 2}"
|
208
|
+
default['mysql']['tunable']['innodb_flush_log_at_trx_commit'] = "#{(Integer(node['cpu']['total'])) * 2}"
|
209
|
+
end
|
210
|
+
default['mysql']['tunable']['innodb_support_xa'] = true
|
211
|
+
default['mysql']['tunable']['innodb_table_locks'] = true
|
212
|
+
default['mysql']['tunable']['skip-innodb-doublewrite'] = false
|
213
|
+
|
214
|
+
default['mysql']['tunable']['transaction-isolation'] = nil
|
145
215
|
|
146
216
|
default['mysql']['tunable']['query_cache_limit'] = "1M"
|
147
217
|
default['mysql']['tunable']['query_cache_size'] = "16M"
|
148
218
|
|
149
219
|
default['mysql']['tunable']['log_slow_queries'] = "/var/log/mysql/slow.log"
|
220
|
+
default['mysql']['tunable']['slow_query_log'] = node['mysql']['tunable']['log_slow_queries'] # log_slow_queries is deprecated
|
221
|
+
# in favor of slow_query_log
|
150
222
|
default['mysql']['tunable']['long_query_time'] = 2
|
151
223
|
|
152
224
|
default['mysql']['tunable']['expire_logs_days'] = 10
|
153
225
|
default['mysql']['tunable']['max_binlog_size'] = "100M"
|
226
|
+
default['mysql']['tunable']['binlog_cache_size'] = "32K"
|
227
|
+
|
228
|
+
default['mysql']['tmpdir'] = ["/tmp"]
|
229
|
+
default['mysql']['read_only'] = false
|
230
|
+
|
231
|
+
default['mysql']['log_dir'] = node['mysql']['data_dir']
|
232
|
+
default['mysql']['log_files_in_group'] = false
|
233
|
+
default['mysql']['innodb_status_file'] = false
|
234
|
+
|
235
|
+
unless node['platform_family'] && node['platform_version'].to_i < 6
|
236
|
+
# older RHEL platforms don't support these options
|
237
|
+
default['mysql']['tunable']['event_scheduler'] = 0
|
238
|
+
default['mysql']['tunable']['table_open_cache'] = "128"
|
239
|
+
default['mysql']['tunable']['binlog_format'] = "statement" if node['mysql']['tunable']['log_bin']
|
240
|
+
end
|
@@ -29,7 +29,7 @@ describe 'mysql::server' do
|
|
29
29
|
end
|
30
30
|
describe 'debian' do
|
31
31
|
it 'creates a config file for service control' do
|
32
|
-
skip unless ['debian'
|
32
|
+
skip unless ['debian'].include?(node['platform_family'])
|
33
33
|
file("#{node['mysql']['conf_dir']}/debian.cnf").must_exist
|
34
34
|
end
|
35
35
|
end
|
@@ -6,9 +6,9 @@
|
|
6
6
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
7
|
# you may not use this file except in compliance with the License.
|
8
8
|
# You may obtain a copy of the License at
|
9
|
-
#
|
9
|
+
#
|
10
10
|
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
-
#
|
11
|
+
#
|
12
12
|
# Unless required by applicable law or agreed to in writing, software
|
13
13
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
14
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
@@ -21,13 +21,13 @@ module Opscode
|
|
21
21
|
module Helpers
|
22
22
|
|
23
23
|
def debian_before_squeeze?
|
24
|
-
platform
|
24
|
+
(node['platform'] == "debian") && (node['platform_version'].to_f < 6.0)
|
25
25
|
end
|
26
26
|
|
27
27
|
def ubuntu_before_lucid?
|
28
|
-
platform
|
28
|
+
(node['platform'] == "ubuntu") && (node['platform_version'].to_f < 10.0)
|
29
29
|
end
|
30
30
|
|
31
31
|
end
|
32
32
|
end
|
33
|
-
end
|
33
|
+
end
|
@@ -4,7 +4,7 @@ maintainer_email "cookbooks@opscode.com"
|
|
4
4
|
license "Apache 2.0"
|
5
5
|
description "Installs and configures mysql for client or server"
|
6
6
|
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
|
7
|
-
version "1.
|
7
|
+
version "2.1.0"
|
8
8
|
recipe "mysql", "Includes the client recipe to configure a client"
|
9
9
|
recipe "mysql::client", "Installs packages required for mysql clients using run_action magic"
|
10
10
|
recipe "mysql::server", "Installs packages required for mysql servers w/o manual intervention"
|
@@ -30,18 +30,19 @@ if Chef::Config[:solo]
|
|
30
30
|
|
31
31
|
if !missing_attrs.empty?
|
32
32
|
Chef::Application.fatal!([
|
33
|
-
|
34
|
-
|
35
|
-
|
33
|
+
"You must set #{missing_attrs.join(', ')} in chef-solo mode.",
|
34
|
+
"For more information, see https://github.com/opscode-cookbooks/mysql#chef-solo-note"
|
35
|
+
].join(' '))
|
36
36
|
end
|
37
37
|
else
|
38
38
|
# generate all passwords
|
39
39
|
node.set_unless['mysql']['server_debian_password'] = secure_password
|
40
40
|
node.set_unless['mysql']['server_root_password'] = secure_password
|
41
41
|
node.set_unless['mysql']['server_repl_password'] = secure_password
|
42
|
+
node.save
|
42
43
|
end
|
43
44
|
|
44
|
-
if
|
45
|
+
if platform_family?(%w{debian})
|
45
46
|
|
46
47
|
directory "/var/cache/local/preseeding" do
|
47
48
|
owner "root"
|
@@ -60,7 +61,7 @@ if platform?(%w{debian ubuntu})
|
|
60
61
|
owner "root"
|
61
62
|
group node['mysql']['root_group']
|
62
63
|
mode "0600"
|
63
|
-
notifies :run,
|
64
|
+
notifies :run, "execute[preseed mysql-server]", :immediately
|
64
65
|
end
|
65
66
|
|
66
67
|
template "#{node['mysql']['conf_dir']}/debian.cnf" do
|
@@ -72,7 +73,7 @@ if platform?(%w{debian ubuntu})
|
|
72
73
|
|
73
74
|
end
|
74
75
|
|
75
|
-
if
|
76
|
+
if platform_family?('windows')
|
76
77
|
package_file = node['mysql']['package_file']
|
77
78
|
|
78
79
|
remote_file "#{Chef::Config[:file_cache_path]}/#{package_file}" do
|
@@ -92,19 +93,27 @@ end
|
|
92
93
|
node['mysql']['server']['packages'].each do |package_name|
|
93
94
|
package package_name do
|
94
95
|
action :install
|
96
|
+
notifies :start, "service[mysql]", :immediately
|
95
97
|
end
|
96
98
|
end
|
97
99
|
|
98
|
-
unless
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
100
|
+
unless platform_family?(%w{mac_os_x})
|
101
|
+
|
102
|
+
[File.dirname(node['mysql']['pid_file']),
|
103
|
+
File.dirname(node['mysql']['tunable']['slow_query_log']),
|
104
|
+
node['mysql']['confd_dir'],
|
105
|
+
node['mysql']['confd_dir'],
|
106
|
+
node['mysql']['log_dir'],
|
107
|
+
node['mysql']['data_dir']].each do |directory_path|
|
108
|
+
directory directory_path do
|
109
|
+
owner "mysql" unless platform? 'windows'
|
110
|
+
group "mysql" unless platform? 'windows'
|
111
|
+
action :create
|
112
|
+
recursive true
|
113
|
+
end
|
105
114
|
end
|
106
115
|
|
107
|
-
if
|
116
|
+
if platform_family? 'windows'
|
108
117
|
require 'win32/service'
|
109
118
|
|
110
119
|
windows_path node['mysql']['bin_dir'] do
|
@@ -117,17 +126,6 @@ unless platform?(%w{mac_os_x})
|
|
117
126
|
end
|
118
127
|
end
|
119
128
|
|
120
|
-
service "mysql" do
|
121
|
-
service_name node['mysql']['service_name']
|
122
|
-
if node['mysql']['use_upstart']
|
123
|
-
restart_command "restart mysql"
|
124
|
-
stop_command "stop mysql"
|
125
|
-
start_command "start mysql"
|
126
|
-
end
|
127
|
-
supports :status => true, :restart => true, :reload => true
|
128
|
-
action :enable
|
129
|
-
end
|
130
|
-
|
131
129
|
skip_federated = case node['platform']
|
132
130
|
when 'fedora', 'ubuntu', 'amazon'
|
133
131
|
true
|
@@ -136,30 +134,30 @@ unless platform?(%w{mac_os_x})
|
|
136
134
|
else
|
137
135
|
false
|
138
136
|
end
|
137
|
+
end
|
139
138
|
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
variables :skip_federated => skip_federated
|
139
|
+
# Homebrew has its own way to do databases
|
140
|
+
if platform_family?(%w{mac_os_x})
|
141
|
+
execute "mysql-install-db" do
|
142
|
+
command "mysql_install_db --verbose --user=`whoami` --basedir=\"$(brew --prefix mysql)\" --datadir=#{node['mysql']['data_dir']} --tmpdir=/tmp"
|
143
|
+
environment('TMPDIR' => nil)
|
144
|
+
action :run
|
145
|
+
creates "#{node['mysql']['data_dir']}/mysql"
|
146
|
+
end
|
147
|
+
else
|
148
|
+
execute 'mysql-install-db' do
|
149
|
+
command "mysql_install_db"
|
150
|
+
action :run
|
151
|
+
not_if { File.exists?(node['mysql']['data_dir'] + '/mysql/user.frm') }
|
154
152
|
end
|
155
|
-
end
|
156
153
|
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
154
|
+
service "mysql" do
|
155
|
+
service_name node['mysql']['service_name']
|
156
|
+
if node['mysql']['use_upstart']
|
157
|
+
provider Chef::Provider::Service::Upstart
|
161
158
|
end
|
162
|
-
|
159
|
+
supports :status => true, :restart => true, :reload => true
|
160
|
+
action :enable
|
163
161
|
end
|
164
162
|
end
|
165
163
|
|
@@ -171,32 +169,23 @@ execute "assign-root-password" do
|
|
171
169
|
only_if "\"#{node['mysql']['mysql_bin']}\" -u root -e 'show databases;'"
|
172
170
|
end
|
173
171
|
|
174
|
-
|
175
|
-
if platform?(%w{mac_os_x})
|
176
|
-
|
177
|
-
execute "mysql-install-db" do
|
178
|
-
command "mysql_install_db --verbose --user=`whoami` --basedir=\"$(brew --prefix mysql)\" --datadir=#{node['mysql']['data_dir']} --tmpdir=/tmp"
|
179
|
-
environment('TMPDIR' => nil)
|
180
|
-
action :run
|
181
|
-
creates "#{node['mysql']['data_dir']}/mysql"
|
182
|
-
end
|
183
|
-
|
184
|
-
else
|
172
|
+
unless platform_family?(%w{mac_os_x})
|
185
173
|
grants_path = node['mysql']['grants_path']
|
174
|
+
|
186
175
|
begin
|
187
176
|
t = resources("template[#{grants_path}]")
|
188
177
|
rescue
|
189
178
|
Chef::Log.info("Could not find previously defined grants.sql resource")
|
190
179
|
t = template grants_path do
|
191
180
|
source "grants.sql.erb"
|
192
|
-
owner "root" unless
|
193
|
-
group node['mysql']['root_group'] unless
|
181
|
+
owner "root" unless platform_family? 'windows'
|
182
|
+
group node['mysql']['root_group'] unless platform_family? 'windows'
|
194
183
|
mode "0600"
|
195
184
|
action :create
|
196
185
|
end
|
197
186
|
end
|
198
187
|
|
199
|
-
if
|
188
|
+
if platform_family? 'windows'
|
200
189
|
windows_batch "mysql-install-privileges" do
|
201
190
|
command "\"#{node['mysql']['mysql_bin']}\" -u root #{node['mysql']['server_root_password'].empty? ? '' : '-p' }\"#{node['mysql']['server_root_password']}\" < \"#{grants_path}\""
|
202
191
|
action :nothing
|
@@ -204,12 +193,28 @@ else
|
|
204
193
|
end
|
205
194
|
else
|
206
195
|
execute "mysql-install-privileges" do
|
207
|
-
command "
|
196
|
+
command %Q["#{node['mysql']['mysql_bin']}" -u root #{node['mysql']['server_root_password'].empty? ? '' : '-p' }"#{node['mysql']['server_root_password']}" < "#{grants_path}"]
|
208
197
|
action :nothing
|
209
198
|
subscribes :run, resources("template[#{grants_path}]"), :immediately
|
210
199
|
end
|
211
200
|
end
|
212
201
|
|
202
|
+
template "#{node['mysql']['conf_dir']}/my.cnf" do
|
203
|
+
source "my.cnf.erb"
|
204
|
+
owner "root" unless platform? 'windows'
|
205
|
+
group node['mysql']['root_group'] unless platform? 'windows'
|
206
|
+
mode "0644"
|
207
|
+
case node['mysql']['reload_action']
|
208
|
+
when 'restart'
|
209
|
+
notifies :restart, "service[mysql]", :immediately
|
210
|
+
when 'reload'
|
211
|
+
notifies :reload, "service[mysql]", :immediately
|
212
|
+
else
|
213
|
+
Chef::Log.info "my.cnf updated but mysql.reload_action is #{node['mysql']['reload_action']}. No action taken."
|
214
|
+
end
|
215
|
+
variables :skip_federated => skip_federated
|
216
|
+
end
|
217
|
+
|
213
218
|
service "mysql" do
|
214
219
|
action :start
|
215
220
|
end
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# Generated by Chef for <%= node['hostname'] %>.
|
2
2
|
# Local modifications will be overwritten.
|
3
3
|
|
4
|
-
<% case node['
|
5
|
-
<% when "debian"
|
6
|
-
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '<%= node[
|
4
|
+
<% case node['platform_family'] -%>
|
5
|
+
<% when "debian" -%>
|
6
|
+
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '<%= node['mysql']['server_debian_password'] %>' WITH GRANT OPTION;
|
7
7
|
<% end -%>
|
8
8
|
# Grant replication for a slave user.
|
9
9
|
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' identified by '<%= node['mysql']['server_repl_password'] %>';
|
@@ -30,7 +30,7 @@ socket = <%= node['mysql']['socket'] %>
|
|
30
30
|
# This was formally known as [safe_mysqld]. Both versions are currently parsed.
|
31
31
|
[mysqld_safe]
|
32
32
|
socket = <%= node['mysql']['socket'] %>
|
33
|
-
nice =
|
33
|
+
nice = <%= node['mysql']['nice'] %>
|
34
34
|
|
35
35
|
[mysqld]
|
36
36
|
#
|
@@ -49,8 +49,22 @@ socket = <%= node['mysql']['socket'] %>
|
|
49
49
|
port = <%= node['mysql']['port'] %>
|
50
50
|
basedir = <%= node['mysql']['basedir'] %>
|
51
51
|
datadir = <%= node['mysql']['data_dir'] %>
|
52
|
-
tmpdir =
|
52
|
+
tmpdir = <%= node['mysql']['tmpdir'].join(':') %>
|
53
53
|
skip-external-locking
|
54
|
+
<%- if node['mysql']['tunable']['skip-name-resolve'] %>
|
55
|
+
skip-name-resolve
|
56
|
+
<%- end %>
|
57
|
+
|
58
|
+
# Charset and Collation
|
59
|
+
character-set-server = <%= node['mysql']['tunable']['character-set-server'] %>
|
60
|
+
collation-server = <%= node['mysql']['tunable']['collation-server'] %>
|
61
|
+
<%- if node['mysql']['tunable']['event_scheduler'] %>
|
62
|
+
event_scheduler = <%= node['mysql']['tunable']['event_scheduler'] %>
|
63
|
+
<%- end %>
|
64
|
+
<%- if node['mysql']['tunable']['skip-character-set-client-handshake'] %>
|
65
|
+
skip-character-set-client-handshake
|
66
|
+
<%- end %>
|
67
|
+
|
54
68
|
#
|
55
69
|
# Instead of skip-networking the default is now to listen only on
|
56
70
|
# localhost which is more compatible and is not less secure.
|
@@ -62,6 +76,10 @@ key_buffer = <%= node['mysql']['tunable']['key_buffer'] %>
|
|
62
76
|
max_allowed_packet = <%= node['mysql']['tunable']['max_allowed_packet'] %>
|
63
77
|
thread_stack = <%= node['mysql']['tunable']['thread_stack'] %>
|
64
78
|
thread_cache_size = <%= node['mysql']['tunable']['thread_cache_size'] %>
|
79
|
+
sort_buffer_size = <%= node['mysql']['tunable']['sort_buffer_size'] %>
|
80
|
+
read_buffer_size = <%= node['mysql']['tunable']['read_buffer_size'] %>
|
81
|
+
read_rnd_buffer_size = <%= node['mysql']['tunable']['read_rnd_buffer_size'] %>
|
82
|
+
join_buffer_size = <%= node['mysql']['tunable']['join_buffer_size'] %>
|
65
83
|
|
66
84
|
auto-increment-increment = <%= node['mysql']['auto-increment-increment'] %>
|
67
85
|
auto-increment-offset = <%= node['mysql']['auto-increment-offset'] %>
|
@@ -69,16 +87,28 @@ auto-increment-offset = <%= node['mysql']['auto-increment-offset'] %>
|
|
69
87
|
# This replaces the startup script and checks MyISAM tables if needed
|
70
88
|
# the first time they are touched
|
71
89
|
myisam-recover = BACKUP
|
72
|
-
#max_connections = 100
|
73
|
-
#table_cache = 64
|
74
|
-
#thread_concurrency = 10
|
75
90
|
max_connections = <%= node['mysql']['tunable']['max_connections'] %>
|
91
|
+
max_connect_errors = <%= node['mysql']['tunable']['max_connect_errors'] %>
|
92
|
+
concurrent_insert = <%= node['mysql']['tunable']['concurrent_insert'] %>
|
93
|
+
connect_timeout = <%= node['mysql']['tunable']['connect_timeout'] %>
|
76
94
|
wait_timeout = <%= node['mysql']['tunable']['wait_timeout'] %>
|
77
95
|
net_read_timeout = <%= node['mysql']['tunable']['net_read_timeout'] %>
|
78
96
|
net_write_timeout = <%= node['mysql']['tunable']['net_write_timeout'] %>
|
79
97
|
back_log = <%= node['mysql']['tunable']['back_log'] %>
|
80
98
|
table_cache = <%= node['mysql']['tunable']['table_cache'] %>
|
99
|
+
<%- if node['mysql']['tunable']['table_open_cache'] %>
|
100
|
+
table_open_cache = <%= node['mysql']['tunable']['table_open_cache'] %>
|
101
|
+
<%- end %>
|
102
|
+
tmp_table_size = <%= node['mysql']['tunable']['tmp_table_size'] %>
|
81
103
|
max_heap_table_size = <%= node['mysql']['tunable']['max_heap_table_size'] %>
|
104
|
+
bulk_insert_buffer_size = <%= node['mysql']['tunable']['bulk_insert_buffer_size'] %>
|
105
|
+
open-files-limit = <%= node['mysql']['tunable']['open-files-limit'] %>
|
106
|
+
open-files = <%= node['mysql']['tunable']['open-files'] %>
|
107
|
+
|
108
|
+
# Default Table Settings
|
109
|
+
<%- if node['mysql']['tunable']['sql_mode'] %>
|
110
|
+
sql_mode = "<%= node['mysql']['tunable']['sql_mode'] %>"
|
111
|
+
<%- end %>
|
82
112
|
|
83
113
|
#
|
84
114
|
# * Query Cache Configuration
|
@@ -86,7 +116,7 @@ max_heap_table_size = <%= node['mysql']['tunable']['max_heap_table_size'] %>
|
|
86
116
|
query_cache_limit = <%= node['mysql']['tunable']['query_cache_limit'] %>
|
87
117
|
query_cache_size = <%= node['mysql']['tunable']['query_cache_size'] %>
|
88
118
|
#
|
89
|
-
# * Logging
|
119
|
+
# * Logging
|
90
120
|
#
|
91
121
|
# Both location gets rotated by the cronjob.
|
92
122
|
# Be aware that this log type is a performance killer.
|
@@ -94,22 +124,41 @@ query_cache_size = <%= node['mysql']['tunable']['query_cache_size'] %>
|
|
94
124
|
#
|
95
125
|
# Error logging goes to syslog. This is a Debian improvement :)
|
96
126
|
<%- if node['mysql']['tunable']['log_error'] %>
|
97
|
-
|
127
|
+
log_error = <%= node['mysql']['tunable']['log_error'] %>
|
128
|
+
<%- end %>
|
129
|
+
<%- if node['mysql']['tunable']['log_warnings'] %>
|
130
|
+
log_warnings
|
98
131
|
<%- end %>
|
132
|
+
#
|
133
|
+
# * Replication
|
134
|
+
#
|
135
|
+
read_only = <%= node['mysql']['read_only'] %>
|
136
|
+
|
137
|
+
|
99
138
|
#
|
100
139
|
# Here you can see queries with especially long duration
|
101
|
-
|
140
|
+
<%- if node['mysql']['version'].to_f >= 5.5 %>
|
141
|
+
slow_query_log = <%= node['mysql']['tunable']['slow_query_log'] %>
|
142
|
+
<% else %>
|
143
|
+
log_slow_queries = <%= node['mysql']['tunable']['slow_query_log'] %>
|
144
|
+
<% end %>
|
145
|
+
|
102
146
|
long_query_time = <%= node['mysql']['tunable']['long_query_time'] %>
|
103
|
-
<%- if node['mysql']['tunable']['log_queries_not_using_index'] %>
|
147
|
+
<%- if node['mysql']['tunable']['log_queries_not_using_index'] and node['mysql']['slow_query_log'] %>
|
104
148
|
log-queries-not-using-indexes
|
105
149
|
<%- end %>
|
106
150
|
#
|
107
151
|
# The following can be used as easy to replay backup logs or for replication.
|
108
152
|
# note: if you are setting up a replication slave, see README.Debian about
|
109
153
|
# other settings you may need to change.
|
110
|
-
|
154
|
+
<%- if node['mysql']['tunable']['server_id'] %>
|
155
|
+
server-id = <%= node['mysql']['tunable']['server_id'] %>
|
156
|
+
<% end %>
|
111
157
|
<%- if node['mysql']['tunable']['log_bin'] %>
|
112
158
|
log_bin = <%= node['mysql']['tunable']['log_bin'] %>
|
159
|
+
<%- if node['mysql']['tunable']['log_bin'] %>
|
160
|
+
binlog_format = <%= node['mysql']['tunable']['binlog_format'] %>
|
161
|
+
<%- end %>
|
113
162
|
log_slave_updates = <%= node['mysql']['tunable']['log_slave_updates'] %>
|
114
163
|
<%- end %>
|
115
164
|
<%- if node['mysql']['tunable']['log_bin_trust_function_creators'] %>
|
@@ -117,15 +166,27 @@ log_bin_trust_function_creators
|
|
117
166
|
<%- end %>
|
118
167
|
expire_logs_days = <%= node['mysql']['tunable']['expire_logs_days'] %>
|
119
168
|
max_binlog_size = <%= node['mysql']['tunable']['max_binlog_size'] %>
|
169
|
+
binlog_cache_size = <%= node['mysql']['tunable']['binlog_cache_size'] %>
|
120
170
|
#binlog_do_db = include_database_name
|
121
171
|
#binlog_ignore_db = include_database_name
|
122
172
|
<%- if node['mysql']['tunable']['relay_log'] %>
|
123
|
-
|
173
|
+
relay_log = <%= node['mysql']['tunable']['relay_log'] %>
|
174
|
+
<%- end %>
|
175
|
+
<%- if node['mysql']['tunable']['relay_log_index'] %>
|
176
|
+
relay_log_index = <%= node['mysql']['tunable']['relay_log_index'] %>
|
124
177
|
<%- end %>
|
178
|
+
|
125
179
|
sync_binlog = <%= node['mysql']['tunable']['sync_binlog'] %>
|
126
180
|
<%- if node['mysql']['tunable']['skip_slave_start'] %>
|
127
181
|
skip_slave_start
|
128
182
|
<%- end %>
|
183
|
+
<%- if node['mysql']['tunable']['read_only'] %>
|
184
|
+
read_only = 1
|
185
|
+
<%- end %>
|
186
|
+
|
187
|
+
<%- if node['mysql']['tunable']['transaction-isolation'] %>
|
188
|
+
transaction-isolation = <%= node['mysql']['tunable']['transaction-isolation'] %>
|
189
|
+
<%- end %>
|
129
190
|
|
130
191
|
#
|
131
192
|
# * InnoDB
|
@@ -134,6 +195,36 @@ skip_slave_start
|
|
134
195
|
# Read the manual for more InnoDB related options. There are many!
|
135
196
|
# You might want to disable InnoDB to shrink the mysqld process by circa 100MB.
|
136
197
|
#skip-innodb
|
198
|
+
|
199
|
+
<%- if node["mysql"]["version"].to_f >= 5.5 %>
|
200
|
+
innodb_write_io_threads = <%= node['mysql']['tunable']['innodb_write_io_threads'] %>
|
201
|
+
innodb_io_capacity = <%= node['mysql']['tunable']['innodb_io_capacity'] %>
|
202
|
+
innodb_read_io_threads = <%= node['mysql']['tunable']['innodb_read_io_threads'] %>
|
203
|
+
innodb_buffer_pool_instances = <%= node['mysql']['tunable']['innodb_buffer_pool_instances'] %>
|
204
|
+
<%- end %>
|
205
|
+
|
206
|
+
## InnoDB Plugin Independent Settings
|
207
|
+
innodb_data_home_dir = <%= node['mysql']['data_dir'] %>
|
208
|
+
innodb_log_group_home_dir = <%= node['mysql']['log_dir'] %>
|
209
|
+
<%- if node['mysql']['log_files_in_group'] %>
|
210
|
+
innodb_log_files_in_group = <%= node['mysql']['log_files_in_group'] %>
|
211
|
+
<%- end %>
|
212
|
+
|
213
|
+
<%- if node['mysql']['innodb_status_file'] %>
|
214
|
+
innodb_status_file
|
215
|
+
<%- end %>
|
216
|
+
<%- if node['mysql']['tunable']['innodb_file_per_table'] %>
|
217
|
+
innodb_file_per_table
|
218
|
+
<%- end %>
|
219
|
+
innodb_table_locks = <%= node['mysql']['tunable']['innodb_table_locks'] %>
|
220
|
+
innodb_lock_wait_timeout = <%= node['mysql']['tunable']['innodb_lock_wait_timeout'] %>
|
221
|
+
innodb_thread_concurrency = <%= node['mysql']['tunable']['innodb_thread_concurrency'] %>
|
222
|
+
innodb_commit_concurrency = <%= node['mysql']['tunable']['innodb_commit_concurrency'] %>
|
223
|
+
innodb_support_xa = <%= node['mysql']['tunable']['innodb_support_xa'] %>
|
224
|
+
<%- if node['mysql']['tunable']['skip-innodb-doublewrite'] %>
|
225
|
+
skip-innodb-doublewrite
|
226
|
+
<%- end %>
|
227
|
+
|
137
228
|
innodb_buffer_pool_size = <%= node['mysql']['tunable']['innodb_buffer_pool_size'] %>
|
138
229
|
innodb_log_file_size = <%= node['mysql']['tunable']['innodb_log_file_size'] %>
|
139
230
|
innodb_additional_mem_pool_size = <%= node['mysql']['tunable']['innodb_additional_mem_pool_size'] %>
|
@@ -178,7 +269,12 @@ max_allowed_packet = <%= node['mysql']['tunable']['max_allowed_packet'] %>
|
|
178
269
|
#no-auto-rehash # faster start of mysql but no tab completition
|
179
270
|
|
180
271
|
[isamchk]
|
181
|
-
key_buffer
|
272
|
+
key_buffer = <%= node['mysql']['tunable']['max_allowed_packet'] %>
|
273
|
+
|
274
|
+
myisam_sort_buffer_size = <%= node['mysql']['tunable']['myisam_sort_buffer_size'] %>
|
275
|
+
myisam_max_sort_file_size = <%= node['mysql']['tunable']['myisam_max_sort_file_size'] %>
|
276
|
+
myisam_repair_threads = <%= node['mysql']['tunable']['myisam_repair_threads'] %>
|
277
|
+
myisam_recover = <%= node['mysql']['tunable']['myisam_recover'] %>
|
182
278
|
|
183
279
|
#
|
184
280
|
# * NDB Cluster
|
@@ -191,8 +287,8 @@ key_buffer = <%= node['mysql']['tunable']['max_allowed_packet'] %>
|
|
191
287
|
# [MYSQL_CLUSTER]
|
192
288
|
# ndb-connectstring=127.0.0.1
|
193
289
|
|
194
|
-
<% case node['
|
195
|
-
<% when "
|
290
|
+
<% case node['platform_family'] -%>
|
291
|
+
<% when "rhel", "fedora", "suse" -%>
|
196
292
|
#
|
197
293
|
# * BerkeleyDB
|
198
294
|
#
|
@@ -17,27 +17,17 @@
|
|
17
17
|
# limitations under the License.
|
18
18
|
#
|
19
19
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
when 'centos'
|
24
|
-
%w{mysql mysql-devel}
|
25
|
-
end.each do |pkg|
|
26
|
-
package pkg do
|
27
|
-
action :nothing
|
28
|
-
end.run_action(:install)
|
29
|
-
end
|
30
|
-
|
31
|
-
gem_package "mysql" do
|
32
|
-
action :nothing
|
33
|
-
end.run_action(:install)
|
20
|
+
node.set['mysql']['server_debian_password'] = "ilikerandompasswords"
|
21
|
+
node.set['mysql']['server_root_password'] = "ilikerandompasswords"
|
22
|
+
node.set['mysql']['server_repl_password'] = "ilikerandompasswords"
|
34
23
|
|
35
|
-
include_recipe "
|
24
|
+
include_recipe "mysql::ruby"
|
25
|
+
include_recipe "yum::epel" if platform_family?('rhel')
|
36
26
|
|
37
27
|
file "/etc/sysconfig/network" do
|
38
28
|
content "NETWORKING=yes"
|
39
29
|
action :create_if_missing
|
40
|
-
only_if {
|
30
|
+
only_if { platform_family?('rhel', 'fedora') }
|
41
31
|
end
|
42
32
|
|
43
33
|
include_recipe 'mysql::server'
|
@@ -0,0 +1,32 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: mysql_test
|
3
|
+
# Recipe:: setup
|
4
|
+
#
|
5
|
+
# Copyright 2012, Opscode, Inc.
|
6
|
+
#
|
7
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
# you may not use this file except in compliance with the License.
|
9
|
+
# You may obtain a copy of the License at
|
10
|
+
#
|
11
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
#
|
13
|
+
# Unless required by applicable law or agreed to in writing, software
|
14
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
# See the License for the specific language governing permissions and
|
17
|
+
# limitations under the License.
|
18
|
+
#
|
19
|
+
|
20
|
+
node.set['rvm']['user_installs'] = [
|
21
|
+
{ 'user' => 'vagrant',
|
22
|
+
'default_ruby' => 'ruby-1.9.3-p327',
|
23
|
+
'rubies' => ['1.9.3']
|
24
|
+
}
|
25
|
+
]
|
26
|
+
|
27
|
+
node.set['rvm']['gems'] = {
|
28
|
+
"ruby-1.9.3-p327" => [
|
29
|
+
{ 'name' => 'bundler' }
|
30
|
+
]
|
31
|
+
}
|
32
|
+
include_recipe "rvm::user"
|
data/lib/server_maint/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: server_maint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-01-
|
12
|
+
date: 2013-01-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -190,6 +190,7 @@ files:
|
|
190
190
|
- lib/cookbooks/mysql/test/kitchen/cookbooks/mysql_test/metadata.rb
|
191
191
|
- lib/cookbooks/mysql/test/kitchen/cookbooks/mysql_test/recipes/client.rb
|
192
192
|
- lib/cookbooks/mysql/test/kitchen/cookbooks/mysql_test/recipes/server.rb
|
193
|
+
- lib/cookbooks/mysql/test/kitchen/cookbooks/mysql_test/recipes/setup.rb
|
193
194
|
- lib/cookbooks/nginx/.gitignore
|
194
195
|
- lib/cookbooks/nginx/CHANGELOG.md
|
195
196
|
- lib/cookbooks/nginx/CONTRIBUTING
|
@@ -384,7 +385,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
384
385
|
version: '0'
|
385
386
|
segments:
|
386
387
|
- 0
|
387
|
-
hash:
|
388
|
+
hash: -2491000604656706982
|
388
389
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
389
390
|
none: false
|
390
391
|
requirements:
|
@@ -393,7 +394,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
393
394
|
version: '0'
|
394
395
|
segments:
|
395
396
|
- 0
|
396
|
-
hash:
|
397
|
+
hash: -2491000604656706982
|
397
398
|
requirements: []
|
398
399
|
rubyforge_project:
|
399
400
|
rubygems_version: 1.8.24
|