diff --git a/lib/ansible/modules/dnf.py b/lib/ansible/modules/dnf.py index 48a6a7e67ec..bfdd5544b02 100644 --- a/lib/ansible/modules/dnf.py +++ b/lib/ansible/modules/dnf.py @@ -128,12 +128,14 @@ options: security: description: - If set to C(yes), and C(state=latest) then only installs updates that have been marked security related. + - Note that, similar to ``dnf upgrade-minimal``, this filter applies to dependencies as well. type: bool default: "no" version_added: "2.7" bugfix: description: - If set to C(yes), and C(state=latest) then only installs updates that have been marked bugfix related. + - Note that, similar to ``dnf upgrade-minimal``, this filter applies to dependencies as well. default: "no" type: bool version_added: "2.7" @@ -674,10 +676,10 @@ class DnfModule(YumDnf): filters = [] if self.bugfix: key = {'advisory_type__eq': 'bugfix'} - filters.append(base.sack.query().filter(**key)) + filters.append(base.sack.query().upgrades().filter(**key)) if self.security: key = {'advisory_type__eq': 'security'} - filters.append(base.sack.query().filter(**key)) + filters.append(base.sack.query().upgrades().filter(**key)) if filters: base._update_security_filters = filters diff --git a/test/integration/targets/dnf/tasks/filters_check_mode.yml b/test/integration/targets/dnf/tasks/filters_check_mode.yml index 2a30665b94f..024ac0662f8 100644 --- a/test/integration/targets/dnf/tasks/filters_check_mode.yml +++ b/test/integration/targets/dnf/tasks/filters_check_mode.yml @@ -20,7 +20,9 @@ - name: Ask for pending updates (check_mode) dnf: - name: '*' + name: + - toaster + - oven state: latest update_only: true disable_gpg_check: true @@ -38,7 +40,9 @@ - name: Ask for pending updates with security=true (check_mode) dnf: - name: '*' + name: + - toaster + - oven state: latest update_only: true disable_gpg_check: true @@ -57,7 +61,9 @@ - name: Ask for pending updates with bugfix=true (check_mode) dnf: - name: '*' + name: + - toaster + - oven state: latest update_only: true disable_gpg_check: true @@ -76,7 +82,9 @@ - name: Ask for pending updates with bugfix=true and security=true (check_mode) dnf: - name: '*' + name: + - toaster + - oven state: latest update_only: true disable_gpg_check: true