summaryrefslogtreecommitdiffstats
path: root/manifests/profile/pacemaker
diff options
context:
space:
mode:
authorDamien Ciabrini <dciabrin@redhat.com>2017-04-18 20:44:43 +0000
committerDamien <dciabrin@redhat.com>2017-05-23 11:59:09 -0400
commitf88d4a433b2c18ce5bc9e1c6789e017f9fa37dad (patch)
treed5f1ddc85331131fb1330d50849041608c0bc74a /manifests/profile/pacemaker
parenta14f2ce5065745b290304a9c0c8e7a4b2922bcb1 (diff)
Clustercheck, monitor service for galera containers
In HA overcloud deployments, HAProxy makes use of a helper service called "clustercheck", to check whether galera nodes are available for serving traffic. This change implements a dedicated profile for clustercheck, which was originally part of the pacemaker mysql profile. The profile generates the necessary configuration files for clustercheck and let heat templates manage the associated container's lifecycle. Co-Authored-By: Michele Baldessari <michele@acksyn.org> Partial-Bug: #1692969 Change-Id: I1aabe34fa6a9c8c705a4405f275b66502c313cf2
Diffstat (limited to 'manifests/profile/pacemaker')
-rw-r--r--manifests/profile/pacemaker/clustercheck.pp65
1 files changed, 65 insertions, 0 deletions
diff --git a/manifests/profile/pacemaker/clustercheck.pp b/manifests/profile/pacemaker/clustercheck.pp
new file mode 100644
index 0000000..fad30da
--- /dev/null
+++ b/manifests/profile/pacemaker/clustercheck.pp
@@ -0,0 +1,65 @@
+# Copyright 2016 Red Hat, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+# == Class: tripleo::profile::pacemaker::clustercheck
+#
+# Clustercheck, galera health check profile for tripleo
+#
+# === Parameters
+# [*step*]
+# (Optional) The current step in deployment. See tripleo-heat-templates
+# for more details.
+# Defaults to hiera('step')
+#
+# [*bind_address*]
+# (Optional) The address that the local mysql instance should bind to.
+# Defaults to hiera('mysql_bind_host')
+#
+# [*clustercheck_password*]
+# (Optional) The password for the clustercheck user.
+# Defaults to hiera('mysql::server::root_password')
+#
+#
+class tripleo::profile::pacemaker::clustercheck (
+ $step = hiera('step'),
+ $clustercheck_password = hiera('mysql::server::root_password'),
+ $bind_address = hiera('mysql_bind_host'),
+) {
+
+ if $step >= 1 {
+ file { '/etc/sysconfig/clustercheck' :
+ ensure => file,
+ mode => '0600',
+ owner => 'mysql',
+ group => 'mysql',
+ content => "MYSQL_USERNAME=root\n
+MYSQL_PASSWORD='${clustercheck_password}'\n
+MYSQL_HOST=localhost\n",
+ }
+
+ # the clustercheck service is run via xinet in the container
+ xinetd::service { 'galera-monitor' :
+ bind => $bind_address,
+ port => '9200',
+ server => '/usr/bin/clustercheck',
+ per_source => 'UNLIMITED',
+ log_on_success => '',
+ log_on_failure => 'HOST',
+ flags => 'REUSE',
+ service_type => 'UNLISTED',
+ user => 'mysql',
+ group => 'mysql',
+ }
+ }
+}