diff options
author | Toshio Kuratomi <a.badger@gmail.com> | 2018-10-24 17:22:44 +0200 |
---|---|---|
committer | Toshio Kuratomi <a.badger@gmail.com> | 2018-10-24 19:33:19 +0200 |
commit | 748ea39ecd99bcb476dc460bfdd054567ef2bfc6 (patch) | |
tree | f01bc2c68bd1c9e77c00a381b398e88be3d177bb /test/integration/targets/mysql_variables | |
parent | Add API pagination support to Scaleway inventory (#46117) (diff) | |
download | ansible-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.yml | 120 |
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 }}' |