Use clustercheck script to control galera-ready
authorGiulio Fidente <gfidente@redhat.com>
Wed, 20 May 2015 14:19:28 +0000 (10:19 -0400)
committerGiulio Fidente <gfidente@redhat.com>
Wed, 20 May 2015 14:41:47 +0000 (10:41 -0400)
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

controller.yaml
overcloud-without-mergepy.yaml
puppet/controller-puppet.yaml
puppet/manifests/overcloud_controller_pacemaker.pp

index bbac3a6..d7ba1a1 100644 (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
index d3f8c59..70e197d 100644 (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:
index af1ee6f..e13b66a 100644 (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}
index ecd5db5..179ad91 100644 (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' :