Generalize mysql and mariadb version based on container name

This way we can split db_engine and db_version and simplify tests.
Also this is mandatory to use the matrix.db_engine_version as the
image name for our services containers.
This commit is contained in:
Laurent Indermuehle 2023-01-04 14:14:13 +01:00
commit b821db97c5
No known key found for this signature in database
GPG key ID: 93FA944C9F34DD09
13 changed files with 158 additions and 190 deletions

View file

@ -15,8 +15,7 @@ on:
env: env:
mysql_version_file: "tests/integration/targets/setup_mysql/defaults/main.yml" config_file: "tests/integration/targets/setup_mysql/defaults/main.yml"
connector_version_file: "tests/integration/targets/setup_mysql/vars/main.yml"
jobs: jobs:
# sanity: # sanity:
@ -44,13 +43,12 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
# db_engine_version: db_engine_version:
# - mysql_5.7.31 # - mysql:5.7.40
# - mysql_8.0.22 - mysql:8.0.22
# - mariadb_10.3.34 # - mariadb:10.4.24
# # When adding later versions below, # - mariadb:10.5.18
# # also change the "Set MariaDB URL sub dir" task # - mariadb:10.8.3
# - mariadb_10.8.3
ansible: ansible:
# - stable-2.12 # - stable-2.12
# - stable-2.13 # - stable-2.13
@ -88,10 +86,9 @@ jobs:
services: services:
db_primary: db_primary:
# image: mariadb:10.5 image: ${{ matrix.db_engine_version }}
image: mysql:8.0.22
env: env:
# MARIADB_ROOT_PASSWORD: msandbox MARIADB_ROOT_PASSWORD: msandbox
MYSQL_ROOT_PASSWORD: msandbox MYSQL_ROOT_PASSWORD: msandbox
ports: ports:
- 3307:3306 - 3307:3306
@ -106,10 +103,9 @@ jobs:
# --health-timeout 5s # --health-timeout 5s
# --health-retries 6 # --health-retries 6
db_replica1: db_replica1:
# image: mariadb:10.5 image: ${{ matrix.db_engine_version }}
image: mysql:8.0.22
env: env:
# MARIADB_ROOT_PASSWORD: msandbox MARIADB_ROOT_PASSWORD: msandbox
MYSQL_ROOT_PASSWORD: msandbox MYSQL_ROOT_PASSWORD: msandbox
ports: ports:
- 3308:3306 - 3308:3306
@ -122,10 +118,9 @@ jobs:
# --health-timeout 5s # --health-timeout 5s
# --health-retries 6 # --health-retries 6
db_replica2: db_replica2:
# image: mariadb:10.5 image: ${{ matrix.db_engine_version }}
image: mysql:8.0.22
env: env:
# MARIADB_ROOT_PASSWORD: msandbox MARIADB_ROOT_PASSWORD: msandbox
MYSQL_ROOT_PASSWORD: msandbox MYSQL_ROOT_PASSWORD: msandbox
ports: ports:
- 3309:3306 - 3309:3306
@ -147,8 +142,10 @@ jobs:
with: with:
ansible-core-version: ${{ matrix.ansible }} ansible-core-version: ${{ matrix.ansible }}
pre-test-cmd: >- pre-test-cmd: >-
>&2 echo Setting db_engine_version to ${{ matrix.db_engine_version }}...;
sed -i 's/^db_engine_version:.*/db_engine_version: [${{ matrix.db_engine_version }}]/' ${{ env.config_file }}
>&2 echo Setting Connector version to ${{ matrix.connector }}...; >&2 echo Setting Connector version to ${{ matrix.connector }}...;
sed -i 's/^python_packages:.*/python_packages: [${{ matrix.connector }}]/' ${{ env.connector_version_file }} sed -i 's/^python_packages:.*/python_packages: [${{ matrix.connector }}]/' ${{ env.config_file }}
target-python-version: ${{ matrix.python }} target-python-version: ${{ matrix.python }}
testing-type: integration testing-type: integration

View file

@ -1,18 +1,5 @@
dbdeployer_version: 1.64.0 ---
dbdeployer_home_dir: /opt/dbdeployer
home_dir: "{{ playbook_dir }}/root" home_dir: "{{ playbook_dir }}/root"
db_engine_version: mysql:8.0.22
mariadb_install: false
mysql_version: 8.0.22
mariadb_version: 10.5.4
mysql_base_port: 3306 mysql_base_port: 3306
python_packages: [pymysql == 0.9.3]
percona_client_package: >-
{%- if mariadb_install -%}
mariadb-client
{%- else -%}
percona-server-client-5.7
{%- endif -%}

View file

@ -9,6 +9,8 @@
ansible.builtin.set_fact: ansible.builtin.set_fact:
connector_name: "{{ connector.name.0 }}" connector_name: "{{ connector.name.0 }}"
gateway_addr: "{{ ip_route_output.stdout }}" gateway_addr: "{{ ip_route_output.stdout }}"
db_engine: "{{ db_engine_version | split(':') | first }}"
db_version: "{{ db_engine_version | split(':') | last }}"
- name: "{{ role_name }} | setvars | Set Fact using above facts" - name: "{{ role_name }} | setvars | Set Fact using above facts"
ansible.builtin.set_fact: ansible.builtin.set_fact:
@ -26,3 +28,4 @@
msg: > msg: >
Connector name: {{ connector_name }}, Connector name: {{ connector_name }},
Connector version: {{ connector_ver }} Connector version: {{ connector_ver }}
db_engine: {{ db_engine }}

View file

@ -1,19 +0,0 @@
---
dbdeployer_install_dir: "{{ dbdeployer_home_dir }}/dbdeployer_{{ dbdeployer_version }}"
dbdeployer_src: "https://github.com/datacharmer/dbdeployer/releases/download/v{{ dbdeployer_version }}/dbdeployer-{{ dbdeployer_version }}.linux.tar.gz"
dbdeployer_installed_file: "{{ dbdeployer_home_dir }}/dbdeployer_installed"
dbdeployer_sandbox_download_dir: "{{ home_dir }}/downloads"
dbdeployer_sandbox_binary_dir: "{{ home_dir }}/opt/mysql"
dbdeployer_sandbox_home_dir: "{{ home_dir }}/sandboxes"
percona_mysql_packages:
- "{{ percona_client_package }}"
python_packages: [pymysql == 0.9.3]
mysql_tarball: "mysql-{{ mysql_version }}-linux-glibc2.12-x86_64.tar.{{ mysql_compression_extension }}"
mysql_src: "https://dev.mysql.com/get/Downloads/MySQL-{{ mysql_major_version }}/{{ mysql_tarball }}"
mariadb_url_subdir: "linux"
mariadb_tarball: "mariadb-{{ mariadb_version }}-{{ mariadb_url_subdir }}-x86_64.tar.gz"
mariadb_src: "https://downloads.mariadb.com/MariaDB/mariadb-{{ mariadb_version }}/bintar-{{ mariadb_url_subdir }}-x86_64/{{ mariadb_tarball }}"

View file

@ -49,7 +49,7 @@
- assert: - assert:
that: that:
- result is not changed - result is not changed
- "mysql_version in result.version.full or mariadb_version in result.version.full" - db_version in result.version.full
- result.settings != {} - result.settings != {}
- result.global_status != {} - result.global_status != {}
- result.databases != {} - result.databases != {}

View file

@ -90,11 +90,11 @@
- name: Create replication filter MySQL - name: Create replication filter MySQL
shell: "echo \"CHANGE REPLICATION FILTER REPLICATE_IGNORE_DB = (mysql);\" | {{ mysql_command }} -P{{ mysql_replica1_port }}" shell: "echo \"CHANGE REPLICATION FILTER REPLICATE_IGNORE_DB = (mysql);\" | {{ mysql_command }} -P{{ mysql_replica1_port }}"
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Create replication filter MariaDB - name: Create replication filter MariaDB
shell: "echo \"SET GLOBAL replicate_ignore_db = 'mysql';\" | {{ mysql_command }} -P{{ mysql_replica1_port }}" shell: "echo \"SET GLOBAL replicate_ignore_db = 'mysql';\" | {{ mysql_command }} -P{{ mysql_replica1_port }}"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Start replica - name: Start replica
mysql_replication: mysql_replication:
@ -155,8 +155,8 @@
- name: Remove replication filter MySQL - name: Remove replication filter MySQL
shell: "echo \"CHANGE REPLICATION FILTER REPLICATE_IGNORE_DB = ();\" | {{ mysql_command }} -P{{ mysql_replica1_port }}" shell: "echo \"CHANGE REPLICATION FILTER REPLICATE_IGNORE_DB = ();\" | {{ mysql_command }} -P{{ mysql_replica1_port }}"
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Remove replication filter MariaDB - name: Remove replication filter MariaDB
shell: "echo \"SET GLOBAL replicate_ignore_db = '';\" | {{ mysql_command }} -P{{ mysql_replica1_port }}" shell: "echo \"SET GLOBAL replicate_ignore_db = '';\" | {{ mysql_command }} -P{{ mysql_replica1_port }}"
when: install_type == 'mariadb' when: db_engine == 'mariadb'

View file

@ -18,7 +18,7 @@
# Tests of channel parameter: # Tests of channel parameter:
- import_tasks: mysql_replication_channel.yml - import_tasks: mysql_replication_channel.yml
when: when:
- install_type == 'mysql' # FIXME: mariadb introduces FOR CHANNEL in 10.7 - db_engine == 'mysql' # FIXME: mariadb introduces FOR CHANNEL in 10.7
# Tests of resetprimary mode: # Tests of resetprimary mode:
- import_tasks: mysql_replication_resetprimary_mode.yml - import_tasks: mysql_replication_resetprimary_mode.yml

View file

@ -24,7 +24,7 @@
mysql8022_and_higher: true mysql8022_and_higher: true
when: when:
- db.version.major > 8 or (db.version.major == 8 and db.version.minor > 0) or (db.version.major == 8 and db.version.minor == 0 and db.version.release >= 22) - db.version.major > 8 or (db.version.major == 8 and db.version.minor > 0) or (db.version.major == 8 and db.version.minor == 0 and db.version.release >= 22)
- install_type == 'mysql' - db_engine == 'mysql'
- name: alias mysql command to include default options except for the port - name: alias mysql command to include default options except for the port
set_fact: set_fact:
@ -33,11 +33,11 @@
# Preparation: # Preparation:
- name: Create user for mysql replication - name: Create user for mysql replication
shell: "echo \"CREATE USER '{{ replication_user }}'@'localhost' IDENTIFIED WITH mysql_native_password BY '{{ replication_pass }}'; GRANT REPLICATION SLAVE ON *.* TO '{{ replication_user }}'@'localhost';\" | {{ mysql_command_wo_port }} -P{{ mysql_primary_port }}" shell: "echo \"CREATE USER '{{ replication_user }}'@'localhost' IDENTIFIED WITH mysql_native_password BY '{{ replication_pass }}'; GRANT REPLICATION SLAVE ON *.* TO '{{ replication_user }}'@'localhost';\" | {{ mysql_command_wo_port }} -P{{ mysql_primary_port }}"
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Create user for mariadb replication - name: Create user for mariadb replication
shell: "echo \"CREATE USER '{{ replication_user }}'@'localhost' IDENTIFIED BY '{{ replication_pass }}'; GRANT REPLICATION SLAVE ON *.* TO '{{ replication_user }}'@'localhost';\" | {{ mysql_command_wo_port }} -P{{ mysql_primary_port }}" shell: "echo \"CREATE USER '{{ replication_user }}'@'localhost' IDENTIFIED BY '{{ replication_pass }}'; GRANT REPLICATION SLAVE ON *.* TO '{{ replication_user }}'@'localhost';\" | {{ mysql_command_wo_port }} -P{{ mysql_primary_port }}"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Create test database - name: Create test database
mysql_db: mysql_db:

View file

@ -105,26 +105,26 @@
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'"
ignore_errors: yes ignore_errors: yes
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is failed - result is failed
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user0 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user0 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 0 - result.query_result.0.0['user_roles'] == 0
when: install_type == 'mariadb' when: db_engine == 'mariadb'
#===================== #=====================
@ -172,26 +172,26 @@
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'"
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is succeeded - result is succeeded
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user0 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user0 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 1 - result.query_result.0.0['user_roles'] == 1
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check that the role is active - name: Check that the role is active
<<: *task_params <<: *task_params
@ -201,13 +201,13 @@
login_host: '{{ gateway_addr }}' login_host: '{{ gateway_addr }}'
login_port: '{{ mysql_primary_port }}' login_port: '{{ mysql_primary_port }}'
query: 'SELECT current_role()' query: 'SELECT current_role()'
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- "'{{ role0 }}' in result.query_result.0.0['current_role()']" - "'{{ role0 }}' in result.query_result.0.0['current_role()']"
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check that the role is active (mariadb) - name: Check that the role is active (mariadb)
<<: *task_params <<: *task_params
@ -219,13 +219,13 @@
query: query:
- 'SET ROLE {{ role0 }}' - 'SET ROLE {{ role0 }}'
- 'SELECT current_role()' - 'SELECT current_role()'
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- "'{{ role0 }}' in result.query_result.1.0['current_role()']" - "'{{ role0 }}' in result.query_result.1.0['current_role()']"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
#======================== #========================
@ -258,26 +258,26 @@
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'"
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is succeeded - result is succeeded
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user0 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user0 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 1 - result.query_result.0.0['user_roles'] == 1
when: install_type == 'mariadb' when: db_engine == 'mariadb'
#======================== #========================
@ -336,13 +336,13 @@
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'"
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is succeeded - result is succeeded
when: install_type == 'mysql' when: db_engine == 'mysql'
# Must pass because of check_mode # Must pass because of check_mode
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
@ -350,13 +350,13 @@
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user0 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user0 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 1 - result.query_result.0.0['user_roles'] == 1
when: install_type == 'mariadb' when: db_engine == 'mariadb'
#======================== #========================
@ -389,13 +389,13 @@
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'"
ignore_errors: yes ignore_errors: yes
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is failed - result is failed
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
<<: *task_params <<: *task_params
@ -403,13 +403,13 @@
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user0 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user0 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'"
ignore_errors: yes ignore_errors: yes
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 0 - result.query_result.0.0['user_roles'] == 0
when: install_type == 'mariadb' when: db_engine == 'mariadb'
#======================== #========================
@ -573,13 +573,13 @@
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'"
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is succeeded - result is succeeded
when: install_type == 'mysql' when: db_engine == 'mysql'
# user0 is still a member because of check_mode # user0 is still a member because of check_mode
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
@ -587,13 +587,13 @@
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user0 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user0 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 1 - result.query_result.0.0['user_roles'] == 1
when: install_type == 'mariadb' when: db_engine == 'mariadb'
# user1, user2, and role1 are not members because of check_mode # user1, user2, and role1 are not members because of check_mode
- name: Check in DB, if not granted, the query will fail - name: Check in DB, if not granted, the query will fail
@ -602,26 +602,26 @@
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user1 }}@localhost USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ user1 }}@localhost USING '{{ role0 }}'"
ignore_errors: yes ignore_errors: yes
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is failed - result is failed
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user1 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user1 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 0 - result.query_result.0.0['user_roles'] == 0
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check in DB, if not granted, the query will fail - name: Check in DB, if not granted, the query will fail
<<: *task_params <<: *task_params
@ -629,26 +629,26 @@
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user2 }}@localhost USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ user2 }}@localhost USING '{{ role0 }}'"
ignore_errors: yes ignore_errors: yes
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is failed - result is failed
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user2 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user2 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 0 - result.query_result.0.0['user_roles'] == 0
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check in DB, if not granted, the query will fail - name: Check in DB, if not granted, the query will fail
<<: *task_params <<: *task_params
@ -656,26 +656,26 @@
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ role1 }} USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ role1 }} USING '{{ role0 }}'"
ignore_errors: yes ignore_errors: yes
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is failed - result is failed
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ role1 }}' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ role1 }}' AND Role = '{{ role0 }}'"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 0 - result.query_result.0.0['user_roles'] == 0
when: install_type == 'mariadb' when: db_engine == 'mariadb'
#======================== #========================
@ -702,13 +702,13 @@
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'"
ignore_errors: yes ignore_errors: yes
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is failed - result is failed
when: install_type == 'mysql' when: db_engine == 'mysql'
# user0 is not a member any more # user0 is not a member any more
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
@ -716,65 +716,65 @@
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user0 }}@localhost" query: "SHOW GRANTS FOR {{ user0 }}@localhost"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- "'{{ role0 }}' not in result.query_result.0.0['Grants for user0@localhost']" - "'{{ role0 }}' not in result.query_result.0.0['Grants for user0@localhost']"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check in DB, if not granted, the query will fail - name: Check in DB, if not granted, the query will fail
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user1 }}@localhost USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ user1 }}@localhost USING '{{ role0 }}'"
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is succeeded - result is succeeded
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user1 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user1 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 1 - result.query_result.0.0['user_roles'] == 1
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check in DB, if not granted, the query will fail - name: Check in DB, if not granted, the query will fail
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user2 }}@localhost USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ user2 }}@localhost USING '{{ role0 }}'"
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is succeeded - result is succeeded
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user2 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user2 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 1 - result.query_result.0.0['user_roles'] == 1
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check in DB, if not granted, the query will fail - name: Check in DB, if not granted, the query will fail
<<: *task_params <<: *task_params
@ -782,26 +782,26 @@
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ role1 }} USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ role1 }} USING '{{ role0 }}'"
ignore_errors: yes ignore_errors: yes
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is succeeded - result is succeeded
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ role1 }}' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ role1 }}' AND Role = '{{ role0 }}'"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 1 - result.query_result.0.0['user_roles'] == 1
when: install_type == 'mariadb' when: db_engine == 'mariadb'
#========================== #==========================
@ -866,26 +866,26 @@
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'"
ignore_errors: yes ignore_errors: yes
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is failed - result is failed
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user0 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user0 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 0 - result.query_result.0.0['user_roles'] == 0
when: install_type == 'mariadb' when: db_engine == 'mariadb'
#===================== #=====================
- name: Append a member - name: Append a member
@ -908,26 +908,26 @@
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'"
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is succeeded - result is succeeded
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user0 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user0 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 1 - result.query_result.0.0['user_roles'] == 1
when: install_type == 'mariadb' when: db_engine == 'mariadb'
# user1 and user2 must still be in DB because we are appending # user1 and user2 must still be in DB because we are appending
- name: Check in DB, if not granted, the query will fail - name: Check in DB, if not granted, the query will fail
@ -935,52 +935,52 @@
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user1 }}@localhost USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ user1 }}@localhost USING '{{ role0 }}'"
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is succeeded - result is succeeded
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user1 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user1 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 1 - result.query_result.0.0['user_roles'] == 1
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check in DB, if not granted, the query will fail - name: Check in DB, if not granted, the query will fail
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user2 }}@localhost USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ user2 }}@localhost USING '{{ role0 }}'"
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is succeeded - result is succeeded
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user2 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user2 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 1 - result.query_result.0.0['user_roles'] == 1
when: install_type == 'mariadb' when: db_engine == 'mariadb'
#======================== #========================
@ -1042,78 +1042,78 @@
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'"
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is succeeded - result is succeeded
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user0 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user0 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 1 - result.query_result.0.0['user_roles'] == 1
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check in DB, if not granted, the query will fail - name: Check in DB, if not granted, the query will fail
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user1 }}@localhost USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ user1 }}@localhost USING '{{ role0 }}'"
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is succeeded - result is succeeded
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user1 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user1 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 1 - result.query_result.0.0['user_roles'] == 1
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check in DB, if not granted, the query will fail - name: Check in DB, if not granted, the query will fail
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user2 }}@localhost USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ user2 }}@localhost USING '{{ role0 }}'"
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is succeeded - result is succeeded
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user2 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user2 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 1 - result.query_result.0.0['user_roles'] == 1
when: install_type == 'mariadb' when: db_engine == 'mariadb'
#======================== #========================
@ -1138,26 +1138,26 @@
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ user0 }}@localhost USING '{{ role0 }}'"
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is succeeded - result is succeeded
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user0 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user0 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 1 - result.query_result.0.0['user_roles'] == 1
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check in DB, if not granted, the query will fail - name: Check in DB, if not granted, the query will fail
<<: *task_params <<: *task_params
@ -1165,26 +1165,26 @@
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user1 }}@localhost USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ user1 }}@localhost USING '{{ role0 }}'"
ignore_errors: yes ignore_errors: yes
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is failed - result is failed
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user1 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user1 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 0 - result.query_result.0.0['user_roles'] == 0
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check in DB, if not granted, the query will fail - name: Check in DB, if not granted, the query will fail
<<: *task_params <<: *task_params
@ -1192,26 +1192,26 @@
<<: *mysql_params <<: *mysql_params
query: "SHOW GRANTS FOR {{ user2 }}@localhost USING '{{ role0 }}'" query: "SHOW GRANTS FOR {{ user2 }}@localhost USING '{{ role0 }}'"
ignore_errors: yes ignore_errors: yes
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check - name: Check
assert: assert:
that: that:
- result is failed - result is failed
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check in DB (mariadb) - name: Check in DB (mariadb)
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user2 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'" query: "SELECT count(User) as user_roles FROM mysql.roles_mapping WHERE User = '{{ user2 }}' AND Host = 'localhost' AND Role = '{{ role0 }}'"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0['user_roles'] == 0 - result.query_result.0.0['user_roles'] == 0
when: install_type == 'mariadb' when: db_engine == 'mariadb'
#===================== #=====================
@ -1374,7 +1374,7 @@
- result.query_result.0.0["Grants for role0@%"] == "GRANT SELECT, INSERT ON *.* TO `role0`@`%`" - result.query_result.0.0["Grants for role0@%"] == "GRANT SELECT, INSERT ON *.* TO `role0`@`%`"
- result.query_result.0.1["Grants for role0@%"] == "GRANT UPDATE ON `mysql`.* TO `role0`@`%`" - result.query_result.0.1["Grants for role0@%"] == "GRANT UPDATE ON `mysql`.* TO `role0`@`%`"
- result.rowcount.0 == 2 - result.rowcount.0 == 2
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
@ -1382,7 +1382,7 @@
- result.query_result.0.0["Grants for role0"] == "GRANT SELECT, INSERT ON *.* TO `role0`" - result.query_result.0.0["Grants for role0"] == "GRANT SELECT, INSERT ON *.* TO `role0`"
- result.query_result.0.1["Grants for role0"] == "GRANT UPDATE ON `mysql`.* TO `role0`" - result.query_result.0.1["Grants for role0"] == "GRANT UPDATE ON `mysql`.* TO `role0`"
- result.rowcount.0 == 2 - result.rowcount.0 == 2
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Append privs in check_mode - name: Append privs in check_mode
<<: *task_params <<: *task_params
@ -1411,7 +1411,7 @@
- result.query_result.0.0["Grants for role0@%"] == "GRANT SELECT, INSERT ON *.* TO `role0`@`%`" - result.query_result.0.0["Grants for role0@%"] == "GRANT SELECT, INSERT ON *.* TO `role0`@`%`"
- result.query_result.0.1["Grants for role0@%"] == "GRANT UPDATE ON `mysql`.* TO `role0`@`%`" - result.query_result.0.1["Grants for role0@%"] == "GRANT UPDATE ON `mysql`.* TO `role0`@`%`"
- result.rowcount.0 == 2 - result.rowcount.0 == 2
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
@ -1419,7 +1419,7 @@
- result.query_result.0.0["Grants for role0"] == "GRANT SELECT, INSERT ON *.* TO `role0`" - result.query_result.0.0["Grants for role0"] == "GRANT SELECT, INSERT ON *.* TO `role0`"
- result.query_result.0.1["Grants for role0"] == "GRANT UPDATE ON `mysql`.* TO `role0`" - result.query_result.0.1["Grants for role0"] == "GRANT UPDATE ON `mysql`.* TO `role0`"
- result.rowcount.0 == 2 - result.rowcount.0 == 2
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Append privs - name: Append privs
<<: *task_params <<: *task_params
@ -1449,7 +1449,7 @@
- result.query_result.0.2["Grants for role0@%"] == "GRANT SELECT, INSERT ON `test_db1`.`test_table` TO `role0`@`%`" - result.query_result.0.2["Grants for role0@%"] == "GRANT SELECT, INSERT ON `test_db1`.`test_table` TO `role0`@`%`"
- result.query_result.0.3["Grants for role0@%"] == "GRANT DELETE ON `test_db2`.`test_table` TO `role0`@`%`" - result.query_result.0.3["Grants for role0@%"] == "GRANT DELETE ON `test_db2`.`test_table` TO `role0`@`%`"
- result.rowcount.0 == 4 - result.rowcount.0 == 4
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
@ -1459,7 +1459,7 @@
- result.query_result.0.2["Grants for role0"] == "GRANT SELECT, INSERT ON `test_db1`.`test_table` TO `role0`" - result.query_result.0.2["Grants for role0"] == "GRANT SELECT, INSERT ON `test_db1`.`test_table` TO `role0`"
- result.query_result.0.3["Grants for role0"] == "GRANT DELETE ON `test_db2`.`test_table` TO `role0`" - result.query_result.0.3["Grants for role0"] == "GRANT DELETE ON `test_db2`.`test_table` TO `role0`"
- result.rowcount.0 == 4 - result.rowcount.0 == 4
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Append privs again in check_mode - name: Append privs again in check_mode
<<: *task_params <<: *task_params
@ -1521,14 +1521,14 @@
that: that:
- result.query_result.0.0["Grants for role0@%"] == "GRANT SELECT ON *.* TO `role0`@`%`" - result.query_result.0.0["Grants for role0@%"] == "GRANT SELECT ON *.* TO `role0`@`%`"
- result.rowcount.0 == 1 - result.rowcount.0 == 1
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check (mariadb) - name: Check (mariadb)
assert: assert:
that: that:
- result.query_result.0.0["Grants for role0"] == "GRANT SELECT ON *.* TO `role0`" - result.query_result.0.0["Grants for role0"] == "GRANT SELECT ON *.* TO `role0`"
- result.rowcount.0 == 1 - result.rowcount.0 == 1
when: install_type == 'mariadb' when: db_engine == 'mariadb'
# ################# # #################
# Test admin option # Test admin option
@ -1555,26 +1555,26 @@
that: that:
- result is failed - result is failed
- result.msg is search('option can be used only with MariaDB') - result.msg is search('option can be used only with MariaDB')
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check with MariaDB - name: Check with MariaDB
assert: assert:
that: that:
- result is changed - result is changed
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check in DB - name: Check in DB
<<: *task_params <<: *task_params
mysql_query: mysql_query:
<<: *mysql_params <<: *mysql_params
query: "SELECT 1 FROM mysql.user WHERE User = '{{ role0 }}' AND Host = ''" query: "SELECT 1 FROM mysql.user WHERE User = '{{ role0 }}' AND Host = ''"
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Check - name: Check
assert: assert:
that: that:
- result.rowcount.0 == 1 - result.rowcount.0 == 1
when: install_type == 'mariadb' when: db_engine == 'mariadb'
- name: Create role with admin again - name: Create role with admin again
<<: *task_params <<: *task_params
@ -1590,13 +1590,13 @@
that: that:
- result is failed - result is failed
- result.msg is search('option can be used only with MariaDB') - result.msg is search('option can be used only with MariaDB')
when: install_type == 'mysql' when: db_engine == 'mysql'
- name: Check with MariaDB - name: Check with MariaDB
assert: assert:
that: that:
- result is not changed - result is not changed
when: install_type == 'mariadb' when: db_engine == 'mariadb'
# Try to grant a role to a user who does not exist # Try to grant a role to a user who does not exist
- name: Create role with admin again - name: Create role with admin again

View file

@ -243,7 +243,7 @@
# #
# FIXME: mariadb sql syntax for create/update user is not compatible # FIXME: mariadb sql syntax for create/update user is not compatible
- include: test_user_plugin_auth.yml - include: test_user_plugin_auth.yml
when: install_type == 'mysql' when: db_engine == 'mysql'
# ============================================================ # ============================================================
# Assert create user with SELECT privileges, attempt to create database and update privileges to create database # Assert create user with SELECT privileges, attempt to create database and update privileges to create database

View file

@ -43,7 +43,7 @@
assert: assert:
that: that:
- "'{{ test_plugin_type }}' in show_create_user.stdout" - "'{{ test_plugin_type }}' in show_create_user.stdout"
when: install_type == 'mysql' or (install_type == 'mariadb' and mariadb_version is version('10.3', '>=')) when: db_engine == 'mysql' or (db_engine == 'mariadb' and mariadb_version is version('10.3', '>='))
- include: assert_user.yml user_name={{ test_user_name }} priv={{ test_default_priv_type }} - include: assert_user.yml user_name={{ test_user_name }} priv={{ test_default_priv_type }}
@ -119,7 +119,7 @@
assert: assert:
that: that:
- "'{{ test_plugin_type }}' in show_create_user.stdout" - "'{{ test_plugin_type }}' in show_create_user.stdout"
when: install_type == 'mysql' or (install_type == 'mariadb' and mariadb_version is version('10.3', '>=')) when: db_engine == 'mysql' or (db_engine == 'mariadb' and mariadb_version is version('10.3', '>='))
- include: assert_user.yml user_name={{ test_user_name }} priv={{ test_default_priv_type }} - include: assert_user.yml user_name={{ test_user_name }} priv={{ test_default_priv_type }}
@ -150,7 +150,7 @@
assert: assert:
that: that:
- result is not changed - result is not changed
when: install_type == 'mysql' or (install_type == 'mariadb' and mariadb_version is version('10.3', '>=')) when: db_engine == 'mysql' or (db_engine == 'mariadb' and mariadb_version is version('10.3', '>='))
- include: assert_user.yml user_name={{ test_user_name }} priv={{ test_default_priv_type }} - include: assert_user.yml user_name={{ test_user_name }} priv={{ test_default_priv_type }}
@ -211,7 +211,7 @@
assert: assert:
that: that:
- "'{{ test_plugin_type }}' in show_create_user.stdout" - "'{{ test_plugin_type }}' in show_create_user.stdout"
when: install_type == 'mysql' or (install_type == 'mariadb' and mariadb_version is version('10.3', '>=')) when: db_engine == 'mysql' or (db_engine == 'mariadb' and mariadb_version is version('10.3', '>='))
- include: assert_user.yml user_name={{ test_user_name }} priv={{ test_default_priv_type }} - include: assert_user.yml user_name={{ test_user_name }} priv={{ test_default_priv_type }}
@ -301,7 +301,7 @@
assert: assert:
that: that:
- "'{{ test_plugin_type }}' in show_create_user.stdout" - "'{{ test_plugin_type }}' in show_create_user.stdout"
when: install_type == 'mysql' or (install_type == 'mariadb' and mariadb_version is version('10.3', '>=')) when: db_engine == 'mysql' or (db_engine == 'mariadb' and mariadb_version is version('10.3', '>='))
- include: assert_user.yml user_name={{ test_user_name }} priv={{ test_default_priv_type }} - include: assert_user.yml user_name={{ test_user_name }} priv={{ test_default_priv_type }}
@ -387,7 +387,7 @@
assert: assert:
that: that:
- "'{{ test_plugin_type }}' in show_create_user.stdout" - "'{{ test_plugin_type }}' in show_create_user.stdout"
when: install_type == 'mysql' or (install_type == 'mariadb' and mariadb_version is version('10.3', '>=')) when: db_engine == 'mysql' or (db_engine == 'mariadb' and mariadb_version is version('10.3', '>='))
- include: assert_user.yml user_name={{ test_user_name }} priv={{ test_default_priv_type }} - include: assert_user.yml user_name={{ test_user_name }} priv={{ test_default_priv_type }}
@ -412,7 +412,7 @@
assert: assert:
that: that:
- "'sha256_password' in show_create_user.stdout" - "'sha256_password' in show_create_user.stdout"
when: install_type == 'mysql' or (install_type == 'mariadb' and mariadb_version is version('10.3', '>=')) when: db_engine == 'mysql' or (db_engine == 'mariadb' and mariadb_version is version('10.3', '>='))
- include: assert_user.yml user_name={{ test_user_name }} priv={{ test_default_priv_type }} - include: assert_user.yml user_name={{ test_user_name }} priv={{ test_default_priv_type }}

View file

@ -356,8 +356,8 @@
- include: assert_var.yml changed=true output={{ result }} var_name={{ set_name }} var_value='{{ def_val }}' - include: assert_var.yml changed=true output={{ result }} var_name={{ set_name }} var_value='{{ def_val }}'
when: when:
- mysql_version is version('8.0', '>=') - db_engine == 'mysql'
- install_type == 'mysql' - db_version is version('8.0', '>=')
# Bugfix of https://github.com/ansible/ansible/issues/54239 # Bugfix of https://github.com/ansible/ansible/issues/54239
# - name: set variable containing dot # - name: set variable containing dot

View file

@ -39,7 +39,7 @@
- assert: - assert:
that: that:
- result is not changed - result is not changed
- "mysql_version in result.version.full or mariadb_version in result.version.full" - db_version in result.version.full
- result.settings != {} - result.settings != {}
- result.global_status != {} - result.global_status != {}
- result.databases != {} - result.databases != {}