748ea39ecd
The mysql-server package on Ubuntu16.04 was recently updated to disallow unauthenticated root user login over tcp/ip. This, coupled with pymysql using tcp/ip whenever host and port is specified causes us to fail to connect to the database when testing Python3 on Ubuntu16.04. The fix is to use the unix socket instead.
84 lines
2.7 KiB
YAML
84 lines
2.7 KiB
YAML
# setup code for the mysql_db module
|
|
# (c) 2014, Wayne Rosario <wrosario@ansible.com>
|
|
|
|
# This file is part of Ansible
|
|
#
|
|
# Ansible is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# Ansible is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
# ============================================================
|
|
- name: python 2
|
|
set_fact:
|
|
python_suffix: ""
|
|
when: ansible_python_version is version('3', '<')
|
|
|
|
- name: python 3
|
|
set_fact:
|
|
python_suffix: "-py3"
|
|
when: ansible_python_version is version('3', '>=')
|
|
|
|
- include_vars: '{{ item }}'
|
|
with_first_found:
|
|
- files:
|
|
- '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}{{ python_suffix }}.yml'
|
|
- '{{ ansible_os_family }}-{{ ansible_distribution_major_version }}{{ python_suffix }}.yml'
|
|
- '{{ ansible_distribution }}{{ python_suffix }}.yml'
|
|
- '{{ ansible_os_family }}{{ python_suffix }}.yml'
|
|
- 'default{{ python_suffix }}.yml'
|
|
paths: '../vars'
|
|
|
|
- name: Detect socket path
|
|
shell: >
|
|
echo "show variables like 'socket'\G" | mysql | grep 'Value: ' | sed 's/[ ]\+Value: //'
|
|
register: _socket_path
|
|
|
|
- name: Set socket path
|
|
set_fact:
|
|
mysql_socket: '{{ _socket_path["stdout"] }}'
|
|
|
|
- name: install mysqldb_test rpm dependencies
|
|
yum: name={{ item }} state=latest
|
|
with_items: "{{mysql_packages}}"
|
|
when: ansible_pkg_mgr == 'yum'
|
|
|
|
- name: install mysqldb_test rpm dependencies
|
|
dnf: name={{ item }} state=latest
|
|
with_items: "{{mysql_packages}}"
|
|
when: ansible_pkg_mgr == 'dnf'
|
|
|
|
- name: install mysqldb_test debian dependencies
|
|
apt: name={{ item }} state=latest
|
|
with_items: "{{mysql_packages}}"
|
|
when: ansible_pkg_mgr == 'apt'
|
|
|
|
- name: install mysqldb_test FreeBSD dependencies
|
|
pkgng:
|
|
name: "{{ item }}"
|
|
state: present
|
|
with_items: "{{mysql_packages}}"
|
|
when: ansible_os_family == "FreeBSD"
|
|
|
|
- name: install mysql-python package via pip (FreeBSD)
|
|
pip:
|
|
name: mysql-python
|
|
state: present
|
|
when: ansible_os_family == "FreeBSD"
|
|
|
|
- name: enable mysql-server service (FreeBSD)
|
|
lineinfile:
|
|
path: /etc/rc.conf
|
|
line: 'mysql_server_enable="YES"'
|
|
when: ansible_os_family == "FreeBSD"
|
|
|
|
- name: start mysql_db service if not running
|
|
service: name={{ mysql_service }} state=started
|