Move the clustercheck service to the DB role
authorMichele Baldessari <michele@acksyn.org>
Fri, 8 Sep 2017 10:31:18 +0000 (12:31 +0200)
committerAlex Schultz <aschultz@redhat.com>
Fri, 8 Sep 2017 22:25:49 +0000 (22:25 +0000)
commitf166254ad85db888faae54a4f96c62819f56fd75
treeed74c6b5be69829ab8f4fb9adea9e33037090f1a
parent896517755b917a5018e6529100d2cda5487a35d9
Move the clustercheck service to the DB role

The clustercheck service is currently in the ControllerOpenstack role
which represents a controller without the DB. Since the clustercheck
service/container always talks to the SQL server via a localhost
connection it *has* to run on the very same node that hosts the DB.

In a containerized deployment this error shows up with db syncs simply
hanging because haproxy will stop serving port 3306 because the
clustercheck service on port 9200 cannot talk to mysql locally.

Errors like this will be logged when trying to connect to the DB VIP:
mysql -u heat -h 172.17.1.13 -p3UazsaeTC64V9UvEcJ3GZ9rbd
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0

Fix this by making sure that the clustercheck service runs on
the DB role.

Change-Id: Iec4c9678d8b8d44e002c1e53110dedc0674359fb
Closes-Bug: #1715847
(cherry picked from commit 1760079dfe5905f2e696b9fc5c729cffa44554ae)
roles/ControllerOpenstack.yaml
roles/Database.yaml