comparison modules/mysql/manifests/params.pp @ 389:668df4711671

Update MySQL modules
author IBBoard <dev@ibboard.co.uk>
date Mon, 03 Jan 2022 17:16:21 +0000
parents 48d3a1948e4d
children c6c9a2cfcfbd
comparison
equal deleted inserted replaced
388:750d36241580 389:668df4711671
2 # Params class. 2 # Params class.
3 # 3 #
4 # @api private 4 # @api private
5 # 5 #
6 class mysql::params { 6 class mysql::params {
7
8 $manage_config_file = true 7 $manage_config_file = true
8 $config_file_mode = '0644'
9 $purge_conf_dir = false 9 $purge_conf_dir = false
10 $restart = false 10 $restart = false
11 $root_password = 'UNSET' 11 $root_password = 'UNSET'
12 $install_secret_file = '/.mysql_secret' 12 $install_secret_file = '/.mysql_secret'
13 $server_package_ensure = 'present' 13 $server_package_ensure = 'present'
35 $ruby_package_provider = undef 35 $ruby_package_provider = undef
36 $client_dev_package_ensure = 'present' 36 $client_dev_package_ensure = 'present'
37 $client_dev_package_provider = undef 37 $client_dev_package_provider = undef
38 $daemon_dev_package_ensure = 'present' 38 $daemon_dev_package_ensure = 'present'
39 $daemon_dev_package_provider = undef 39 $daemon_dev_package_provider = undef
40 $xtrabackup_package_name = 'percona-xtrabackup' 40 $xtrabackup_package_name_default = 'percona-xtrabackup'
41
42 41
43 case $::osfamily { 42 case $::osfamily {
44 'RedHat': { 43 'RedHat': {
45 case $::operatingsystem { 44 case $::operatingsystem {
46 'Fedora': { 45 'Fedora': {
49 } else { 48 } else {
50 $provider = 'mysql' 49 $provider = 'mysql'
51 } 50 }
52 $python_package_name = 'MySQL-python' 51 $python_package_name = 'MySQL-python'
53 } 52 }
54 /^(RedHat|CentOS|Scientific|OracleLinux)$/: { 53 'Amazon': {
55 if versioncmp($::operatingsystemmajrelease, '7') >= 0 { 54 if versioncmp($::operatingsystemrelease, '2') >= 0 {
56 $provider = 'mariadb' 55 $provider = 'mariadb'
57 } else { 56 } else {
58 $provider = 'mysql' 57 $provider = 'mysql'
58 }
59 }
60 /^(RedHat|Rocky|CentOS|Scientific|OracleLinux)$/: {
61 if versioncmp($::operatingsystemmajrelease, '7') >= 0 {
62 $provider = 'mariadb'
63 if versioncmp($::operatingsystemmajrelease, '8') >= 0 {
64 $xtrabackup_package_name_override = 'percona-xtrabackup-24'
65 }
66 } else {
67 $provider = 'mysql'
68 $xtrabackup_package_name_override = 'percona-xtrabackup-20'
59 } 69 }
60 if versioncmp($::operatingsystemmajrelease, '8') >= 0 { 70 if versioncmp($::operatingsystemmajrelease, '8') >= 0 {
61 $java_package_name = 'mariadb-java-client' 71 $java_package_name = 'mariadb-java-client'
62 $python_package_name = 'python3-PyMySQL' 72 $python_package_name = 'python3-PyMySQL'
63 } else { 73 } else {
93 103
94 $basedir = '/usr' 104 $basedir = '/usr'
95 $datadir = '/var/lib/mysql' 105 $datadir = '/var/lib/mysql'
96 $root_group = 'root' 106 $root_group = 'root'
97 $mysql_group = 'mysql' 107 $mysql_group = 'mysql'
108 $mycnf_owner = undef
109 $mycnf_group = undef
98 $socket = '/var/lib/mysql/mysql.sock' 110 $socket = '/var/lib/mysql/mysql.sock'
99 $ssl_ca = '/etc/mysql/cacert.pem' 111 $ssl_ca = '/etc/mysql/cacert.pem'
100 $ssl_cert = '/etc/mysql/server-cert.pem' 112 $ssl_cert = '/etc/mysql/server-cert.pem'
101 $ssl_key = '/etc/mysql/server-key.pem' 113 $ssl_key = '/etc/mysql/server-key.pem'
102 $tmpdir = '/tmp' 114 $tmpdir = '/tmp'
115 $managed_dirs = undef
103 # mysql::bindings 116 # mysql::bindings
104 $perl_package_name = 'perl-DBD-MySQL' 117 $perl_package_name = 'perl-DBD-MySQL'
105 $php_package_name = 'php-mysql' 118 $php_package_name = 'php-mysql'
106 $ruby_package_name = 'ruby-mysql' 119 $ruby_package_name = 'ruby-mysql'
107 $client_dev_package_name = undef 120 $client_dev_package_name = undef
108 } 121 }
109 122
110 'Suse': { 123 'Suse': {
111 case $::operatingsystem { 124 case $::operatingsystem {
112 'OpenSuSE': { 125 'OpenSuSE': {
113 if versioncmp( $::operatingsystemmajrelease, '12' ) >= 0 { 126 $socket = '/var/run/mysql/mysql.sock'
114 $client_package_name = 'mariadb-client' 127 $log_error = '/var/log/mysql/mysqld.log'
115 $server_package_name = 'mariadb' 128 $pidfile = '/var/run/mysql/mysqld.pid'
116 # First service start fails if this is set. Runs fine without 129 $ruby_package_name = 'rubygem-mysql'
117 # it being set, in any case. Leaving it as-is for the mysql. 130 $client_package_name = 'mariadb-client'
118 $basedir = undef 131 $server_package_name = 'mariadb'
119 } else { 132 # First service start fails if this is set. Runs fine without
120 $client_package_name = 'mysql-community-server-client' 133 # it being set, in any case. Leaving it as-is for the mysql.
121 $server_package_name = 'mysql-community-server' 134 $basedir = undef
122 $basedir = '/usr'
123 }
124 } 135 }
125 'SLES','SLED': { 136 'SLES','SLED': {
126 if versioncmp($::operatingsystemrelease, '12') >= 0 { 137 $socket = '/run/mysql/mysql.sock'
127 $client_package_name = 'mariadb-client' 138 $log_error = '/var/log/mysqld.log'
128 $server_package_name = 'mariadb' 139 $pidfile = '/var/lib/mysql/mysqld.pid'
129 $basedir = undef 140 $ruby_package_name = 'ruby-mysql'
130 } else { 141 $client_package_name = 'mariadb-client'
131 $client_package_name = 'mysql-client' 142 $server_package_name = 'mariadb'
132 $server_package_name = 'mysql' 143 $basedir = undef
133 $basedir = '/usr'
134 }
135 } 144 }
136 default: { 145 default: {
137 fail(translate('Unsupported platform: puppetlabs-%{module_name} currently doesn\'t support %{os}.', 146 fail("Unsupported platform: puppetlabs-${module_name} currently doesn\'t support ${::operatingsystem}.")
138 {'module_name' => $module_name, 'os' => $::operatingsystem }))
139 } 147 }
140 } 148 }
141 $config_file = '/etc/my.cnf' 149 $config_file = '/etc/my.cnf'
142 $includedir = '/etc/my.cnf.d' 150 $includedir = '/etc/my.cnf.d'
143 $datadir = '/var/lib/mysql' 151 $datadir = '/var/lib/mysql'
144 $log_error = $::operatingsystem ? {
145 /OpenSuSE/ => '/var/log/mysql/mysqld.log',
146 /(SLES|SLED)/ => '/var/log/mysqld.log',
147 }
148 $pidfile = $::operatingsystem ? {
149 /OpenSuSE/ => '/var/run/mysql/mysqld.pid',
150 /(SLES|SLED)/ => '/var/lib/mysql/mysqld.pid',
151 }
152 $root_group = 'root' 152 $root_group = 'root'
153 $mysql_group = 'mysql' 153 $mysql_group = 'mysql'
154 $mycnf_owner = undef
155 $mycnf_group = undef
154 $server_service_name = 'mysql' 156 $server_service_name = 'mysql'
155 157 $xtrabackup_package_name_override = 'xtrabackup'
156 if $::operatingsystem =~ /(SLES|SLED)/ {
157 if versioncmp( $::operatingsystemmajrelease, '12' ) >= 0 {
158 $socket = '/run/mysql/mysql.sock'
159 } else {
160 $socket = '/var/lib/mysql/mysql.sock'
161 }
162 } else {
163 $socket = '/var/run/mysql/mysql.sock'
164 }
165 158
166 $ssl_ca = '/etc/mysql/cacert.pem' 159 $ssl_ca = '/etc/mysql/cacert.pem'
167 $ssl_cert = '/etc/mysql/server-cert.pem' 160 $ssl_cert = '/etc/mysql/server-cert.pem'
168 $ssl_key = '/etc/mysql/server-key.pem' 161 $ssl_key = '/etc/mysql/server-key.pem'
169 $tmpdir = '/tmp' 162 $tmpdir = '/tmp'
163 $managed_dirs = undef
170 # mysql::bindings 164 # mysql::bindings
171 $java_package_name = 'mysql-connector-java' 165 $java_package_name = 'mysql-connector-java'
172 $perl_package_name = 'perl-DBD-mysql' 166 $perl_package_name = 'perl-DBD-mysql'
173 $php_package_name = 'apache2-mod_php53' 167 $php_package_name = 'apache2-mod_php53'
174 $python_package_name = 'python-mysql' 168 $python_package_name = 'python-mysql'
175 $ruby_package_name = $::operatingsystem ? {
176 /OpenSuSE/ => 'rubygem-mysql',
177 /(SLES|SLED)/ => 'ruby-mysql',
178 }
179 $client_dev_package_name = 'libmysqlclient-devel' 169 $client_dev_package_name = 'libmysqlclient-devel'
180 $daemon_dev_package_name = 'mysql-devel' 170 $daemon_dev_package_name = 'mysql-devel'
181 } 171 }
182 172
183 'Debian': { 173 'Debian': {
184 if $::operatingsystem == 'Debian' and versioncmp($::operatingsystemrelease, '9') >= 0 { 174 if $::operatingsystem == 'Debian' {
185 $provider = 'mariadb' 175 $provider = 'mariadb'
186 } else { 176 } else { # Ubuntu
187 $provider = 'mysql' 177 $provider = 'mysql'
188 } 178 }
189 if $provider == 'mariadb' { 179 if $provider == 'mariadb' {
190 $client_package_name = 'mariadb-client' 180 $client_package_name = 'mariadb-client'
191 $server_package_name = 'mariadb-server' 181 $server_package_name = 'mariadb-server'
206 $datadir = '/var/lib/mysql' 196 $datadir = '/var/lib/mysql'
207 $log_error = '/var/log/mysql/error.log' 197 $log_error = '/var/log/mysql/error.log'
208 $pidfile = '/var/run/mysqld/mysqld.pid' 198 $pidfile = '/var/run/mysqld/mysqld.pid'
209 $root_group = 'root' 199 $root_group = 'root'
210 $mysql_group = 'adm' 200 $mysql_group = 'adm'
201 $mycnf_owner = undef
202 $mycnf_group = undef
211 $socket = '/var/run/mysqld/mysqld.sock' 203 $socket = '/var/run/mysqld/mysqld.sock'
212 $ssl_ca = '/etc/mysql/cacert.pem' 204 $ssl_ca = '/etc/mysql/cacert.pem'
213 $ssl_cert = '/etc/mysql/server-cert.pem' 205 $ssl_cert = '/etc/mysql/server-cert.pem'
214 $ssl_key = '/etc/mysql/server-key.pem' 206 $ssl_key = '/etc/mysql/server-key.pem'
215 $tmpdir = '/tmp' 207 $tmpdir = '/tmp'
216 # mysql::bindings 208 $managed_dirs = ['tmpdir','basedir','datadir','innodb_data_home_dir','innodb_log_group_home_dir','innodb_undo_directory','innodb_tmpdir']
217 if $::operatingsystem == 'Debian' and versioncmp($::operatingsystemrelease, '10') >= 0 { 209
210 # mysql::bindings
211 if ($::operatingsystem == 'Debian' and versioncmp($::operatingsystemrelease, '10') >= 0) or
212 ($::operatingsystem == 'Ubuntu' and versioncmp($::operatingsystemrelease, '20.04') >= 0) {
218 $java_package_name = 'libmariadb-java' 213 $java_package_name = 'libmariadb-java'
219 } else { 214 } else {
220 $java_package_name = 'libmysql-java' 215 $java_package_name = 'libmysql-java'
221 } 216 }
222 $perl_package_name = 'libdbd-mysql-perl' 217 $perl_package_name = 'libdbd-mysql-perl'
223 if ($::operatingsystem == 'Ubuntu' and versioncmp($::operatingsystemrelease, '16.04') >= 0) or 218 if ($::operatingsystem == 'Ubuntu' and versioncmp($::operatingsystemrelease, '16.04') >= 0) or
224 ($::operatingsystem == 'Debian' and versioncmp($::operatingsystemrelease, '9') >= 0) { 219 ($::operatingsystem == 'Debian') {
225 $php_package_name = 'php-mysql' 220 $php_package_name = 'php-mysql'
226 } else { 221 } else {
227 $php_package_name = 'php5-mysql' 222 $php_package_name = 'php5-mysql'
228 } 223 }
229 224 if ($::operatingsystem == 'Ubuntu' and versioncmp($::operatingsystemrelease, '16.04') < 0) or
230 $python_package_name = 'python-mysqldb' 225 ($::operatingsystem == 'Ubuntu' and versioncmp($::operatingsystemrelease, '20.04') >= 0) or
231 $ruby_package_name = $::lsbdistcodename ? { 226 ($::operatingsystem == 'Debian') {
232 'jessie' => 'ruby-mysql', 227 $xtrabackup_package_name_override = 'percona-xtrabackup-24'
233 'stretch' => 'ruby-mysql2', 228 }
234 'buster' => 'ruby-mysql2', 229 if ($::operatingsystem == 'Ubuntu' and versioncmp($::operatingsystemrelease, '20.04') >= 0) or
235 'trusty' => 'ruby-mysql', 230 ($::operatingsystem == 'Debian' and versioncmp($::operatingsystemrelease, '11') >= 0){
236 'xenial' => 'ruby-mysql', 231 $python_package_name = 'python3-mysqldb'
237 'bionic' => 'ruby-mysql2', 232 } else {
238 default => 'libmysql-ruby', 233 $python_package_name = 'python-mysqldb'
234 }
235
236 $ruby_package_name = $facts['os']['release']['major'] ? {
237 '9' => 'ruby-mysql2', # stretch
238 '10' => 'ruby-mysql2', # buster
239 '16.04' => 'ruby-mysql', # xenial
240 '18.04' => 'ruby-mysql2', # bionic
241 '20.04' => 'ruby-mysql2', # focal
242 default => 'libmysql-ruby',
239 } 243 }
240 } 244 }
241 245
242 'Archlinux': { 246 'Archlinux': {
243 $daemon_dev_package_name = undef 247 $daemon_dev_package_name = undef
250 $datadir = '/var/lib/mysql' 254 $datadir = '/var/lib/mysql'
251 $log_error = '/var/log/mysqld.log' 255 $log_error = '/var/log/mysqld.log'
252 $pidfile = '/var/run/mysqld/mysqld.pid' 256 $pidfile = '/var/run/mysqld/mysqld.pid'
253 $root_group = 'root' 257 $root_group = 'root'
254 $mysql_group = 'mysql' 258 $mysql_group = 'mysql'
259 $mycnf_owner = undef
260 $mycnf_group = undef
255 $server_service_name = 'mysqld' 261 $server_service_name = 'mysqld'
256 $socket = '/var/lib/mysql/mysql.sock' 262 $socket = '/var/lib/mysql/mysql.sock'
257 $ssl_ca = '/etc/mysql/cacert.pem' 263 $ssl_ca = '/etc/mysql/cacert.pem'
258 $ssl_cert = '/etc/mysql/server-cert.pem' 264 $ssl_cert = '/etc/mysql/server-cert.pem'
259 $ssl_key = '/etc/mysql/server-key.pem' 265 $ssl_key = '/etc/mysql/server-key.pem'
260 $tmpdir = '/tmp' 266 $tmpdir = '/tmp'
267 $managed_dirs = undef
261 # mysql::bindings 268 # mysql::bindings
262 $java_package_name = 'mysql-connector-java' 269 $java_package_name = 'mysql-connector-java'
263 $perl_package_name = 'perl-dbd-mysql' 270 $perl_package_name = 'perl-dbd-mysql'
264 $php_package_name = undef 271 $php_package_name = undef
265 $python_package_name = 'mysql-python' 272 $python_package_name = 'mysql-python'
275 $datadir = '/var/lib/mysql' 282 $datadir = '/var/lib/mysql'
276 $log_error = '/var/log/mysql/mysqld.err' 283 $log_error = '/var/log/mysql/mysqld.err'
277 $pidfile = '/run/mysqld/mysqld.pid' 284 $pidfile = '/run/mysqld/mysqld.pid'
278 $root_group = 'root' 285 $root_group = 'root'
279 $mysql_group = 'mysql' 286 $mysql_group = 'mysql'
287 $mycnf_owner = undef
288 $mycnf_group = undef
280 $server_service_name = 'mysql' 289 $server_service_name = 'mysql'
281 $socket = '/run/mysqld/mysqld.sock' 290 $socket = '/run/mysqld/mysqld.sock'
282 $ssl_ca = '/etc/mysql/cacert.pem' 291 $ssl_ca = '/etc/mysql/cacert.pem'
283 $ssl_cert = '/etc/mysql/server-cert.pem' 292 $ssl_cert = '/etc/mysql/server-cert.pem'
284 $ssl_key = '/etc/mysql/server-key.pem' 293 $ssl_key = '/etc/mysql/server-key.pem'
285 $tmpdir = '/tmp' 294 $tmpdir = '/tmp'
295 $managed_dirs = undef
286 # mysql::bindings 296 # mysql::bindings
287 $java_package_name = 'dev-java/jdbc-mysql' 297 $java_package_name = 'dev-java/jdbc-mysql'
288 $perl_package_name = 'dev-perl/DBD-mysql' 298 $perl_package_name = 'dev-perl/DBD-mysql'
289 $php_package_name = undef 299 $php_package_name = undef
290 $python_package_name = 'dev-python/mysql-python' 300 $python_package_name = 'dev-python/mysql-python'
291 $ruby_package_name = 'dev-ruby/mysql-ruby' 301 $ruby_package_name = 'dev-ruby/mysql-ruby'
292 } 302 }
293 303
294 'FreeBSD': { 304 'FreeBSD': {
295 $client_package_name = 'databases/mysql56-client' 305 $client_package_name = 'databases/mysql57-client'
296 $server_package_name = 'databases/mysql56-server' 306 $server_package_name = 'databases/mysql57-server'
297 $basedir = '/usr/local' 307 $basedir = '/usr/local'
298 $config_file = '/usr/local/etc/my.cnf' 308 $config_file = '/usr/local/etc/my.cnf'
299 $includedir = '/usr/local/etc/my.cnf.d' 309 $includedir = '/usr/local/etc/my.cnf.d'
300 $datadir = '/var/db/mysql' 310 $datadir = '/var/db/mysql'
301 $log_error = '/var/log/mysqld.log' 311 $log_error = '/var/log/mysqld.log'
302 $pidfile = '/var/run/mysql.pid' 312 $pidfile = '/var/run/mysql.pid'
303 $root_group = 'wheel' 313 $root_group = 'wheel'
304 $mysql_group = 'mysql' 314 $mysql_group = 'mysql'
315 $mycnf_owner = undef
316 $mycnf_group = undef
305 $server_service_name = 'mysql-server' 317 $server_service_name = 'mysql-server'
306 $socket = '/var/db/mysql/mysql.sock' 318 $socket = '/var/db/mysql/mysql.sock'
307 $ssl_ca = undef 319 $ssl_ca = undef
308 $ssl_cert = undef 320 $ssl_cert = undef
309 $ssl_key = undef 321 $ssl_key = undef
310 $tmpdir = '/tmp' 322 $tmpdir = '/tmp'
323 $managed_dirs = undef
311 # mysql::bindings 324 # mysql::bindings
312 $java_package_name = 'databases/mysql-connector-java' 325 $java_package_name = 'databases/mysql-connector-java'
313 $perl_package_name = 'p5-DBD-mysql' 326 $perl_package_name = 'p5-DBD-mysql'
314 $php_package_name = 'php5-mysql' 327 $php_package_name = 'php5-mysql'
315 $python_package_name = 'databases/py-MySQLdb' 328 $python_package_name = 'databases/py-MySQLdb'
328 $datadir = '/var/mysql' 341 $datadir = '/var/mysql'
329 $log_error = "/var/mysql/${::hostname}.err" 342 $log_error = "/var/mysql/${::hostname}.err"
330 $pidfile = '/var/mysql/mysql.pid' 343 $pidfile = '/var/mysql/mysql.pid'
331 $root_group = 'wheel' 344 $root_group = 'wheel'
332 $mysql_group = '_mysql' 345 $mysql_group = '_mysql'
346 $mycnf_owner = undef
347 $mycnf_group = undef
333 $server_service_name = 'mysqld' 348 $server_service_name = 'mysqld'
334 $socket = '/var/run/mysql/mysql.sock' 349 $socket = '/var/run/mysql/mysql.sock'
335 $ssl_ca = undef 350 $ssl_ca = undef
336 $ssl_cert = undef 351 $ssl_cert = undef
337 $ssl_key = undef 352 $ssl_key = undef
338 $tmpdir = '/tmp' 353 $tmpdir = '/tmp'
354 $managed_dirs = undef
339 # mysql::bindings 355 # mysql::bindings
340 $java_package_name = undef 356 $java_package_name = undef
341 $perl_package_name = 'p5-DBD-mysql' 357 $perl_package_name = 'p5-DBD-mysql'
342 $php_package_name = 'php-mysql' 358 $php_package_name = 'php-mysql'
343 $python_package_name = 'py-mysql' 359 $python_package_name = 'py-mysql'
360 $socket = '/tmp/mysql.sock' 376 $socket = '/tmp/mysql.sock'
361 $ssl_ca = undef 377 $ssl_ca = undef
362 $ssl_cert = undef 378 $ssl_cert = undef
363 $ssl_key = undef 379 $ssl_key = undef
364 $tmpdir = '/tmp' 380 $tmpdir = '/tmp'
381 $managed_dirs = undef
365 # mysql::bindings 382 # mysql::bindings
366 $java_package_name = undef 383 $java_package_name = undef
367 $perl_package_name = undef 384 $perl_package_name = undef
368 $php_package_name = 'web/php-53/extension/php-mysql' 385 $php_package_name = 'web/php-53/extension/php-mysql'
369 $python_package_name = 'library/python/python-mysql' 386 $python_package_name = 'library/python/python-mysql'
383 $datadir = '/var/lib/mysql' 400 $datadir = '/var/lib/mysql'
384 $log_error = '/var/log/mysqld.log' 401 $log_error = '/var/log/mysqld.log'
385 $pidfile = '/run/mysqld/mysqld.pid' 402 $pidfile = '/run/mysqld/mysqld.pid'
386 $root_group = 'root' 403 $root_group = 'root'
387 $mysql_group = 'mysql' 404 $mysql_group = 'mysql'
405 $mycnf_owner = undef
406 $mycnf_group = undef
388 $server_service_name = 'mariadb' 407 $server_service_name = 'mariadb'
389 $socket = '/run/mysqld/mysqld.sock' 408 $socket = '/run/mysqld/mysqld.sock'
390 $ssl_ca = '/etc/mysql/cacert.pem' 409 $ssl_ca = '/etc/mysql/cacert.pem'
391 $ssl_cert = '/etc/mysql/server-cert.pem' 410 $ssl_cert = '/etc/mysql/server-cert.pem'
392 $ssl_key = '/etc/mysql/server-key.pem' 411 $ssl_key = '/etc/mysql/server-key.pem'
393 $tmpdir = '/tmp' 412 $tmpdir = '/tmp'
413 $managed_dirs = undef
394 $java_package_name = undef 414 $java_package_name = undef
395 $perl_package_name = 'perl-dbd-mysql' 415 $perl_package_name = 'perl-dbd-mysql'
396 $php_package_name = 'php7-mysqlnd' 416 $php_package_name = 'php7-mysqlnd'
397 $python_package_name = 'py-mysqldb' 417 $python_package_name = 'py-mysqldb'
398 $ruby_package_name = undef 418 $ruby_package_name = undef
408 $datadir = '/var/lib/mysql' 428 $datadir = '/var/lib/mysql'
409 $log_error = '/var/log/mysqld.log' 429 $log_error = '/var/log/mysqld.log'
410 $pidfile = '/var/run/mysqld/mysqld.pid' 430 $pidfile = '/var/run/mysqld/mysqld.pid'
411 $root_group = 'root' 431 $root_group = 'root'
412 $mysql_group = 'mysql' 432 $mysql_group = 'mysql'
433 $mycnf_owner = undef
434 $mycnf_group = undef
413 $server_service_name = 'mysqld' 435 $server_service_name = 'mysqld'
414 $socket = '/var/lib/mysql/mysql.sock' 436 $socket = '/var/lib/mysql/mysql.sock'
415 $ssl_ca = '/etc/mysql/cacert.pem' 437 $ssl_ca = '/etc/mysql/cacert.pem'
416 $ssl_cert = '/etc/mysql/server-cert.pem' 438 $ssl_cert = '/etc/mysql/server-cert.pem'
417 $ssl_key = '/etc/mysql/server-key.pem' 439 $ssl_key = '/etc/mysql/server-key.pem'
418 $tmpdir = '/tmp' 440 $tmpdir = '/tmp'
441 $managed_dirs = undef
419 # mysql::bindings 442 # mysql::bindings
420 $java_package_name = 'mysql-connector-java' 443 $java_package_name = 'mysql-connector-java'
421 $perl_package_name = 'perl-DBD-MySQL' 444 $perl_package_name = 'perl-DBD-MySQL'
422 $php_package_name = 'php-mysql' 445 $php_package_name = 'php-mysql'
423 $python_package_name = 'MySQL-python' 446 $python_package_name = 'MySQL-python'
426 $client_dev_package_name = undef 449 $client_dev_package_name = undef
427 $daemon_dev_package_name = undef 450 $daemon_dev_package_name = undef
428 } 451 }
429 452
430 default: { 453 default: {
431 fail(translate('Unsupported platform: puppetlabs-%{module_name} currently doesn\'t support %{osfamily} or %{os}.', 454 fail("Unsupported platform: puppetlabs-${module_name} currently doesn\'t support ${::osfamily} or ${::operatingsystem}.")
432 {'module_name' => $module_name, 'os' => $::operatingsystem, 'osfamily' => $::osfamily}))
433 } 455 }
434 } 456 }
435 } 457 }
436 } 458 }
437 459
438 case $::operatingsystem { 460 case $::operatingsystem {
439 'Ubuntu': { 461 'Ubuntu': {
440 # lint:ignore:only_variable_string 462 $server_service_provider = 'systemd'
441 if versioncmp("${::operatingsystemmajrelease}", '14.10') > 0 {
442 # lint:endignore
443 $server_service_provider = 'systemd'
444 } else {
445 $server_service_provider = 'upstart'
446 }
447 } 463 }
448 'Alpine': { 464 'Alpine': {
449 $server_service_provider = 'rc-service' 465 $server_service_provider = 'rc-service'
466 }
467 'FreeBSD': {
468 $server_service_provider = 'freebsd'
450 } 469 }
451 default: { 470 default: {
452 $server_service_provider = undef 471 $server_service_provider = undef
453 } 472 }
454 } 473 }
516 'isamchk' => { 535 'isamchk' => {
517 'key_buffer_size' => '16M', 536 'key_buffer_size' => '16M',
518 }, 537 },
519 } 538 }
520 539
540 if defined('$xtrabackup_package_name_override') {
541 $xtrabackup_package_name = pick($xtrabackup_package_name_override, $xtrabackup_package_name_default)
542 } else {
543 $xtrabackup_package_name = $xtrabackup_package_name_default
544 }
545
521 ## Additional graceful failures 546 ## Additional graceful failures
522 if $::osfamily == 'RedHat' and $::operatingsystemmajrelease == '4' and $::operatingsystem != 'Amazon' { 547 if $::osfamily == 'RedHat' and $::operatingsystemmajrelease == '4' and $::operatingsystem != 'Amazon' {
523 fail(translate('Unsupported platform: puppetlabs-%{module_name} only supports RedHat 5.0 and beyond.', {'module_name' => $module_name})) 548 fail("Unsupported platform: puppetlabs-${module_name} only supports RedHat 6.0 and beyond.")
524 } 549 }
525 } 550 }