Fix #147 - Wrong CentOS/RHEL 7 defaults and state failure when mysql.version is not defined

This commit is contained in:
Andres Montalban 2016-10-29 10:25:37 -03:00
parent 5a50911bc5
commit 39a996effd
2 changed files with 29 additions and 11 deletions

View file

@ -91,9 +91,18 @@ Debian:
append: |
!includedir /etc/mysql/conf.d/
CentOS:
server: mysql-server
# https://mariadb.com/blog/rhel7-transition-mysql-mariadb-first-look
{%- if salt['grains.get']('osmajorrelease') in ['7'] %}
{% set mysql_engine = 'mariadb' %}
{% set mysql_service = 'mariadb' %}
{%- else %}
{% set mysql_engine = 'mysql' %}
{% set mysql_service = 'mysqld' %}
{%- endif %}
server: {{ mysql_engine }}-server
service: {{ mysql_service }}
client: mysql
service: mysqld
python: MySQL-python
dev: mysql-devel
config_directory: /etc/my.cnf.d/
@ -103,8 +112,8 @@ CentOS:
file: server.cnf
sections:
mysqld_safe:
log_error: /var/log/mysqld.log
pid_file: /var/run/mysqld/mysqld.pid
log_error: /var/log/{{ mysql_engine }}/mysqld.log
pid_file: /var/run/{{ mysql_engine }}/mysqld.pid
mysqld:
datadir: /var/lib/mysql
socket: /var/lib/mysql/mysql.sock
@ -113,17 +122,26 @@ CentOS:
bind_address: 127.0.0.1
symbolic_links: 0
RedHat:
server: mysql-server
# https://mariadb.com/blog/rhel7-transition-mysql-mariadb-first-look
{%- if salt['grains.get']('osmajorrelease') in ['7'] %}
{% set mysql_engine = 'mariadb' %}
{% set mysql_service = 'mariadb' %}
{%- else %}
{% set mysql_engine = 'mysql' %}
{% set mysql_service = 'mysqld' %}
{%- endif %}
server: {{ mysql_engine }}-server
service: {{ mysql_service }}
client: mysql
service: mysqld
python: MySQL-python
dev: mysql-devel
config:
file: /etc/my.cnf
sections:
mysqld_safe:
log_error: /var/log/mysqld.log
pid_file: /var/run/mysqld/mysqld.pid
log_error: /var/log/{{ mysql_engine }}/mysqld.log
pid_file: /var/run/{{ mysql_engine }}/mysqld.pid
mysqld:
datadir: /var/lib/mysql
socket: /var/lib/mysql/mysql.sock

View file

@ -65,7 +65,7 @@ mysql_delete_anonymous_user_{{ host }}:
# on arch linux: inital mysql datadirectory is not created
mysql_install_datadir:
cmd.run:
{% if mysql.version >= 5.7 %}
{% if mysql.version is defined and mysql.version >= 5.7 %}
- name: mysqld --initialize-insecure --user=mysql --basedir=/usr --datadir={{ mysql_datadir }}
{% else %}
- name: mysql_install_db --user=mysql --basedir=/usr --datadir={{ mysql_datadir }}
@ -89,7 +89,7 @@ mysqld-packages:
- debconf: mysql_debconf
{% endif %}
{% if os_family in ['RedHat', 'Suse'] and mysql.version >= 5.7 %}
{% if os_family in ['RedHat', 'Suse'] and mysql.version is defined and mysql.version >= 5.7 %}
# Initialize mysql database with --initialize-insecure option before starting service so we don't get locked out.
mysql_initialize:
cmd.run:
@ -106,7 +106,7 @@ mysqld:
- enable: True
- require:
- pkg: {{ mysql.server }}
{% if os_family in ['RedHat', 'Suse'] and mysql.version >= 5.7 %}
{% if os_family in ['RedHat', 'Suse'] and mysql.version is defined and mysql.version >= 5.7 %}
- cmd: mysql_initialize
{% endif %}
- watch: