diff --git a/.puppet/modules/mysql/manifests/init.pp b/.puppet/modules/mysql/manifests/init.pp index a235a540c..612211755 100644 --- a/.puppet/modules/mysql/manifests/init.pp +++ b/.puppet/modules/mysql/manifests/init.pp @@ -1,6 +1,6 @@ # Class: mysql # -# This class installs the mysql server and client software. +# This class installs the MySQL server and client software on a RHEL or CentOS # # Parameters: # @@ -16,21 +16,39 @@ class mysql { Exec { path => '/usr/bin' } + if versioncmp($::operatingsystemmajrelease, '7') >= 0 { + $client_package_name = 'mariadb' + $server_package_name = 'mariadb-server' + $server_service_name = 'mariadb' + $cnf = '/etc/my.cnf.d/server.cnf' + $log_error = '/var/log/mariadb/mariadb.log' + $pid_file = '/var/run/mariadb/mariadb.pid' + } else { + $client_package_name = 'mysql' + $server_package_name = 'mysql-server' + $server_service_name = 'mysqld' + $cnf = '/etc/my.cnf' + $log_error = '/var/log/mysqld.log' + $pid_file = '/var/run/mysqld/mysqld.pid' + } + package { [ - 'mysql', 'mysql-server' + $client_package_name, $server_package_name, ]: ensure => latest, } - service { 'mysqld': - ensure => running, + service { $server_service_name: + alias => 'mysqld', enable => true, - require => Package['mysql-server'] + ensure => running, + require => Package[$server_package_name], } - file { '/etc/my.cnf': + file { $cnf: content => template('mysql/my.cnf.erb'), - require => Package['mysql-server'], - notify => Service['mysqld'] + notify => Service['mysqld'], + recurse => true, + require => Package[$server_package_name], } } diff --git a/.puppet/modules/mysql/templates/my.cnf.erb b/.puppet/modules/mysql/templates/my.cnf.erb index d26583ee3..7f819af73 100644 --- a/.puppet/modules/mysql/templates/my.cnf.erb +++ b/.puppet/modules/mysql/templates/my.cnf.erb @@ -104,8 +104,8 @@ innodb_file_per_table innodb_log_file_size = 64M [mysqld_safe] -log-error=/var/log/mysqld.log -pid-file=/var/run/mysqld/mysqld.pid +log-error=<%= @log_error %> +pid-file=<%= @pid_file %> # Increase the amount of open files allowed per process. Warning: Make # sure you have set the global system limit high enough! The high value