summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDon Brewer <dbrewer@dbrewer-host.usersys.redhat.com>2008-04-09 18:19:33 -0400
committerBrenton Leanhardt <bleanhar@redhat.com>2008-04-15 10:37:38 -0400
commit008e325636028c089ede04ad81993826838c743d (patch)
treead968466655cb2e11afa07e6099f1bbcda665155
parent016c92cf526745640cff9a831df9ba4cb789b3aa (diff)
downloadpuppet-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.pp86
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) {