397febd343
* YUM4/DNF compatibility via yum action plugin DNF does not natively support allow_downgrade as an option, instead that is always the default (not configurable by the administrator) so it had to be implemented - Fixed group actions in check mode to report correct changed state - Better error handling for depsolve and transaction errors in DNF - Fixed group action idempotent transactions - Add use_backend to yum module/action plugin - Fix dnf handling of autoremove (didn't used to work nor had a default value specified, now does work and matches default behavior of yum) - Enable installroot tests for yum4(dnf) integration testing, dnf backend now supports that - Switch from zip to bc for certain package install/remove test cases in yum integration tests. The dnf depsolver downgrades python when you uninstall zip which alters the test environment and we have no control over that. - Add changelog fragment - Return a pkg_mgr fact if it was not previously set.
71 lines
2.7 KiB
YAML
71 lines
2.7 KiB
YAML
# test code for the yum module
|
|
# (c) 2014, James Tanner <tanner.jc@gmail.com>
|
|
|
|
# This file is part of Ansible
|
|
#
|
|
# Ansible is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# Ansible is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
# 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.
|
|
|
|
- block:
|
|
- include: 'yum.yml'
|
|
always:
|
|
- name: remove installed packages
|
|
yum:
|
|
name:
|
|
- bc
|
|
- sos
|
|
state: absent
|
|
|
|
# On CentOS 6 'yum groupremove "Development Tools"' fails when groupremove_leaf_only
|
|
# isn't enabled, that's why a package belonging to "Development Tools" (autoconf)
|
|
# is removed instead of the whole group.
|
|
- name: remove installed group
|
|
yum:
|
|
name: "@Development tools"
|
|
state: absent
|
|
when:
|
|
- (ansible_distribution in ['RedHat', 'CentOS', 'ScientificLinux'] and ansible_distribution_major_version|int > 6) or ansible_distribution in ['Fedora']
|
|
- name: remove a package from a group
|
|
yum:
|
|
name: 'autoconf'
|
|
state: absent
|
|
when:
|
|
- ansible_distribution in ['RedHat', 'CentOS', 'ScientificLinux'] and ansible_distribution_major_version|int <= 6
|
|
when:
|
|
- ansible_distribution in ['RedHat', 'CentOS', 'ScientificLinux', 'Fedora']
|
|
|
|
# DNF1 doesn't handle downgrade operations properly (Fedora < 26)
|
|
- block:
|
|
- include: 'repo.yml'
|
|
always:
|
|
- yum_repository:
|
|
name: "{{ item }}"
|
|
state: absent
|
|
with_items: "{{ repos }}"
|
|
- command: yum clean metadata
|
|
when:
|
|
- ansible_distribution in ['RedHat', 'CentOS', 'ScientificLinux', 'Fedora']
|
|
|
|
- include: 'yuminstallroot.yml'
|
|
when:
|
|
- ansible_distribution in ['RedHat', 'CentOS', 'ScientificLinux', 'Fedora']
|
|
|
|
# el6 has a broken yum group implementation, when you try to remove a group it goes through
|
|
# deps and ends up with trying to remove yum itself and the whole process fails
|
|
# so don't run the yum group remove tests there
|
|
- include: 'yum_group_remove.yml'
|
|
when:
|
|
- (ansible_distribution in ['RedHat', 'CentOS', 'ScientificLinux'] and ansible_distribution_major_version|int > 6) or ansible_distribution in ['Fedora']
|