server_maint 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|