Files @ 18f93a9a8b05
Branch filter:

Location: majic-ansible-roles/roles/database_server/tasks/main.yml

branko
MAR-24: Implemented tests for 'database_server' role:

- Added Molecule configuration for single platform and instance.
- Added test playbook that deploys database_server role for testing.
- Fixed mode setting by appending leading zero.
- Ignore task that immediatelly restarts MariaDB database server.
- Implemented tests for the role covering full functionality.
---

- name: Install MariaDB
  apt: name="{{ item }}" state=installed
  with_items:
    - mariadb-client
    - mariadb-server
    - python-mysqldb

- name: Enable MariaDB service on boot (workaround for systemctl broken handling of SysV)
  command: rcconf -on mysql
  register: result
  changed_when: result.stderr == ""

- name: Enable and start MariaDB
  service: name=mysql state=started

- name: Set password for the root database user
  mysql_user: check_implicit_admin=yes name=root password="{{ db_root_password }}"

- name: Deploy username and password for the root database user
  template: src="root_my.cnf.j2" dest="/root/.my.cnf"
            owner=root group=root mode=0400

- name: Set UTF-8 encoding as default for MariaDB
  copy: src="utf8.cnf" dest="/etc/mysql/conf.d/utf8.cnf"
        owner=root group=root mode=0644
  register: mariadb_utf8_configuration

- name: Restart MariaDB in order to use UTF-8 as default character set
  service: name=mysql state=restarted
  when: mariadb_utf8_configuration.changed
  tags:
    # [ANSIBLE0016] Tasks that run when changed should likely be handlers
    #   UTF-8 configuration must be applied immediatelly in order to ensure that
    #   subsequent tasks that create databases will end-up with correct (UTF-8)
    #   encoding. Otherwise they will be created using default latin1.
    - skip_ansible_lint

- name: Explicitly run all handlers
  include: ../handlers/main.yml
  when: "handlers | default(False) | bool() == True"
  tags:
    - handlers