Files @ 17cf34f73ca6
Branch filter:

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

branko
MAR-28: Implemented additional tests for mail_server role:

- Deploy a number of tools on clients in order to test SMTP, IMAP, and Sieve
services.
- Added one more user to LDAP directory for testing group restrictions.
- Deploy CA certificate on all testing machines for TLS validation purposes.
- Use different custom-configured cipher for mail server ciphers.
- Fixed invalid postmaster address for parameters-optional host.
- Deploy configuration files for use with Imap-CLI on client test machines.
- Updated testing of SMTP server to include checks for users that do not belong
to mail group.
- Extended some SMTP-related tests to cover both test servers.
- Some small fixes in SMTP-related tests for expected output from commands.
- Implemented tests covering Dovecot (IMAP + Sieve) functionality.
- Implemented tests for running/enabled services.
- Implemented tests for ClamAV.
- Implemented tests for firewall and connectivity.
- Implemented tests for Postfix TLS configuration.
- TODO: Tests for Sieve TLS configuration have not been written yet due to
limitation of available tools.
---

- 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