openstack-ansible/playbooks/galera-install.yml
Kevin Carter 992e616046
Implement container bind mount for all logs
All of the log directories for all containers will now be bind mounted to the
host. This change ensures that containers are not running into an issue with
Full file systems due to logs which is common when a container is backed by
a blocked device (lvm, zfs, btrfs).

Closes-Bug: #1588051
Change-Id: I25a481c0409f1a45494a8668f00c5393672e853c
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2016-08-29 21:59:42 -05:00

68 lines
2.3 KiB
YAML

---
# Copyright 2014, Rackspace US, 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.
- name: Galera container config
hosts: galera_all
max_fail_percentage: 0
gather_facts: "{{ gather_facts | default(True) }}"
user: root
tasks:
- include: common-tasks/os-log-dir-setup.yml
vars:
log_dirs:
- src: "/openstack/log/{{ inventory_hostname }}-mysql_logs"
dest: "/var/log/mysql_logs"
- include: common-tasks/os-lxc-container-setup.yml
vars:
list_of_bind_mounts:
- bind_dir_path: "/var/lib/mysql"
mount_path: "/openstack/{{ inventory_hostname }}"
- include: common-tasks/package-cache-proxy.yml
vars:
is_metal: "{{ properties.is_metal|default(false) }}"
tags:
- galera-lxc-container-setup
- name: Install galera server
hosts: galera_all
gather_facts: "{{ gather_facts | default(True) }}"
serial: 1
max_fail_percentage: 20
user: root
roles:
- role: "pip_install"
pip_lock_to_internal_repo: "{{ (pip_links | length) >= 1 }}"
- { role: "galera_server", tags: [ "galera-server" ] }
- role: "rsyslog_client"
rsyslog_client_log_rotate_file: galera_log_rotate
rsyslog_client_log_dir: "/var/log/mysql_logs"
rsyslog_client_log_files:
- /var/log/mysql.log
- /var/log/mysql.err
rsyslog_client_config_name: "99-galera-rsyslog-client.conf"
tags:
- "galera-rsyslog-client"
- "rsyslog-client"
- role: "system_crontab_coordination"
tags:
- "system-crontab-coordination"
vars:
# overridden here to ensure the correct value for the galera_client role
galera_address: 127.0.0.1
galera_server_id: "{{ inventory_hostname | string_2_int }}"
galera_wsrep_node_name: "{{ container_name }}"
tags:
- galera-install-cluster