From 008e325636028c089ede04ad81993826838c743d Mon Sep 17 00:00:00 2001 From: Don Brewer Date: Wed, 9 Apr 2008 18:19:33 -0400 Subject: added new machine type master-to-master --- manifests/init.pp | 86 +++++++++++++++++++++++-------------------------------- 1 file 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) { -- cgit