summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Doran <sdoran@redhat.com>2019-07-03 11:11:20 -0400
committerToshio Kuratomi <a.badger@gmail.com>2019-07-17 15:37:12 -0700
commit9b1575cfeb439ee4c353335409e6b82386001493 (patch)
tree0c22489108d1366bc13ec9a590c143b85bb78fac
parent4e63b681f2fa392e5d0c621acd9a4f67970248f2 (diff)
downloadansible-9b1575cfeb439ee4c353335409e6b82386001493.tar.gz
[stable-2.7] Improve dnf test formatting and fix RHEL 8 module name (#58648)
- use single include_vars task rather than multiple set_fact tasks - use multi-line YAML to break up long conditionals - use version() test rather than direct comparisions - use different appstream package on RHEL since '@swig:3.0/default' is not working in the GA. (cherry picked from commit 16d6fcf5148e2a527f5c6e2603490a2e79500a91) Co-authored-by: Sam Doran <sdoran@redhat.com>
-rw-r--r--test/integration/targets/dnf/tasks/dnf.yml2
-rw-r--r--test/integration/targets/dnf/tasks/main.yml33
-rw-r--r--test/integration/targets/dnf/tasks/modularity.yml13
-rw-r--r--test/integration/targets/dnf/vars/Fedora.yml1
-rw-r--r--test/integration/targets/dnf/vars/RedHat.yml1
5 files changed, 22 insertions, 28 deletions
diff --git a/test/integration/targets/dnf/tasks/dnf.yml b/test/integration/targets/dnf/tasks/dnf.yml
index 990e0f1106..9c7c2efe5e 100644
--- a/test/integration/targets/dnf/tasks/dnf.yml
+++ b/test/integration/targets/dnf/tasks/dnf.yml
@@ -6,6 +6,8 @@
shell: rpm -q python2-dnf
register: rpm_result
ignore_errors: true
+ args:
+ warn: no
# Don't uninstall python2-dnf with the `dnf` module in case it needs to load
# some dnf python files after the package is uninstalled.
diff --git a/test/integration/targets/dnf/tasks/main.yml b/test/integration/targets/dnf/tasks/main.yml
index aba860fe5a..1135509f94 100644
--- a/test/integration/targets/dnf/tasks/main.yml
+++ b/test/integration/targets/dnf/tasks/main.yml
@@ -19,27 +19,24 @@
# Note: We install the yum package onto Fedora so that this will work on dnf systems
# We want to test that for people who don't want to upgrade their systems.
-- include: 'dnf.yml'
- when:
- - ansible_distribution == 'Fedora'
- - ansible_distribution_major_version|int >= 23
+- include_tasks: dnf.yml
+ when: (ansible_distribution == 'Fedora' and ansible_distribution_major_version is version('23', '>=')) or
+ (ansible_distribution == 'RedHat' and ansible_distribution_major_version is version('8', '>='))
-- include: 'repo.yml'
- when:
- - ansible_distribution == 'Fedora'
- - ansible_distribution_major_version|int >= 23
+- include_tasks: repo.yml
+ when: (ansible_distribution == 'Fedora' and ansible_distribution_major_version is version('23', '>=')) or
+ (ansible_distribution == 'RedHat' and ansible_distribution_major_version is version('8', '>='))
-- include: 'dnfinstallroot.yml'
- when:
- - ansible_distribution == 'Fedora'
- - ansible_distribution_major_version|int >= 23
+- include_tasks: dnfinstallroot.yml
+ when: (ansible_distribution == 'Fedora' and ansible_distribution_major_version is version('23', '>=')) or
+ (ansible_distribution == 'RedHat' and ansible_distribution_major_version is version('8', '>='))
-- include: 'dnfreleasever.yml'
+# Attempting to install a different RHEL release in a tmpdir doesn't work (rhel8 beta)
+- include_tasks: dnfreleasever.yml
when:
- ansible_distribution == 'Fedora'
- - ansible_distribution_major_version|int >= 23
+ - ansible_distribution_major_version is version('23', '>=')
-- import_tasks: 'modularity.yml'
- when:
- - ansible_distribution == 'Fedora' and ansible_distribution_major_version|int >= 29
- - ansible_distribution == 'RedHat' and ansible_distribution_major_version|int >= 8
+- include_tasks: modularity.yml
+ when: (ansible_distribution == 'Fedora' and ansible_distribution_major_version is version('29', '>=')) or
+ (ansible_distribution == 'RedHat' and ansible_distribution_major_version is version('8', '>='))
diff --git a/test/integration/targets/dnf/tasks/modularity.yml b/test/integration/targets/dnf/tasks/modularity.yml
index beaa0b9e5e..0c5520d241 100644
--- a/test/integration/targets/dnf/tasks/modularity.yml
+++ b/test/integration/targets/dnf/tasks/modularity.yml
@@ -1,13 +1,6 @@
# FUTURE - look at including AppStream support in our local repo
-- name: set package for RHEL
- set_fact:
- astream_name: '@swig:3.0/default'
- when: ansible_distribution == 'RedHat'
-
-- name: set package for Fedora
- set_fact:
- astream_name: '@ripgrep:master/default'
- when: ansible_distribution == 'Fedora'
+- name: Include distribution specific variables
+ include_vars: "{{ ansible_facts.distribution }}.yml"
- name: install "@postgresql:9.6/client" module
dnf:
@@ -48,7 +41,7 @@
- name: uninstall "@postgresql:9.6/client" module again
dnf:
name: "@postgresql:9.6/client"
- state: install
+ state: absent
register: dnf_result
- name: verify uninstallation of "@postgresql:9.6/client" module again
diff --git a/test/integration/targets/dnf/vars/Fedora.yml b/test/integration/targets/dnf/vars/Fedora.yml
new file mode 100644
index 0000000000..25a04e7456
--- /dev/null
+++ b/test/integration/targets/dnf/vars/Fedora.yml
@@ -0,0 +1 @@
+astream_name: '@ripgrep:master/default'
diff --git a/test/integration/targets/dnf/vars/RedHat.yml b/test/integration/targets/dnf/vars/RedHat.yml
new file mode 100644
index 0000000000..3285e76151
--- /dev/null
+++ b/test/integration/targets/dnf/vars/RedHat.yml
@@ -0,0 +1 @@
+astream_name: '@php:7.1/minimal'