Use clustercheck script to control galera-ready

The exec timeout/attempts is configured so that it is
left running for up to 30mins if the command runs but is
unsuccessfull and up to 2h if the command times out.

Change-Id: I4b6b77e878017bf92d7c59c868d393e74405a355
This commit is contained in:
Giulio Fidente 2015-05-20 10:19:28 -04:00
parent 43d4eee728
commit 5390499e69
4 changed files with 9 additions and 27 deletions

View File

@ -208,10 +208,6 @@ parameters:
description: Keystone key for signing tokens.
type: string
hidden: true
MysqlClustercheckPassword:
type: string
hidden: true
default: '' # Has to be here because of the ignored empty value bug
MysqlClusterUniquePart:
description: A unique identifier of the MySQL cluster the controller is in.
type: string

View File

@ -598,7 +598,6 @@ resources:
MysqlClusterUniquePart: {get_attr: [MysqlClusterUniquePart, value]}
MysqlInnodbBufferPoolSize: {get_param: MysqlInnodbBufferPoolSize}
MysqlRootPassword: {get_attr: [MysqlRootPassword, value]}
MysqlClustercheckPassword: {get_attr: [MysqlClustercheckPassword, value]}
NeutronPublicInterfaceIP: {get_param: NeutronPublicInterfaceIP}
NeutronFlatNetworks: {get_param: NeutronFlatNetworks}
NeutronBridgeMappings: {get_param: NeutronBridgeMappings}
@ -761,11 +760,6 @@ resources:
properties:
length: 10
MysqlClustercheckPassword:
type: OS::Heat::RandomString
properties:
length: 10
MysqlClusterUniquePart:
type: OS::Heat::RandomString
properties:

View File

@ -226,10 +226,6 @@ parameters:
type: string
hidden: true
default: '' # Has to be here because of the ignored empty value bug
MysqlClustercheckPassword:
type: string
hidden: true
default: '' # Has to be here because of the ignored empty value bug
NeutronBridgeMappings:
description: >
The OVS logical->physical bridge mappings to use. See the Neutron
@ -556,7 +552,6 @@ resources:
enable_swift_storage: {get_param: EnableSwiftStorage}
mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
mysql_root_password: {get_param: MysqlRootPassword}
mysql_clustercheck_password: {get_param: MysqlClustercheckPassword}
mysql_cluster_name:
str_replace:
template: tripleo-CLUSTER
@ -771,7 +766,6 @@ resources:
mysql_innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
mysql::server::root_password: {get_input: mysql_root_password}
mysql_cluster_name: {get_input: mysql_cluster_name}
mysql_clustercheck_password: {get_input: mysql_clustercheck_password}
# Neutron
neutron::bind_host: {get_input: controller_host}

View File

@ -113,8 +113,6 @@ if hiera('step') >= 1 {
}
$galera_nodes = downcase(hiera('galera_node_names', $::hostname))
$galera_nodes_count = count(split($galera_nodes, ','))
$clustercheck_password = hiera('mysql_clustercheck_password')
$mysql_root_password = hiera('mysql::server::root_password')
$mysqld_options = {
'mysqld' => {
@ -193,8 +191,8 @@ if hiera('step') >= 2 {
$mongodb_cluster_ready_command = join(suffix(prefix($mongo_node_ips, '/bin/nc -w1 '), ' 27017 < /dev/null'), ' && ')
exec { 'mongodb-ready' :
command => $mongodb_cluster_ready_command,
timeout => 600,
tries => 60,
timeout => 30,
tries => 180,
try_sleep => 10,
}
mongodb_replset { $mongodb_replset :
@ -239,19 +237,19 @@ if hiera('step') >= 2 {
}
exec { 'galera-ready' :
command => '/bin/mysql -e "SHOW GLOBAL VARIABLES LIKE \'read_only\'" | /bin/grep -i off',
timeout => 600,
tries => 60,
command => '/usr/bin/clustercheck >/dev/null',
timeout => 30,
tries => 180,
try_sleep => 10,
environment => 'HOME=/root',
environment => ["AVAILABLE_WHEN_READONLY=0"],
require => File['/etc/sysconfig/clustercheck'],
}
file { '/etc/sysconfig/clustercheck' :
ensure => file,
content => "MYSQL_USERNAME=clustercheckuser\n
MYSQL_PASSWORD=${clustercheck_password}\n
content => "MYSQL_USERNAME=root\n
MYSQL_PASSWORD=''\n
MYSQL_HOST=localhost\n",
require => Exec['galera-ready'],
}
xinetd::service { 'galera-monitor' :