You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ansible/test/integration/targets/dnf/tasks/filters.yml

163 lines
5.1 KiB
YAML

# We have a test repo set up with a valid updateinfo.xml which is referenced
# from its repomd.xml.
- block:
- set_fact:
updateinfo_repo: https://ci-files.testing.ansible.com/test/integration/targets/setup_rpm_repo/repo-with-updateinfo
- name: Install the test repo
yum_repository:
name: test-repo-with-updateinfo
description: test-repo-with-updateinfo
baseurl: "{{ updateinfo_repo }}"
gpgcheck: no
- name: Install old versions of toaster and oven
dnf:
name:
- "{{ updateinfo_repo }}/toaster-1.2.3.4-1.el8.noarch.rpm"
- "{{ updateinfo_repo }}/oven-1.2.3.4-1.el8.noarch.rpm"
disable_gpg_check: true
- name: Ask for pending updates
dnf:
name: '*'
state: latest
update_only: true
disable_gpg_check: true
disablerepo: '*'
enablerepo: test-repo-with-updateinfo
register: update_no_filter
- assert:
that:
- update_no_filter is changed
- '"Installed: toaster-1.2.3.5-1.el8.noarch" in update_no_filter.results'
- '"Installed: oven-1.2.3.5-1.el8.noarch" in update_no_filter.results'
- '"Removed: toaster-1.2.3.4-1.el8.noarch" in update_no_filter.results'
- '"Removed: oven-1.2.3.4-1.el8.noarch" in update_no_filter.results'
- name: Install old versions of toaster and oven
dnf:
name:
- "{{ updateinfo_repo }}/toaster-1.2.3.4-1.el8.noarch.rpm"
- "{{ updateinfo_repo }}/oven-1.2.3.4-1.el8.noarch.rpm"
allow_downgrade: true
disable_gpg_check: true
- name: Ask for pending updates with security=true
dnf:
name: '*'
state: latest
update_only: true
disable_gpg_check: true
security: true
disablerepo: '*'
enablerepo: test-repo-with-updateinfo
register: update_security
- assert:
that:
- update_security is changed
- '"Installed: toaster-1.2.3.5-1.el8.noarch" in update_security.results'
- '"Removed: toaster-1.2.3.4-1.el8.noarch" in update_security.results'
- '"Installed: oven-1.2.3.5-1.el8.noarch" not in update_security.results'
- '"Removed: oven-1.2.3.4-1.el8.noarch" not in update_security.results'
- name: Install old versions of toaster and oven
dnf:
name:
- "{{ updateinfo_repo }}/toaster-1.2.3.4-1.el8.noarch.rpm"
- "{{ updateinfo_repo }}/oven-1.2.3.4-1.el8.noarch.rpm"
allow_downgrade: true
disable_gpg_check: true
- name: Ask for pending updates with bugfix=true
dnf:
name: '*'
state: latest
update_only: true
disable_gpg_check: true
bugfix: true
disablerepo: '*'
enablerepo: test-repo-with-updateinfo
register: update_bugfix
- assert:
that:
- update_bugfix is changed
- '"Installed: toaster-1.2.3.5-1.el8.noarch" not in update_bugfix.results'
- '"Removed: toaster-1.2.3.4-1.el8.noarch" not in update_bugfix.results'
- '"Installed: oven-1.2.3.5-1.el8.noarch" in update_bugfix.results'
- '"Removed: oven-1.2.3.4-1.el8.noarch" in update_bugfix.results'
- name: Install old versions of toaster and oven
dnf:
name:
- "{{ updateinfo_repo }}/toaster-1.2.3.4-1.el8.noarch.rpm"
- "{{ updateinfo_repo }}/oven-1.2.3.4-1.el8.noarch.rpm"
allow_downgrade: true
disable_gpg_check: true
- name: Verify toaster is not upgraded with state=installed
dnf:
name: "{{ item }}"
state: installed
register: installed
loop:
- toaster
- toaster.noarch
- toaster-1.2.3.4-1.el8.noarch
- assert:
that: "installed.results | map(attribute='changed') is not any"
- name: Ask for pending updates with bugfix=true and security=true
dnf:
name: '*'
state: latest
update_only: true
disable_gpg_check: true
bugfix: true
security: true
disablerepo: '*'
enablerepo: test-repo-with-updateinfo
register: update_bugfix
- assert:
that:
- update_bugfix is changed
- '"Installed: toaster-1.2.3.5-1.el8.noarch" in update_bugfix.results'
- '"Removed: toaster-1.2.3.4-1.el8.noarch" in update_bugfix.results'
- '"Installed: oven-1.2.3.5-1.el8.noarch" in update_bugfix.results'
- '"Removed: oven-1.2.3.4-1.el8.noarch" in update_bugfix.results'
- name: Install old version of toaster again
dnf:
name: "{{ updateinfo_repo }}/toaster-1.2.3.4-1.el8.noarch.rpm"
allow_downgrade: true
disable_gpg_check: true
- name: Verify toaster is upgraded with state=latest
dnf:
name: toaster.noarch
state: latest
register: result
- assert:
that: result.changed
always:
- name: Remove installed packages
dnf:
name:
- toaster
- oven
state: absent
- name: Remove the repo
yum_repository:
name: test-repo-with-updateinfo
state: absent
tags:
- filters