diff options
Diffstat (limited to 'manifests/init.pp')
-rw-r--r-- | manifests/init.pp | 29 |
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"], } |