Skip to content
Snippets Groups Projects
Select Git revision
  • 22448f7bc76db9096e2d5a22284f22df61da1c8f
  • master default protected
  • th/etcd-patroni
  • th/pgbackrest
4 results

main.yml

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    main.yml 1.40 KiB
    ---
    # file: roles/mysql/tasks/main.yml
    
    - name: ensure mysql packages are installed for jessie
      apt:
        name:
          - mysql-server
          - python-mysqldb
        state: present
      when:
        - debian_version == "jessie"
      tags:
        - packages
        - mysql
    
    - name: ensure mysql packages are installed for stretch
      apt:
        name:
          - mariadb-server
          - python-mysqldb
        state: present
      when:
        - debian_version != "jessie"
      tags:
        - packages
        - mysql
    
    - name: ensure mysql is started
      service:
        name: mysql
        state: started
        enabled: true
      tags:
        - service
        - mysql
    
    - name: ensure the mysql root user exists and has the correct password
      mysql_user:
        name: root
        # yamllint disable-line rule:line-length
        password: "{{ lookup('passwordstore', 'db/{{ ansible_hostname }}-mysql create=true length=20') }}"
        login_user: root
        # yamllint disable-line rule:line-length
        login_password: "{{ lookup('passwordstore', 'db/{{ ansible_hostname }}-mysql create=true length=20') }}"
      register: mysql_root_creation_result
      no_log: true
      ignore_errors: true
      tags:
        - mysql
        - config
    
    - name: initialize the mysql root user
      mysql_user:
        name: root
        # yamllint disable-line rule:line-length
        password: "{{ lookup('passwordstore', 'db/{{ ansible_hostname }}-mysql create=true length=20') }}"
      no_log: true
      when: mysql_root_creation_result|failed
      tags:
        - mysql
        - config