summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/mysql_variables
diff options
context:
space:
mode:
authorToshio Kuratomi <a.badger@gmail.com>2018-10-24 17:22:44 +0200
committerToshio Kuratomi <a.badger@gmail.com>2018-10-24 19:33:19 +0200
commit748ea39ecd99bcb476dc460bfdd054567ef2bfc6 (patch)
treef01bc2c68bd1c9e77c00a381b398e88be3d177bb /test/integration/targets/mysql_variables
parentAdd API pagination support to Scaleway inventory (#46117) (diff)
downloadansible-748ea39ecd99bcb476dc460bfdd054567ef2bfc6.tar.xz
ansible-748ea39ecd99bcb476dc460bfdd054567ef2bfc6.zip
Fix mysql authentication errors
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.
Diffstat (limited to 'test/integration/targets/mysql_variables')
-rw-r--r--test/integration/targets/mysql_variables/tasks/main.yml120
1 files changed, 96 insertions, 24 deletions
diff --git a/test/integration/targets/mysql_variables/tasks/main.yml b/test/integration/targets/mysql_variables/tasks/main.yml
index 0ba23e8907..1b3fd3f4c4 100644
--- a/test/integration/targets/mysql_variables/tasks/main.yml
+++ b/test/integration/targets/mysql_variables/tasks/main.yml
@@ -22,7 +22,9 @@
- set_fact: set_name='version'
- name: read mysql variables (expect changed=false)
- mysql_variables: variable={{set_name}}
+ mysql_variables:
+ variable: '{{set_name}}'
+ login_unix_socket: '{{ mysql_socket }}'
register: result
- include: assert_var_output.yml changed=false output={{result}} var_name={{set_name}}
@@ -35,10 +37,16 @@
set_value: 'ON'
- name: set mysql variable
- mysql_variables: variable={{set_name}} value={{set_value}}
+ mysql_variables:
+ variable: '{{set_name}}'
+ value: '{{set_value}}'
+ login_unix_socket: '{{ mysql_socket }}'
- name: update mysql variable to same value (expect changed=false)
- mysql_variables: variable={{set_name}} value={{set_value}}
+ mysql_variables:
+ variable: '{{set_name}}'
+ value: '{{set_value}}'
+ login_unix_socket: '{{ mysql_socket }}'
register: result
- include: assert_var.yml changed=false output={{result}} var_name={{set_name}} var_value={{set_value}}
@@ -51,10 +59,16 @@
set_value: '300'
- name: set mysql variable to a temp value
- mysql_variables: variable={{set_name}} value='200'
+ mysql_variables:
+ variable: '{{set_name}}'
+ value: '200'
+ login_unix_socket: '{{ mysql_socket }}'
- name: update mysql variable value (expect changed=true)
- mysql_variables: variable={{set_name}} value={{set_value}}
+ mysql_variables:
+ variable: '{{set_name}}'
+ value: '{{set_value}}'
+ login_unix_socket: '{{ mysql_socket }}'
register: result
- include: assert_var.yml changed=true output={{result}} var_name={{set_name}} var_value='{{set_value}}'
@@ -67,10 +81,16 @@
set_value: "400"
- name: set mysql variable to a temp value
- mysql_variables: variable={{set_name}} value="200"
+ mysql_variables:
+ variable: '{{set_name}}'
+ value: "200"
+ login_unix_socket: '{{ mysql_socket }}'
- name: update mysql variable value (expect changed=true)
- mysql_variables: variable={{set_name}} value={{set_value}}
+ mysql_variables:
+ variable: '{{set_name}}'
+ value: '{{set_value}}'
+ login_unix_socket: '{{ mysql_socket }}'
register: result
- include: assert_var.yml changed=true output={{result}} var_name={{set_name}} var_value='{{set_value}}'
@@ -83,10 +103,16 @@
set_value: 500
- name: set mysql variable to a temp value
- mysql_variables: variable={{set_name}} value=200
+ mysql_variables:
+ variable: '{{set_name}}'
+ value: 200
+ login_unix_socket: '{{ mysql_socket }}'
- name: update mysql variable value (expect changed=true)
- mysql_variables: variable={{set_name}} value={{set_value}}
+ mysql_variables:
+ variable: '{{set_name}}'
+ value: '{{set_value}}'
+ login_unix_socket: '{{ mysql_socket }}'
register: result
- include: assert_var.yml changed=true output={{result}} var_name={{set_name}} var_value='{{set_value}}'
@@ -95,7 +121,10 @@
# Verify mysql_variable successfully updates a variable using an expression (e.g. 1024*4)
#
- name: set mysql variable value to an expression
- mysql_variables: variable=max_tmp_tables value="1024*4"
+ mysql_variables:
+ variable: max_tmp_tables
+ value: "1024*4"
+ login_unix_socket: '{{ mysql_socket }}'
register: result
ignore_errors: true
@@ -105,7 +134,10 @@
# Verify mysql_variable fails when setting an incorrect value (out of range)
#
- name: set mysql variable value to a number out of range
- mysql_variables: variable=max_tmp_tables value=-1
+ mysql_variables:
+ variable: max_tmp_tables
+ value: -1
+ login_unix_socket: '{{ mysql_socket }}'
register: result
ignore_errors: true
@@ -115,7 +147,10 @@
# Verify mysql_variable fails when setting an incorrect value (incorrect type)
#
- name: set mysql variable value to a non-valid value number
- mysql_variables: variable=max_tmp_tables value=TEST
+ mysql_variables:
+ variable: max_tmp_tables
+ value: TEST
+ login_unix_socket: '{{ mysql_socket }}'
register: result
ignore_errors: true
@@ -125,7 +160,10 @@
# Verify mysql_variable fails when setting an unknown variable
#
- name: set a non mysql variable
- mysql_variables: variable=my_sql_variable value=ON
+ mysql_variables:
+ variable: my_sql_variable
+ value: ON
+ login_unix_socket: '{{ mysql_socket }}'
register: result
ignore_errors: true
@@ -135,7 +173,10 @@
# Verify mysql_variable fails when setting a read-only variable
#
- name: set value of a read only mysql variable
- mysql_variables: variable=character_set_system value=utf16
+ mysql_variables:
+ variable: character_set_system
+ value: utf16
+ login_unix_socket: '{{ mysql_socket }}'
register: result
ignore_errors: true
@@ -145,24 +186,40 @@
# Verify mysql_variable works with the login_user and login_password parameters
#
- name: create mysql user
- mysql_user: name={{user}} password={{password}} state=present priv=*.*:ALL
+ mysql_user:
+ name: '{{user}}'
+ password: '{{password}}'
+ state: present
+ priv: '*.*:ALL'
+ login_unix_socket: '{{ mysql_socket }}'
- set_fact:
set_name: wait_timeout
set_value: 77
- name: query mysql_variable using login_user and password_password
- mysql_variables: variable={{set_name}} login_user={{user}} login_password={{password}}
+ mysql_variables:
+ variable: '{{set_name}}'
+ login_user: '{{user}}'
+ login_password: '{{password}}'
register: result
- include: assert_var_output.yml changed=false output={{result}} var_name={{set_name}}
- name: set mysql variable to temp value using user login and password (expect changed=true)
- mysql_variables: variable={{set_name}} value=20 login_user={{user}} login_password={{password}}
+ mysql_variables:
+ variable: '{{set_name}}'
+ value: 20
+ login_user: '{{user}}'
+ login_password: '{{password}}'
register: result
- name: update mysql variable value using user login and password (expect changed=true)
- mysql_variables: variable={{set_name}} value={{set_value}} login_user={{user}} login_password={{password}}
+ mysql_variables:
+ variable: '{{set_name}}'
+ value: '{{set_value}}'
+ login_user: '{{user}}'
+ login_password: '{{password}}'
register: result
- include: assert_var.yml changed=true output={{result}} var_name={{set_name}} var_value='{{set_value}}'
@@ -175,28 +232,43 @@
set_value: 10
- name: query mysql_variable using incorrect login_password
- mysql_variables: variable={{set_name}} login_user={{user}} login_password=wrongpassword
+ mysql_variables:
+ variable: '{{set_name}}'
+ login_user: '{{user}}'
+ login_password: 'wrongpassword'
register: result
ignore_errors: true
- include: assert_fail_msg.yml output={{result}} msg='unable to connect to database'
- name: update mysql variable value using incorrect login_password (expect failed=true)
- mysql_variables: variable={{set_name}} value={{set_value}} login_user={{user}} login_password='this is an incorrect password'
+ mysql_variables:
+ variable: '{{set_name}}'
+ value: '{{set_value}}'
+ login_user: '{{user}}'
+ login_password: 'this is an incorrect password'
register: result
ignore_errors: true
- include: assert_fail_msg.yml output={{result}} msg='unable to connect to database'
-- name: remove mysql_user {{user}}
- mysql_user: name={{user}} state=absent
-
#============================================================
# Verify mysql_variable fails with an incorrect login_host parameter
#
- name: query mysql_variable using incorrect login_host
- mysql_variables: variable=wait_timeout login_host=12.0.0.9 connect_timeout=5
+ mysql_variables:
+ variable: wait_timeout
+ login_host: '12.0.0.9'
+ login_user: '{{user}}'
+ login_password: '{{password}}'
+ connect_timeout: 5
register: result
ignore_errors: true
- include: assert_fail_msg.yml output={{result}} msg='unable to connect to database'
+
+- name: remove mysql_user {{user}}
+ mysql_user:
+ name: '{{user}}'
+ state: absent
+ login_unix_socket: '{{ mysql_socket }}'