summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormh <mh@immerda.ch>2012-12-09 15:12:19 +0100
committermh <mh@immerda.ch>2012-12-09 15:12:19 +0100
commit828d52e667a99432d55ee36f52b3430ca699a3a6 (patch)
treed7afae32046e7ea73b4bf4d8e415eb96f73aa46b
parent53d1455aa55a7d55e858a5b80585df041e7bd19f (diff)
woraround a puppet provider bug
-rw-r--r--manifests/server.pp7
-rw-r--r--manifests/server/base.pp103
2 files changed, 59 insertions, 51 deletions
diff --git a/manifests/server.pp b/manifests/server.pp
index f08cd1a..bc49100 100644
--- a/manifests/server.pp
+++ b/manifests/server.pp
@@ -1,3 +1,4 @@
+# manage a mysql server
class mysql::server (
$manage_shorewall = false,
$manage_munin = false,
@@ -15,16 +16,16 @@ class mysql::server (
default: { include mysql::server::base }
}
- if $manage_munin {
+ if $manage_munin and $::mysql_exists == 'true' {
case $::operatingsystem {
debian: { include mysql::server::munin::debian }
default: { include mysql::server::munin::default }
}
}
- if $manage_nagios {
+ if $manage_nagios and $::mysql_exists == 'true' {
include mysql::server::nagios
- }
+ }
if $manage_shorewall {
include shorewall::rules::mysql
diff --git a/manifests/server/base.pp b/manifests/server/base.pp
index de421b3..0709a54 100644
--- a/manifests/server/base.pp
+++ b/manifests/server/base.pp
@@ -1,59 +1,64 @@
+# manage the common things of
+# a mysql server
class mysql::server::base {
- package { mysql-server:
+ package {'mysql-server':
ensure => present,
}
file { 'mysql_main_cnf':
- path => '/etc/mysql/my.cnf',
- source => [
+ 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}",
- "puppet:///modules/site_mysql/my.cnf",
+ 'puppet:///modules/site_mysql/my.cnf',
"puppet:///modules/mysql/config/my.cnf.${::operatingsystem}.{lsbdistcodename}",
"puppet:///modules/mysql/config/my.cnf.${::operatingsystem}",
- "puppet:///modules/mysql/config/my.cnf"
+ 'puppet:///modules/mysql/config/my.cnf'
],
- ensure => file,
require => Package['mysql-server'],
- notify => Service['mysql'],
- owner => root, group => 0, mode => 0644;
+ notify => Service['mysql'],
+ owner => root,
+ group => 0,
+ mode => '0644';
}
- file { 'mysql_data_dir':
- path => '/var/lib/mysql/data',
- ensure => directory,
- require => Package['mysql-server'],
- before => File['mysql_main_cnf'],
- owner => mysql, group => mysql, mode => 0755;
- }
-
- file { 'mysql_ibdata1':
- path => '/var/lib/mysql/data/ibdata1',
- ensure => file,
- require => Package['mysql-server'],
- before => File['mysql_setmysqlpass.sh'],
- owner => mysql, group => mysql, mode => 0660;
- }
-
- file { 'mysql_setmysqlpass.sh':
- path => '/usr/local/sbin/setmysqlpass.sh',
- source => "puppet:///modules/mysql/scripts/${::operatingsystem}/setmysqlpass.sh",
- require => Package['mysql-server'],
- owner => root, group => 0, mode => 0500;
- }
-
- file { 'mysql_root_cnf':
- path => '/root/.my.cnf',
- content => template('mysql/root/my.cnf.erb'),
- require => [ Package['mysql-server'] ],
- owner => root, group => 0, mode => 0400,
- notify => Exec['mysql_set_rootpw'],
+ file {
+ 'mysql_data_dir':
+ ensure => directory,
+ path => '/var/lib/mysql/data',
+ require => Package['mysql-server'],
+ before => File['mysql_main_cnf'],
+ 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",
+ require => Package['mysql-server'],
+ owner => root,
+ group => 0,
+ mode => '0500';
+ 'mysql_root_cnf':
+ path => '/root/.my.cnf',
+ content => template('mysql/root/my.cnf.erb'),
+ require => [ Package['mysql-server'] ],
+ notify => Exec['mysql_set_rootpw'],
+ owner => root,
+ group => 0,
+ mode => '0400';
}
exec { 'mysql_set_rootpw':
- command => '/usr/local/sbin/setmysqlpass.sh',
- unless => "mysqladmin -uroot status > /dev/null",
- require => [ File['mysql_setmysqlpass.sh'], Package['mysql-server'] ],
+ command => '/usr/local/sbin/setmysqlpass.sh',
+ unless => 'mysqladmin -uroot status > /dev/null',
+ require => [ File['mysql_setmysqlpass.sh'], Package['mysql-server'] ],
refreshonly => true,
}
@@ -66,16 +71,18 @@ class mysql::server::base {
}
service { 'mysql':
- ensure => running,
- enable => true,
+ ensure => running,
+ enable => true,
hasstatus => true,
- require => Package['mysql-server'],
+ require => Package['mysql-server'],
}
- include mysql::server::account_security
+ 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}" |>>
+ # Collect all databases and users
+ Mysql_database<<| tag == "mysql_${::fqdn}" |>>
+ Mysql_user<<| tag == "mysql_${::fqdn}" |>>
+ Mysql_grant<<| tag == "mysql_${::fqdn}" |>>
+ }
}