From 6d9fd6c5b6fab8f3b174fc2fe04e708cd54c8a2f Mon Sep 17 00:00:00 2001 From: Sergii Golovatiuk Date: Thu, 5 May 2016 18:44:52 +0200 Subject: [PATCH] Create clustercheck after mysql-server - Under some circumstances clustercheck user/files are created before mysql-server is fully set up. This patch changes the behavior to create user after mysql-server - Create my.cnf primary controller. It only helps to bootstrap the cluster. After all we link it to our my.localhost.cnf. We don't need to set it up on non primary controllers. Change-Id: I97de2a01b79851eeca34524c92f406c99ea56cda Closes-Bug: 1571763 Closes-Bug: 1577462 Signed-off-by: Sergii Golovatiuk --- .../puppet/openstack/manifests/galera/status.pp | 11 +++++------ .../osnailyfacter/manifests/database/database.pp | 7 ++++--- tests/noop/spec/hosts/database/database_spec.rb | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/deployment/puppet/openstack/manifests/galera/status.pp b/deployment/puppet/openstack/manifests/galera/status.pp index 5e797c6830..c124980336 100644 --- a/deployment/puppet/openstack/manifests/galera/status.pp +++ b/deployment/puppet/openstack/manifests/galera/status.pp @@ -59,7 +59,7 @@ class openstack::galera::status ( mysql_user { "${status_user}@${status_allow}": ensure => 'present', password_hash => mysql_password($status_password), - require => [File["${::root_home}/.my.cnf"],Service['mysqld']], + require => Anchor['mysql::server::end'], } -> mysql_grant { "${status_user}@${status_allow}/*.*": ensure => 'present', @@ -67,7 +67,6 @@ class openstack::galera::status ( privileges => [ 'USAGE' ], table => '*.*', user => "${status_user}@${status_allow}", - before => Anchor['mysql::server::end'], } file { '/etc/wsrepclustercheckrc': @@ -75,7 +74,7 @@ class openstack::galera::status ( owner => 'nobody', group => 'nogroup', mode => '0400', - before => Anchor['mysql::server::end'], + require => Anchor['mysql::server::end'], } augeas { 'galeracheck': @@ -86,7 +85,7 @@ class openstack::galera::status ( "set /files/etc/services/service-name[port = '${port}']/protocol tcp", "set /files/etc/services/service-name[port = '${port}']/#comment 'Galera Cluster Check'", ], - before => Anchor['mysql::server::end'], + require => Anchor['mysql::server::end'], } $group = $::osfamily ? { @@ -106,7 +105,7 @@ class openstack::galera::status ( user => 'nobody', group => $group, flags => 'IPv4', - require => Augeas['galeracheck'], - before => Anchor['mysql::server::end'], + require => [ Augeas['galeracheck'], + Anchor['mysql::server::end']], } } diff --git a/deployment/puppet/osnailyfacter/manifests/database/database.pp b/deployment/puppet/osnailyfacter/manifests/database/database.pp index 8855f92985..1755c34c36 100644 --- a/deployment/puppet/osnailyfacter/manifests/database/database.pp +++ b/deployment/puppet/osnailyfacter/manifests/database/database.pp @@ -261,7 +261,7 @@ class osnailyfacter::database::database { mysql_port => $backend_port, root_password => $mysql_root_password, create_root_user => $primary_controller, - create_root_my_cnf => true, + create_root_my_cnf => $primary_controller, configure_repo => false, # NOTE: repos should be managed via fuel configure_firewall => false, validate_connection => false, @@ -348,8 +348,9 @@ class osnailyfacter::database::database { } } - Class['::openstack::galera::status'] -> - ::Osnailyfacter::Wait_for_backend['mysql'] + Class['::cluster::mysql'] -> + Class['::openstack::galera::status'] -> + ::Osnailyfacter::Wait_for_backend['mysql'] } } diff --git a/tests/noop/spec/hosts/database/database_spec.rb b/tests/noop/spec/hosts/database/database_spec.rb index d26ff823a7..f6c56465bc 100644 --- a/tests/noop/spec/hosts/database/database_spec.rb +++ b/tests/noop/spec/hosts/database/database_spec.rb @@ -132,7 +132,7 @@ describe manifest do :galera_master => false, :mysql_port => '3307', :root_password => mysql_database_password, - :create_root_my_cnf => true, + :create_root_my_cnf => primary_controller, :create_root_user => primary_controller, :validate_connection => false, :status_check => false,