diff options
author | Jerome Charaoui <jcharaoui@cmaisonneuve.qc.ca> | 2015-02-24 16:46:45 -0500 |
---|---|---|
committer | Jerome Charaoui <jcharaoui@cmaisonneuve.qc.ca> | 2015-02-24 16:46:45 -0500 |
commit | a713d36aeb35595792c09222e4424abfa07ddad8 (patch) | |
tree | 0ccda588dd9d74dc36529347b19d4ee99a5e72b7 /manifests | |
parent | 9b327191c775b8d73bfc1f8e5da062703cf7f377 (diff) | |
parent | 0ce33a632f30f8845359e2fc146789013dcd4984 (diff) |
Merge branch 'master' of git://git.puppet.immerda.ch/module-mysql
Conflicts:
files/scripts/optimize_tables.rb
manifests/server/base.pp
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/admin_user.pp | 8 | ||||
-rw-r--r-- | manifests/client/base.pp | 10 | ||||
-rw-r--r-- | manifests/server/account_security.pp | 8 | ||||
-rw-r--r-- | manifests/server/base.pp | 41 | ||||
-rw-r--r-- | manifests/server/centos.pp | 30 | ||||
-rw-r--r-- | manifests/server/cron/backup.pp | 8 | ||||
-rw-r--r-- | manifests/server/tuner.pp | 6 |
7 files changed, 63 insertions, 48 deletions
diff --git a/manifests/admin_user.pp b/manifests/admin_user.pp index 66e0cc1..78085bc 100644 --- a/manifests/admin_user.pp +++ b/manifests/admin_user.pp @@ -14,8 +14,10 @@ define mysql::admin_user( password_hash => $password_hash, require => Exec['mysql_set_rootpw'], } - mysql_grant{"${name}@${host}": - privileges => 'all', - require => Mysql_user["${name}@${host}"], + if $ensure == 'present' { + mysql_grant{"${name}@${host}": + privileges => 'all', + require => Mysql_user["${name}@${host}"], + } } } diff --git a/manifests/client/base.pp b/manifests/client/base.pp index b09b90e..8106ded 100644 --- a/manifests/client/base.pp +++ b/manifests/client/base.pp @@ -1,7 +1,13 @@ # basic mysql client stuff class mysql::client::base { package { 'mysql': - ensure => present, - alias => 'mysql-client', + ensure => present, + alias => 'mysql-client', + } + if $::operatingsystem in ['RedHat', 'CentOS'] and + $::operatingsystemmajrelease > 6 { + Package[mysql]{ + name => 'mariadb' + } } } diff --git a/manifests/server/account_security.pp b/manifests/server/account_security.pp deleted file mode 100644 index a17f0b3..0000000 --- a/manifests/server/account_security.pp +++ /dev/null @@ -1,8 +0,0 @@ -# some installations have some default users which are not required. -# We remove them here. You can subclass this class to overwrite this behavior. -class mysql::server::account_security { - mysql_user{ [ "root@${::fqdn}", 'root@127.0.0.1', "@${::fqdn}", '@localhost', '@%' ]: - ensure => 'absent', - require => Exec['mysql_set_rootpw'], - } -} diff --git a/manifests/server/base.pp b/manifests/server/base.pp index 7bbf30d..0863950 100644 --- a/manifests/server/base.pp +++ b/manifests/server/base.pp @@ -8,10 +8,10 @@ class mysql::server::base { path => '/etc/mysql/my.cnf', source => [ "puppet:///modules/site_mysql/${::fqdn}/my.cnf", - "puppet:///modules/site_mysql/my.cnf.${::operatingsystem}.{lsbdistcodename}", + "puppet:///modules/site_mysql/my.cnf.${::operatingsystem}.${::operatingsystemmajrelease}", "puppet:///modules/site_mysql/my.cnf.${::operatingsystem}", 'puppet:///modules/site_mysql/my.cnf', - "puppet:///modules/mysql/config/my.cnf.${::operatingsystem}.{lsbdistcodename}", + "puppet:///modules/mysql/config/my.cnf.${::operatingsystem}.${::operatingsystemmajrelease}", "puppet:///modules/mysql/config/my.cnf.${::operatingsystem}", 'puppet:///modules/mysql/config/my.cnf' ], @@ -31,16 +31,10 @@ class mysql::server::base { owner => mysql, group => mysql, mode => '0755'; - 'mysql_ibdata1': - path => '/var/lib/mysql/data/ibdata1', - require => Package['mysql-server'], - before => File['mysql_setmysqlpass.sh'], - owner => mysql, - group => mysql, - mode => '0660'; 'mysql_setmysqlpass.sh': path => '/usr/local/sbin/setmysqlpass.sh', - source => "puppet:///modules/mysql/scripts/${::operatingsystem}/setmysqlpass.sh", + source => ["puppet:///modules/mysql/scripts/${::operatingsystem}/setmysqlpass.sh.${::operatingsystemmajrelease}", + "puppet:///modules/mysql/scripts/${::operatingsystem}/setmysqlpass.sh", ], require => Package['mysql-server'], owner => root, group => 0, @@ -57,7 +51,6 @@ class mysql::server::base { exec { 'mysql_set_rootpw': command => '/usr/local/sbin/setmysqlpass.sh', - unless => 'mysqladmin -uroot status > /dev/null', require => [ File['mysql_setmysqlpass.sh'], Service['mysql'] ], # this is for security so that we only change the password # if the password file itself has changed @@ -70,11 +63,7 @@ class mysql::server::base { } if $mysql::server::optimize_cron { - class { 'mysql::server::cron::optimize': - optimize_hour => $mysql::server::optimize_hour, - optimize_minute => $mysql::server::optimize_minute, - optimize_day => $mysql::server::optimize_day, - } + include mysql::server::cron::optimize } service { 'mysql': @@ -84,20 +73,8 @@ class mysql::server::base { require => Package['mysql-server'], } - if $::mysql_exists == 'true' { - include mysql::server::account_security - - # Collect all databases and users - Mysql_database<<| tag == "mysql_${::fqdn}" |>> - Mysql_user<<| tag == "mysql_${::fqdn}" |>> - Mysql_grant<<| tag == "mysql_${::fqdn}" |>> - } - - file { '/etc/mysql/conf.d': - ensure => directory, - owner => 'root', - group => 0, - mode => '0755', - } - + # Collect all databases and users + Mysql_database<<| tag == "mysql_${::fqdn}" |>> + Mysql_user<<| tag == "mysql_${::fqdn}" |>> + Mysql_grant<<| tag == "mysql_${::fqdn}" |>> } diff --git a/manifests/server/centos.pp b/manifests/server/centos.pp index a55a57f..5c0ab34 100644 --- a/manifests/server/centos.pp +++ b/manifests/server/centos.pp @@ -1,9 +1,35 @@ # centos specific things class mysql::server::centos inherits mysql::server::clientpackage { - Service['mysql']{ - name => 'mysqld', + if $::operatingsystemmajrelease > 6 { + Package['mysql-server']{ + name => 'mariadb-server', + } + Service['mysql']{ + name => 'mariadb', + } + } else { + Service['mysql']{ + name => 'mysqld', + } } File['mysql_main_cnf']{ path => '/etc/my.cnf', } + + file{ + '/etc/mysql': + ensure => directory, + owner => root, + group => 0, + mode => '0644'; + '/etc/mysql/conf.d': + ensure => directory, + recurse => true, + purge => true, + force => true, + owner => root, + group => 0, + mode => '0644', + notify => Service['mysql']; + } } diff --git a/manifests/server/cron/backup.pp b/manifests/server/cron/backup.pp index 671ad9c..2b9dc6c 100644 --- a/manifests/server/cron/backup.pp +++ b/manifests/server/cron/backup.pp @@ -11,8 +11,14 @@ class mysql::server::cron::backup { } } + if versioncmp($::mysql_version,'5.1.68') > 0 { + $backup_command = "/usr/bin/mysqldump --default-character-set=utf8 --all-databases --create-options --flush-logs --lock-tables --single-transaction --events --ignore-table=mysql.event | gzip > ${mysql::server::backup_dir}/mysqldump.sql.gz && chmod 600 ${mysql::server::backup_dir}/mysqldump.sql.gz" + } else { + $backup_command = "/usr/bin/mysqldump --default-character-set=utf8 --all-databases --create-options --flush-logs --lock-tables --single-transaction | gzip > ${mysql::server::backup_dir}/mysqldump.sql.gz && chmod 600 ${mysql::server::backup_dir}/mysqldump.sql.gz" + } + cron { 'mysql_backup_cron': - command => "/usr/bin/mysqldump --default-character-set=utf8 --all-databases --create-options --flush-logs --lock-tables --single-transaction | gzip > ${mysql::server::backup_dir}/mysqldump.sql.gz && chmod 600 ${mysql::server::backup_dir}/mysqldump.sql.gz", + command => $backup_command, user => 'root', minute => 0, hour => 1, diff --git a/manifests/server/tuner.pp b/manifests/server/tuner.pp new file mode 100644 index 0000000..5aa6772 --- /dev/null +++ b/manifests/server/tuner.pp @@ -0,0 +1,6 @@ +# install mysqltuner package +class mysql::server::tuner { + package{'mysqltuner': + ensure => present, + } +} |