Install xinetd clustercheck after mariadb is installed and setup
The configuration of mariadb is done mostly in handlers and previously the code would install the xinetd clustercheck script before calling flush_handlers to bootstrap and initialise the database. This leads to a situation where the clustercheck may be attempting to interact with the database during bootstrapping and before the monitoring user has been created. This change moves the setup tasks for the clustercheck service until after the database has been bootstrapped and the users created. This means that any healthchecks from the loadbalancer will not be seen by the database until after the setup is completed during the initial deployment. Change-Id: Ibd55306a5c17bc0a4333e43725f1637420a2c9d9
This commit is contained in:
parent
ec58c1d6cc
commit
3d07a246d5
@ -92,6 +92,12 @@
|
||||
tags:
|
||||
- galera_server-config
|
||||
|
||||
- include_tasks: tasks/galera_server_xinetd.yml
|
||||
tags:
|
||||
- galera_server-config
|
||||
when:
|
||||
- galera_monitoring_check_enabled | bool
|
||||
|
||||
- include_tasks: galera_server_backups.yml
|
||||
when:
|
||||
- galera_mariadb_backups_enabled | bool
|
||||
|
@ -166,43 +166,3 @@
|
||||
src: "galera_new_cluster.j2"
|
||||
dest: "/usr/local/bin/galera_new_cluster"
|
||||
mode: "0750"
|
||||
|
||||
# TODO: (nicolasbock) This task can be removed in T but is necessary
|
||||
# for S and earlier because deployments prior to this change will not
|
||||
# have the xinetd service enabled because the handler task runs only
|
||||
# for new deployments.
|
||||
# NOTE(cloudnull): If `galera_monitoring_check_enabled` is set false
|
||||
# the xinetd service will be disabled and stopped.
|
||||
# using the handler.
|
||||
- name: Enable xinetd service
|
||||
service:
|
||||
name: xinetd
|
||||
enabled: "{{ galera_monitoring_check_enabled | bool }}"
|
||||
notify:
|
||||
- Restart xinetd
|
||||
|
||||
- name: Cluster check block
|
||||
block:
|
||||
- name: Create clustercheck script
|
||||
template:
|
||||
src: "clustercheck.j2"
|
||||
dest: "/usr/local/bin/clustercheck"
|
||||
mode: "0755"
|
||||
|
||||
- name: Create mysqlchk config
|
||||
template:
|
||||
src: "mysqlchk.j2"
|
||||
dest: "/etc/xinetd.d/mysqlchk"
|
||||
mode: "0644"
|
||||
notify:
|
||||
- Restart xinetd
|
||||
|
||||
- name: Add galera service check to services
|
||||
lineinfile:
|
||||
dest: /etc/services
|
||||
state: present
|
||||
regexp: '^mysqlchk'
|
||||
line: 'mysqlchk 9200/tcp # MySQL check'
|
||||
backup: yes
|
||||
when:
|
||||
- galera_monitoring_check_enabled | bool
|
||||
|
36
tasks/galera_server_xinetd.yml
Normal file
36
tasks/galera_server_xinetd.yml
Normal file
@ -0,0 +1,36 @@
|
||||
---
|
||||
# Copyright 2021, BBC
|
||||
#
|
||||
# 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.
|
||||
|
||||
- name: Create clustercheck script
|
||||
template:
|
||||
src: "clustercheck.j2"
|
||||
dest: "/usr/local/bin/clustercheck"
|
||||
mode: "0755"
|
||||
|
||||
- name: Create mysqlchk config
|
||||
template:
|
||||
src: "mysqlchk.j2"
|
||||
dest: "/etc/xinetd.d/mysqlchk"
|
||||
mode: "0644"
|
||||
notify:
|
||||
- Restart xinetd
|
||||
|
||||
- name: Add galera service check to services
|
||||
lineinfile:
|
||||
dest: /etc/services
|
||||
state: present
|
||||
regexp: '^mysqlchk'
|
||||
line: 'mysqlchk 9200/tcp # MySQL check'
|
||||
backup: yes
|
Loading…
x
Reference in New Issue
Block a user