diff --git a/test/integration/targets/setup_mysql8/defaults/main.yml b/test/integration/targets/setup_mysql8/defaults/main.yml index ec14bb29181..66b75a11eb1 100644 --- a/test/integration/targets/setup_mysql8/defaults/main.yml +++ b/test/integration/targets/setup_mysql8/defaults/main.yml @@ -1,10 +1,16 @@ -repo_link: https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm -repo_name: mysql-community +repo_link: https://repo.mysql.com/mysql80-community-release-el{{ ansible_facts.distribution_major_version }}.rpm my_cnf: /etc/my.cnf -mysql_packages: - - mysql-community-server + +mysql_data_dirs: + - /var/lib/mysql + - /usr/mysql + +mysql_support_packages: - MySQL-python +mysql_server_packages: + - mysql-community-server + mysql_cleanup_packages: - mysql-community-client - mysql-community-common @@ -12,3 +18,4 @@ mysql_cleanup_packages: - mysql-community-libs-compat - mysql-community-server - mysql80-community-release + - python3-PyMySQL diff --git a/test/integration/targets/setup_mysql8/handlers/main.yml b/test/integration/targets/setup_mysql8/handlers/main.yml index b3183dd7d94..6d30b5725c9 100644 --- a/test/integration/targets/setup_mysql8/handlers/main.yml +++ b/test/integration/targets/setup_mysql8/handlers/main.yml @@ -5,14 +5,19 @@ listen: cleanup mysql8 - name: remove repo - yum: - name: mysql80-community-release - state: absent + # yum: + # name: mysql80-community-release + # state: absent + # Work around for a bug in the dnf module. Use the module once that gets fixed. + # https://github.com/ansible/ansible/issues/64294 + command: "{{ ansible_facts.pkg_mgr}} -y erase mysql80-community-release" + args: + warn: no listen: cleanup mysql8 - name: remove mysql packages yum: - name: '{{ mysql_packages | union(mysql_cleanup_packages) }}' + name: '{{ mysql_support_packages | union(mysql_server_packages) | union(mysql_cleanup_packages) }}' state: absent listen: cleanup mysql8 diff --git a/test/integration/targets/setup_mysql8/tasks/setup_mysql8.yml b/test/integration/targets/setup_mysql8/tasks/setup_mysql8.yml index 2c747d7ca31..7f95301b413 100644 --- a/test/integration/targets/setup_mysql8/tasks/setup_mysql8.yml +++ b/test/integration/targets/setup_mysql8/tasks/setup_mysql8.yml @@ -6,9 +6,16 @@ name: '{{ repo_link }}' notify: cleanup mysql8 +# These packages come from AppStream in RHEL 8, so they need to be done in a separate task +- name: Install MySQL support packages + yum: + name: "{{ mysql_support_packages }}" + notify: cleanup mysql8 + - name: Install MySQL community server yum: - name: '{{ mysql_packages }}' + name: '{{ mysql_server_packages }}' + disablerepo: '{{ mysql_disablerepo | default(omit) }}' notify: cleanup mysql8 - name: Copy my.cnf diff --git a/test/integration/targets/setup_mysql8/vars/CentOS-8.yml b/test/integration/targets/setup_mysql8/vars/CentOS-8.yml new file mode 100644 index 00000000000..3d61bda742d --- /dev/null +++ b/test/integration/targets/setup_mysql8/vars/CentOS-8.yml @@ -0,0 +1,4 @@ +mysql_support_packages: + - python3-PyMySQL + +mysql_disablerepo: AppStream diff --git a/test/integration/targets/setup_mysql8/vars/RedHat-8.yml b/test/integration/targets/setup_mysql8/vars/RedHat-8.yml new file mode 100644 index 00000000000..f6366175855 --- /dev/null +++ b/test/integration/targets/setup_mysql8/vars/RedHat-8.yml @@ -0,0 +1,4 @@ +mysql_support_packages: + - python3-PyMySQL + +mysql_disablerepo: rhel-8-for-x86_64-appstream-rpms diff --git a/test/integration/targets/setup_mysql8/vars/RedHat.yml b/test/integration/targets/setup_mysql8/vars/RedHat.yml deleted file mode 100644 index 498e7771e4c..00000000000 --- a/test/integration/targets/setup_mysql8/vars/RedHat.yml +++ /dev/null @@ -1,3 +0,0 @@ -mysql_data_dirs: - - /var/lib/mysql - - /usr/mysql