diff options
author | mh <mh@immerda.ch> | 2009-10-03 15:19:11 +0200 |
---|---|---|
committer | mh <mh@immerda.ch> | 2009-10-03 15:19:11 +0200 |
commit | 647d5fda99f79f6af3d14765092510c19801e8d0 (patch) | |
tree | 77dc0a493fae932cbc8d9fc51fef169fd33804ce /manifests/init.pp | |
parent | 8100f49e3255ceda036dd107d127aebd914ca054 (diff) |
refactor classes
Diffstat (limited to 'manifests/init.pp')
-rw-r--r-- | manifests/init.pp | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/manifests/init.pp b/manifests/init.pp index 4ebfb4f..3d8d8e3 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -1,4 +1,3 @@ -# # mysql module # # Copyright (C) 2007 David Schmitt <david@schmitt.edv-bus.at> @@ -8,124 +7,3 @@ # Marcel Härry haerry+puppet(at)puzzle.ch # Simon Josi josi+puppet(at)puzzle.ch # - -class mysql::server { - case $operatingsystem { - gentoo: { include mysql::server::gentoo } - centos: { include mysql::server::centos } - default: { include mysql::server::base } - } - if $selinux { - include mysql::selinux - } - if $use_munin { - include mysql::munin - } -} - -class mysql::server::base { - package { mysql-server: - ensure => present, - } - file{'/etc/mysql/my.cnf': - source => [ - "puppet://$server/files/mysql/${fqdn}/my.cnf", - "puppet://$server/files/mysql/my.cnf", - "puppet://$server/mysql/config/my.cnf.${operatingsystem}", - "puppet://$server/mysql/config/my.cnf" - ], - ensure => file, - require => Package[mysql-server], - notify => Service[mysql], - owner => root, group => 0, mode => 0644; - } - file{'/var/lib/mysql/data': - ensure => directory, - require => Package[mysql-server], - before => File['/etc/mysql/my.cnf'], - owner => mysql, group => mysql, mode => 0755; - } - - file{'/var/lib/mysql/data/ibdata1': - ensure => file, - require => Package[mysql-server], - before => File['/opt/bin/setmysqlpass.sh'], - owner => mysql, group => mysql, mode => 0660; - } - - case $mysql_rootpw { - '': { fail("You need to define a mysql root password! Please set \$mysql_rootpw in your site.pp or host config") } - } - file{'/opt/bin/setmysqlpass.sh': - source => "puppet://$server/mysql/config/${operatingsystem}/setmysqlpass.sh", - require => Package[mysql-server], - owner => root, group => 0, mode => 0500; - } - file {'/root/.my.cnf': - content => template('mysql/root/my.cnf.erb'), - require => [ Package[mysql-server] ], - owner => root, group => 0, mode => 0400; - } - exec{'set_mysql_rootpw': - command => "/opt/bin/setmysqlpass.sh $mysql_rootpw", - unless => "mysqladmin -uroot status > /dev/null", - require => [ File['/opt/bin/setmysqlpass.sh'], Package[mysql-server] ], - } - file{'/etc/cron.d/mysql_backup.cron': - source => [ "puppet://$server/mysql/backup/mysql_backup.cron.${operatingsystem}", - "puppet://$server/mysql/backup/mysql_backup.cron" ], - require => [ Exec[set_mysql_rootpw], File['/root/.my.cnf'] ], - owner => root, group => 0, mode => 0600; - } - file{'/etc/cron.weekly/mysql_optimize_tables.rb': - source => "puppet://$server/mysql/optimize/optimize_tables.rb", - require => [ Exec[set_mysql_rootpw], File['/root/.my.cnf'] ], - owner => root, group => 0, mode => 0700; - } - service {mysql: - ensure => running, - enable => true, - hasstatus => true, - require => Package[mysql], - } - - # Collect all databases and users - Mysql_database<<| tag == "mysql_${fqdn}" |>> - Mysql_user<<| tag == "mysql_${fqdn}" |>> - Mysql_grant<<| tag == "mysql_${fqdn}" |>> -} - -class mysql::server::gentoo inherits mysql::server::base { - Package[mysql-server] { - alias => 'mysql', - category => 'dev-db', - } -} - -class mysql::server::clientpackage inherits mysql::server::base { - package{mysql: - ensure => present, - } - File['/opt/bin/setmysqlpass.sh']{ - require +> Package[mysql], - } - File['/root/.my.cnf']{ - require +> Package[mysql], - } - Exec['set_mysql_rootpw']{ - require +> Package[mysql], - } - File['/etc/cron.d/mysql_backup.cron']{ - require +> Package[mysql], - } -} - -class mysql::server::centos inherits mysql::server::clientpackage { - Service[mysql]{ - name => 'mysqld', - } - File['/etc/mysql/my.cnf']{ - path => '/etc/my.cnf', - } - -} |