Hi,
I'm having problems with a playbook for setting up MariaDB, using Ansible
1.9.1 against a Centos 7.1.1503 host. I'll try and go step by step with the
playbook, which starts thusly:
- name: Install MariaDB
yum:
name: "{{ item }}"
state: present
with_items:
- mariadb
- mariadb-server
- MySQL-python
- name: Enable MariaDB
service:
name: mariadb
enabled: yes
state: started
Running the above will correctly install MariaDB and start running the
service. Now, from the actual MariaDB host, if I connect to the service
using the mysql client I can get:
MariaDB [mysql]> select User,Host,Password from user;
+------+---------------------+----------+
| User | Host | Password |
+------+---------------------+----------+
| root | localhost | |
| root | mariadb.example.com | |
| root | 127.0.0.1 | |
| root | ::1 | |
| | localhost | |
| | mariadb.example.com | |
+------+---------------------+----------+
6 rows in set (0.00 sec)
Which is expected in a default unattended install: root password is blank
and there are a couple of anonymous credentials. Note, however, that there
are credentials for the host FQDN, so I'm inclined to use ansible_fqdn in
the following.
Now comes the part of the playbook that's giving me problems, when setting
up the credentials:
- name: Privileged credentials
mysql_user:
name: root
host: "{{ item }}"
password: "{{ mariadb.password }}"
with_items:
- "{{ ansible_fqdn }}"
- 127.0.0.1
- ::1
- localhost
- name: Privileged credentials console access
template:
src: root/my.cnf.j2
dest: /root/.my.cnf
owner: root
group: root
mode: 0600
(Obviously, mariadb.password, above, is a variable which is also used on
the .my.cnf template.) The above was taken from several sources online; I
only changed the use of ansible_host to ansible_fqdn. Running the playbook
will fail in that task:
failed: [mariadb.example.com] =>
(item=mariadb.example.com) =>
{"failed": true, "item": "mariadb.example.com"}
msg: (1133, "Can't find any matching row in the user table")
changed: [mariadb.example.com] => (item=127.0.0.1)
changed: [mariadb.example.com] => (item=::1)
changed: [mariadb.example.com] => (item=localhost)
If I run the previous MariaDB command I get:
MariaDB [mysql]> select User,Host,Password from user;
+------+---------------------+------------------+
| User | Host | Password |
+------+---------------------+------------------+
| root | localhost | *1018BCB9A91D... |
| root | mariadb.example.com | |
| root | 127.0.0.1 | *1018BCB9A91D... |
| root | ::1 | *1018BCB9A91D... |
| | localhost | |
| | mariadb.example.com | |
+------+--------------------+-------------------+
6 rows in set (0.01 sec)
Which shows that all the credentials were changed except the one with the
FQDN host part. So, my question is: what am I doing wrong?
TIA.
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/CAPjvz2%3DymOj%2Byng%2BFCKqJUHzUT4jZyd0BQsdMxYdKqezitg1zw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.