summaryrefslogtreecommitdiff
path: root/manifests
diff options
context:
space:
mode:
authorJerome Charaoui <jcharaoui@cmaisonneuve.qc.ca>2015-02-24 16:46:45 -0500
committerJerome Charaoui <jcharaoui@cmaisonneuve.qc.ca>2015-02-24 16:46:45 -0500
commita713d36aeb35595792c09222e4424abfa07ddad8 (patch)
tree0ccda588dd9d74dc36529347b19d4ee99a5e72b7 /manifests
parent9b327191c775b8d73bfc1f8e5da062703cf7f377 (diff)
parent0ce33a632f30f8845359e2fc146789013dcd4984 (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.pp8
-rw-r--r--manifests/client/base.pp10
-rw-r--r--manifests/server/account_security.pp8
-rw-r--r--manifests/server/base.pp41
-rw-r--r--manifests/server/centos.pp30
-rw-r--r--manifests/server/cron/backup.pp8
-rw-r--r--manifests/server/tuner.pp6
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,
+ }
+}