The base playbooks create the dir "/var/log/mysql_logs" as a link when running on baremetal which cause tasks to fail in post install due to the link already existing. This PR simply adds the tasks required to make the role detect the link and handle it correctly. Change-Id: Ice8d27ffcc23ec2d0cd222ed62c56b578af09035 Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
149 lines
4.1 KiB
YAML
149 lines
4.1 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: Create the local directories
|
|
file:
|
|
path: "{{ item.path }}"
|
|
state: "directory"
|
|
owner: "{{ item.owner|default('root') }}"
|
|
group: "{{ item.group|default('root') }}"
|
|
mode: "{{ item.mode|default('0755') }}"
|
|
recurse: "{{ item.recurse|default('false') }}"
|
|
with_items:
|
|
- { path: "/var/lib/mysql", owner: "mysql", mode: "02755" }
|
|
- { path: "/var/log/mysql", owner: "mysql", mode: "02755" }
|
|
- { path: "/etc/mysql/conf.d" }
|
|
tags:
|
|
- galera-config
|
|
|
|
- include: galera_ssl.yml
|
|
when:
|
|
- galera_use_ssl | bool
|
|
tags:
|
|
- galera-config
|
|
- galera-ssl
|
|
|
|
- name: Behave properly if mysql_logs is a link
|
|
shell: |
|
|
if [ -h "/var/log/mysql_logs" ]; then
|
|
chown -h mysql "/var/log/mysql_logs"
|
|
chown -R mysql "$(readlink /var/log/mysql_logs)"
|
|
else
|
|
exit 1
|
|
fi
|
|
register: log_dir
|
|
failed_when: false
|
|
changed_when: log_dir.rc == 0
|
|
|
|
- name: Create mysql log dir
|
|
file:
|
|
path: "/var/log/mysql_logs"
|
|
state: "directory"
|
|
owner: "mysql"
|
|
mode: "02755"
|
|
when: log_dir.rc == 1
|
|
|
|
- name: Drop mariadb config(s)
|
|
config_template:
|
|
src: "{{ item.src }}"
|
|
dest: "{{ item.dest }}"
|
|
owner: "root"
|
|
group: "root"
|
|
mode: "0644"
|
|
config_overrides: "{{ item.config_overrides }}"
|
|
config_type: "{{ item.config_type }}"
|
|
ignore_none_type: False
|
|
with_items:
|
|
- src: my.cnf.j2
|
|
dest: "{{ galera_etc_conf_file }}"
|
|
config_overrides: "{{ galera_my_cnf_overrides }}"
|
|
config_type: "ini"
|
|
- src: cluster.cnf.j2
|
|
dest: "{{ galera_etc_include_dir }}/cluster.cnf"
|
|
config_overrides: "{{ galera_cluster_cnf_overrides }}"
|
|
config_type: "ini"
|
|
- src: debian.cnf.j2
|
|
dest: /etc/mysql/debian.cnf
|
|
config_overrides: "{{ galera_debian_cnf_overrides }}"
|
|
config_type: "ini"
|
|
notify: Restart all mysql
|
|
tags:
|
|
- galera-config
|
|
- galera-client-user-config
|
|
|
|
# NOTE: (mancdaz) this should not be needed with mariadb-10.1 since its
|
|
# initscript sources /etc/default/mariadb
|
|
- name: fix mysql startup timeout
|
|
lineinfile:
|
|
dest: /etc/init.d/mysql
|
|
state: present
|
|
insertafter: '^export HOME=/etc/mysql/'
|
|
line: '[ -r /etc/default/mariadb ] && . /etc/default/mariadb'
|
|
backup: yes
|
|
when: ansible_pkg_mgr != 'zypper'
|
|
tags:
|
|
- galera-config
|
|
|
|
- name: Apply service defaults
|
|
template:
|
|
src: "mysql_defaults.j2"
|
|
dest: "/etc/default/mariadb"
|
|
mode: "0644"
|
|
when: ansible_pkg_mgr != 'zypper'
|
|
notify:
|
|
- Restart all mysql
|
|
- Reload the systemd daemon
|
|
tags:
|
|
- galera-config
|
|
|
|
- name: Create mariadb systemd service config dir
|
|
file:
|
|
path: "/etc/systemd/system/{{ galera_mariadb_service_name }}.service.d"
|
|
state: "directory"
|
|
group: "root"
|
|
owner: "root"
|
|
mode: "0755"
|
|
when:
|
|
- ansible_service_mgr == 'systemd'
|
|
|
|
- name: Apply systemd options
|
|
template:
|
|
src: "{{ item.src }}"
|
|
dest: "/etc/systemd/system/{{ galera_mariadb_service_name }}.service.d/{{ item.dest }}"
|
|
mode: "0644"
|
|
with_items:
|
|
- { src: "systemd.limits.conf.j2", dest: "limits.conf" }
|
|
- { src: "systemd.timeout.conf.j2", dest: "timeout.conf" }
|
|
- { src: "systemd.restart.conf.j2", dest: "restart.conf" }
|
|
when:
|
|
- ansible_service_mgr == 'systemd'
|
|
notify:
|
|
- Reload the systemd daemon
|
|
- Restart all mysql
|
|
tags:
|
|
- galera-config
|
|
|
|
- name: remove default mysql_safe_syslog
|
|
file:
|
|
path: "/etc/mysql/conf.d/mysqld_safe_syslog.cnf"
|
|
state: absent
|
|
tags:
|
|
- galera-config
|
|
|
|
- name: Reload the systemd daemon
|
|
command: "systemctl daemon-reload"
|
|
when:
|
|
- ansible_service_mgr == 'systemd'
|