mirror of
https://github.com/geerlingguy/ansible-role-apache
synced 2025-01-09 19:30:18 +01:00
Issue #60: Restore idempotence.
This commit is contained in:
parent
f542bcfe73
commit
074b9de092
3 changed files with 7 additions and 10 deletions
|
@ -3,6 +3,9 @@ mysql_user_home: /root
|
|||
mysql_root_username: root
|
||||
mysql_root_password: root
|
||||
|
||||
# Set this to true to forcibly update the root password.
|
||||
mysql_root_password_update: false
|
||||
|
||||
mysql_enabled_on_startup: yes
|
||||
|
||||
# update my.cnf. each time role is run? yes | no
|
||||
|
|
|
@ -24,3 +24,4 @@
|
|||
|
||||
- name: Ensure MySQL is started and enabled on boot.
|
||||
service: "name={{ mysql_daemon }} state=started enabled={{ mysql_enabled_on_startup }}"
|
||||
register: mysql_service_configuration
|
||||
|
|
|
@ -4,21 +4,14 @@
|
|||
register: mysql_root_hosts
|
||||
changed_when: false
|
||||
|
||||
# TODO: This is currently not idempotent.
|
||||
# Note: We do not use mysql_user for this operation, as it doesn't always update
|
||||
# the root password correctly. See: https://goo.gl/MSOejW
|
||||
- name: Update MySQL root password for localhost root account.
|
||||
shell: >
|
||||
mysql -u root -NBe
|
||||
'SET PASSWORD FOR "{{ mysql_root_username }}"@"{{ item }}" = PASSWORD("{{ mysql_root_password }}");'
|
||||
with_items: mysql_root_hosts.stdout_lines
|
||||
|
||||
# The below task doesn't work in some instances for some users, at least with
|
||||
# certain versions of Ansible.
|
||||
# - name: Update MySQL root password for localhost root account.
|
||||
# mysql_user:
|
||||
# name: "{{ mysql_root_username }}"
|
||||
# host: "{{ item }}"
|
||||
# password: "{{ mysql_root_password }}"
|
||||
# with_items: mysql_root_hosts.stdout_lines
|
||||
when: mysql_service_configuration.changed or mysql_root_password_update
|
||||
|
||||
# Has to be after the root password assignment, for idempotency.
|
||||
- name: Copy .my.cnf file with root password credentials.
|
||||
|
|
Loading…
Reference in a new issue