|--inventories
| |--staging
| | |--hosts
|--roles
| |--create_mysql_users
| | |--tasks
| | | |--main.yml
| | |--vars
| | | |--mysql_users.yml
|--site.yml- hosts: mysql remote_user: centos become: yes become_method: sudo roles: - create_mysql_users---- include_vars: file="mysql_users.yml" name="mysql_users"
- name: Create MySQL account mysql_user: name: "{{ item.username }}" password: "{{ item.password }}" host_all: "{{ item.host_all }}" priv: "{{ item.priv }}" with_items: "{{ mysql_users }}"---user1: { username: user1, password: secret, host: "%", priv: "*.*:ALL,GRANT", state: present }# ansible-playbook site.yml -i inventories/stg/hosts -l mysql -C -vv
<snip>
TASK [mysql_create_users : include_vars] *******************************************************************************task path: /root/ansible-playbook/roles/create_mysql_users/tasks/main.yml:2ok: [IP_ADDR] => {"ansible_facts": {"mysql_users": {"user1": {"host": "%", "password": "secret", "priv": "*.*:ALL,GRANT", "state": "present", "username": "user1"}}}, "changed": false}
TASK [mysql_create_users : debug] **************************************************************************************task path: /root/ansible-playbook/roles/create_mysql_users/tasks/main.yml:5ok: [IP_ADDR] => { "changed": false, "mysql_users": { "user1": { "host": "%", "password": "secret", "priv": "*.*:ALL,GRANT", "state": "present", "username": "user1" } }}
TASK [mysql_create_users : Create or Remove MySQL account] *************************************************************task path: /root/ansible-playbook/roles/create_mysql_users/tasks/main.yml:7fatal: [IP_ADDR]: FAILED! => {"failed": true, "msg": "the field 'args' has an invalid value, which appears to include a variable that is undefined. The error was: 'ansible.vars.unsafe_proxy.AnsibleUnsafeText object' has no attribute 'password'\n\nThe error appears to have been in '/root/ansible-playbook/roles/create_mysql_users/tasks/main.yml': line 7, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: Create or Remove MySQL account\n ^ here\n"}