Files @ 74b1cab547fc
Branch filter:

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

branko
MAR-122: Fixed handling of complex package versions for pip with Ansible 2.x:

- Use list for installing specific version of pip in the "pipreqcheck" virtual
environment in common role.
- Removed superficious (and incorrect) definition for application admin username
in wsgi_website role.
- Updated test playbook for wsgi_website role to test the fix.
- Switched to passing-in package list for installing packages in virtual
environment instead of using "with_items" in wsgi_website role.
---

- 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