--- - name: packages are installed apt: name: "{{ item }}" with_items: - libsodium-dev - default-libmysqlclient-dev - name: MySQL database is present mysql_db: name: "{{ mysql_chexpire_db }}" state: present - name: Is there a .my.cnf file stat: path: /home/vagrant/.my.cnf register: my_cnf_file - name: create a password for mysql command: "apg -n 1 -m 16 -M lcN" register: _result changed_when: False check_mode: no when: not my_cnf_file.stat.exists - name: Chexpire .my.cnf file is present ini_file: dest: /home/vagrant/.my.cnf mode: "0600" owner: vagrant group: vagrant section: client option: '{{ item.option }}' value: '{{ item.value }}' create: yes with_items: - { option: 'user', value: '{{ mysql_chexpire_username }}' } - { option: 'password', value: '{{ _result.stdout }}' } when: not my_cnf_file.stat.exists - name: read .my.cnf file for password shell: cat /home/vagrant/.my.cnf | grep password | cut -d '=' -f2 | xargs changed_when: False register: _result - set_fact: mysql_chexpire_password: "{{ _result.stdout }}" - name: MySQL user is present mysql_user: name: "{{ mysql_chexpire_username }}" password: "{{ mysql_chexpire_password }}" priv: '{{ mysql_chexpire_db }}.*:ALL' host: localhost state: present register: mysql_chexpire_user