diff --git a/README.md b/README.md index 1ae338a..fc061a2 100644 --- a/README.md +++ b/README.md @@ -97,26 +97,11 @@ Replication settings. Set `mysql_server_id` and `mysql_replication_role` by serv ### MariaDB usage -This role works with either MySQL or a compatible version of MariaDB. On RHEL/CentOS 7+, the mariadb database engine was substituted as the default MySQL replacement package, so you should override the `mysql_packages` variable with the below configuration to make sure MariaDB is installed correctly. +This role works with either MySQL or a compatible version of MariaDB. On RHEL/CentOS 7+, the mariadb database engine was substituted as the default MySQL replacement package. No modifications are necessary though all of the variables still reference 'mysql' instead of mariadb. -#### RHEL/CentOS 7 MariaDB configuration +#### Ubuntu 14.04 and 16.04 MariaDB configuration -Set the following variables (at a minimum): - - mysql_packages: - - mariadb - - mariadb-server - - mariadb-libs - - MySQL-python - - perl-DBD-MySQL - mysql_daemon: mariadb - mysql_log_error: /var/log/mariadb/mariadb.log - mysql_syslog_tag: mariadb - mysql_pid_file: /var/run/mariadb/mariadb.pid - -#### Ubuntu 14.04 MariaDB configuration - -Set the following variables (at a minimum): +On Ubuntu, the package names are named differently, so the `mysql_package` variable needs to be altered. Set the following variables (at a minimum): mysql_packages: - mariadb-client diff --git a/tasks/configure.yml b/tasks/configure.yml index 92bcea5..d8a4585 100644 --- a/tasks/configure.yml +++ b/tasks/configure.yml @@ -33,6 +33,15 @@ shell: "touch {{ mysql_slow_query_log_file }} creates={{ mysql_slow_query_log_file }}" when: mysql_slow_query_log_enabled +- name: Create datadir if it does not exist + file: + path: "{{ mysql_datadir }}" + state: directory + owner: mysql + group: mysql + mode: 0755 + setype: mysqld_db_t + - name: Set ownership on slow query log file (if configured). file: path: "{{ mysql_slow_query_log_file }}" diff --git a/tasks/main.yml b/tasks/main.yml index cc33cb3..ee2aa4f 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,7 +1,12 @@ --- -# Include variables and define needed variables. +# Variable configuration. - name: Include OS-specific variables. include_vars: "{{ ansible_os_family }}.yml" + when: ansible_os_family != "RedHat" + +- name: Include OS-specific variables (RedHat). + include_vars: "{{ ansible_os_family }}-{{ ansible_lsb.major_release }}.yml" + when: ansible_os_family == "RedHat" - name: Define mysql_packages. set_fact: diff --git a/tests/Dockerfile.centos-6 b/tests/Dockerfile.centos-6 index 4a4e7b8..27ff215 100644 --- a/tests/Dockerfile.centos-6 +++ b/tests/Dockerfile.centos-6 @@ -1,5 +1,7 @@ FROM centos:6 +RUN yum -y install redhat-lsb-core + # Install Ansible RUN yum -y update; yum clean all; RUN yum -y install epel-release diff --git a/tests/Dockerfile.centos-7 b/tests/Dockerfile.centos-7 index 8aa0654..fb37a6f 100644 --- a/tests/Dockerfile.centos-7 +++ b/tests/Dockerfile.centos-7 @@ -12,6 +12,8 @@ rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ rm -f /lib/systemd/system/basic.target.wants/*; \ rm -f /lib/systemd/system/anaconda.target.wants/*; +RUN yum -y install redhat-lsb-core + # Install Ansible RUN yum -y install epel-release RUN yum -y install git ansible sudo diff --git a/vars/RedHat.yml b/vars/RedHat-6.yml similarity index 100% rename from vars/RedHat.yml rename to vars/RedHat-6.yml diff --git a/vars/RedHat-7.yml b/vars/RedHat-7.yml new file mode 100644 index 0000000..0cf3922 --- /dev/null +++ b/vars/RedHat-7.yml @@ -0,0 +1,15 @@ +--- +__mysql_daemon: mariadb +__mysql_packages: + - mariadb + - mariadb-server + - mariadb-libs + - MySQL-python + - perl-DBD-MySQL +__mysql_slow_query_log_file: /var/log/mysql-slow.log +mysql_log_error: /var/log/mariadb/mariadb.log +mysql_syslog_tag: mariadb +mysql_pid_file: /var/run/mariadb/mariadb.pid +mysql_config_file: /etc/my.cnf +mysql_config_include_dir: /etc/my.cnf.d +mysql_socket: /var/lib/mysql/mysql.sock