summaryrefslogtreecommitdiffstats
path: root/manifests/init.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/init.pp')
-rw-r--r--manifests/init.pp29
1 files changed, 24 insertions, 5 deletions
diff --git a/manifests/init.pp b/manifests/init.pp
index 38ae339..c840baa 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -76,7 +76,7 @@ class mysql::server {
class mysql::standalone inherits mysql::server {
$binary_logging = false
- $server_id = "1"
+
file { "/etc/my.cnf":
ensure => present,
owner => "mysql",
@@ -89,7 +89,6 @@ class mysql::standalone inherits mysql::server {
class mysql::master inherits mysql::server {
$binary_logging = true
- $server_id = $variables::mysql_master_server_id
file { "/etc/my.cnf":
ensure => present,
@@ -99,12 +98,32 @@ class mysql::master inherits mysql::server {
content => template("mysql/my.cnf.erb"),
before => Service["mysql"],
}
+
+ 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"],
+ }
+
+ 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"],
+ }
+
+ 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"],
+ }
}
class mysql::slave inherits mysql::server {
$binary_logging = true
- $server_id = $variables::mysql_slave_server_id
- $master_host_ip ='10.11.227.42'
file { "/etc/my.cnf":
ensure => present,
@@ -121,13 +140,13 @@ class mysql::slave inherits mysql::server {
ensure => present,
mode => 0755,
content => template("mysql/gather_master_data.bash.erb"),
-# source => "puppet://$puppetserver/mysql/gather_master_data.bash",
require => Exec["grants all to replication user"],
}
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"],
}