yum: fix 'package == version' syntax (#47744)
(cherry picked from commit 4b8f2c99d2
)
This commit is contained in:
parent
009a3b34bc
commit
44088ef64d
3 changed files with 35 additions and 1 deletions
2
changelogs/fragments/47689-yum-fix-version-syntax.yaml
Normal file
2
changelogs/fragments/47689-yum-fix-version-syntax.yaml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
bugfixes:
|
||||||
|
- yum - fix "package == version" syntax (https://github.com/ansible/ansible/pull/47744)
|
|
@ -94,7 +94,7 @@ class YumDnf(with_metaclass(ABCMeta, object)):
|
||||||
|
|
||||||
# Fail if someone passed a space separated string
|
# Fail if someone passed a space separated string
|
||||||
# https://github.com/ansible/ansible/issues/46301
|
# https://github.com/ansible/ansible/issues/46301
|
||||||
if any((' ' in name and '@' not in name for name in self.names)):
|
if any((' ' in name and '@' not in name and '==' not in name for name in self.names)):
|
||||||
module.fail_json(
|
module.fail_json(
|
||||||
msg='It appears that a space separated string of packages was passed in '
|
msg='It appears that a space separated string of packages was passed in '
|
||||||
'as an argument. To operate on several packages, pass a comma separated '
|
'as an argument. To operate on several packages, pass a comma separated '
|
||||||
|
|
|
@ -556,3 +556,35 @@
|
||||||
name: foo
|
name: foo
|
||||||
state: absent
|
state: absent
|
||||||
when: not (ansible_distribution == "Fedora" and ansible_distribution_major_version|int < 26)
|
when: not (ansible_distribution == "Fedora" and ansible_distribution_major_version|int < 26)
|
||||||
|
|
||||||
|
# https://github.com/ansible/ansible/issues/47689
|
||||||
|
- block:
|
||||||
|
- name: Install foo == 1.0
|
||||||
|
yum:
|
||||||
|
name: "foo == 1.0"
|
||||||
|
state: present
|
||||||
|
register: yum_result
|
||||||
|
|
||||||
|
- name: Check foo with rpm
|
||||||
|
shell: rpm -q foo
|
||||||
|
register: rpm_result
|
||||||
|
|
||||||
|
- name: Verify installation
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- "yum_result.changed"
|
||||||
|
- "rpm_result.stdout.startswith('foo-1.0-1')"
|
||||||
|
|
||||||
|
- name: Verify yum module outputs
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- "'msg' in yum_result"
|
||||||
|
- "'rc' in yum_result"
|
||||||
|
- "'results' in yum_result"
|
||||||
|
always:
|
||||||
|
- name: Clean up
|
||||||
|
yum:
|
||||||
|
name: foo
|
||||||
|
state: absent
|
||||||
|
|
||||||
|
when: ansible_pkg_mgr == 'yum'
|
||||||
|
|
Loading…
Reference in a new issue