diff options
author | Don Brewer <dbrewer@dbrewer-host.usersys.redhat.com> | 2008-04-09 18:19:33 -0400 |
---|---|---|
committer | Brenton Leanhardt <bleanhar@redhat.com> | 2008-04-15 10:37:38 -0400 |
commit | 008e325636028c089ede04ad81993826838c743d (patch) | |
tree | ad968466655cb2e11afa07e6099f1bbcda665155 | |
parent | 016c92cf526745640cff9a831df9ba4cb789b3aa (diff) | |
download | puppet-mysql-008e325636028c089ede04ad81993826838c743d.tar.gz puppet-mysql-008e325636028c089ede04ad81993826838c743d.tar.xz puppet-mysql-008e325636028c089ede04ad81993826838c743d.zip |
added new machine type master-to-master
-rw-r--r-- | manifests/init.pp | 86 |
1 files changed, 36 insertions, 50 deletions
diff --git a/manifests/init.pp b/manifests/init.pp index ca7894a..a5de0dc 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -71,59 +71,42 @@ class mysql::server { unless => "$mysql_cmd_root_with_pwd --execute '\s'", require => Exec["grants all to replication user"], } - } class mysql::standalone inherits mysql::server { - $binary_logging = false - - file { "/etc/my.cnf": - ensure => present, - owner => "mysql", - group => "mysql", - mode => 0644, - content => template("mysql/my.cnf.erb"), - before => Service["mysql"], + mysql::mysql_config {"set binary logging": + binary_logging => false, } } -class mysql::master inherits mysql::server { - $binary_logging = true +class mysql::M2S inherits mysql::server { + mysql::mysql_config {"set binary logging": + binary_logging => true, + } - file { "/etc/my.cnf": - ensure => present, - owner => "mysql", - group => "mysql", - mode => 0644, - content => template("mysql/my.cnf.erb"), - before => Service["mysql"], + mysql::mysql_replication {"Configure Master Server for Master to Slave Replication", } +} - file { "/var/lib/mysql/gather_master_data.bash": - owner => "mysql", - group => "mysql", - ensure => present, - mode => 0755, - content => template("mysql/gather_master_data.bash.erb"), - require => Exec["grants all to replication user"], +class mysql::slave inherits mysql::server { + mysql::mysql_config {"set binary logging": + binary_logging => false, } - exec { "set master data for slave": - command => "/var/lib/mysql/gather_master_data.bash", - creates => "/var/lib/mysql/set_master_repl_data.sql", - unless => "/usr/bin/mysql --user=$mysql_replication_user --host=$mysql_master_ip_address --password=$mysql_replication_password --database=$mysql_root_database --execute=\"show master status;\"", - require => File["/var/lib/mysql/gather_master_data.bash"], + mysql::mysql_replication {"Configure Slave Server for Replication", + } +} + +class mysql::M2M inherits mysql::server { + mysql::mysql_config {"set binary logging": + binary_logging => true, } - exec { "start slave server": - command => "$mysql_cmd_repl_with_pwd --execute=\"start slave;\"", - unless => "$mysql_cmd_repl_with_pwd --execute=\"show slave status;\" | grep Wait", - require => Exec["set master data for slave"], - } + mysql::mysql_replication {"Configure Master Server for Master to Master Replication", + } } -class mysql::slave inherits mysql::server { - $binary_logging = true +define mysql::mysql_config($binary_logging){ file { "/etc/my.cnf": ensure => present, @@ -133,6 +116,9 @@ class mysql::slave inherits mysql::server { content => template("mysql/my.cnf.erb"), before => Service["mysql"], } +} + +define mysql::mysql_replication{ file { "/var/lib/mysql/gather_master_data.bash": owner => "mysql", @@ -144,23 +130,23 @@ class mysql::slave inherits mysql::server { } exec { "set master data for slave": - command => "/var/lib/mysql/gather_master_data.bash", - creates => "/var/lib/mysql/set_master_repl_data.sql", - unless => "/usr/bin/mysql --user=$mysql_replication_user --host=$mysql_master_ip_address --password=$mysql_replication_password --database=$mysql_root_database --execute=\"show master status;\"", - require => File["/var/lib/mysql/gather_master_data.bash"], + command => "/var/lib/mysql/gather_master_data.bash", + creates => "/var/lib/mysql/set_master_repl_data.sql", + unless => "/usr/bin/mysql --user=$mysql_replication_user --host=$mysql_master_ip_address --password=$mysql_replication_password --database=$mysql_root_database --execute=\"show master status;\"", + require => File["/var/lib/mysql/gather_master_data.bash"], } exec { "restart mysql server": - command => "service mysql restart", - unless => "$mysql_cmd_repl_with_pwd --execute=\"show slave status;\" | grep Wait", - require => Exec["set master data for slave"], - } + command => "service mysql restart", + unless => "$mysql_cmd_repl_with_pwd --execute=\"show slave status;\" | grep Wait", + require => Exec["set master data for slave"], + } exec { "start slave server": - command => "$mysql_cmd_repl_with_pwd --execute=\"start slave;\"", - unless => "$mysql_cmd_repl_with_pwd --execute=\"show slave status;\" | grep Wait", - require => Exec["set master data for slave"], - } + command => "$mysql_cmd_repl_with_pwd --execute=\"start slave;\"", + unless => "$mysql_cmd_repl_with_pwd --execute=\"show slave status;\" | grep Wait", + require => Exec["set master data for slave"], + } } define mysql::datasource($rootpw, $ds_name, $ds_owner, $ds_owner_pwd, $ds_user, $ds_user_pwd, $ds_schema) { |