New Module: package_facts (#33195)

* new package_facts module

Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>

* remove package_facts pkg manager aliases, they are misleading

Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>

* fix package_facts tests now that aliases are dropped

Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>
This commit is contained in:
Adam Miller
2017-12-14 12:47:47 -06:00
committed by Brian Coca
parent d1cf9cfeb6
commit 6cb388a98a
3 changed files with 315 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
posix/ci/group3
skip/freebsd
skip/osx

View File

@@ -0,0 +1,75 @@
# Test playbook for the package_facts module
# (c) 2017, Adam Miller <admiller@redhat.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/>.
- name: Prep package_fact tests - Debian Family
block:
- name: install python apt bindings - python2
package: name="python-apt" state=installed
when: ansible_python.version.major|int == 2
- name: install python apt bindings - python3
package: name="python3-apt" state=installed
when: ansible_python.version.major|int == 3
- name: Gather package facts
package_facts:
manager: apt
- name: check for ansible_facts.packages exists
assert:
that: ansible_facts.packages is defined
when: ansible_os_family == "Debian"
- name: Run package_fact tests - Red Hat Family
block:
- name: Gather package facts
package_facts:
manager: rpm
- name: check for ansible_facts.packages exists
assert:
that: ansible_facts.packages is defined
when: (ansible_os_family == "RedHat")
- name: Run package_fact tests - SUSE/OpenSUSE Family
block:
- name: install python rpm bindings - python2
package: name="rpm-python" state=installed
when: ansible_python.version.major|int == 2
- name: install python rpm bindings - python3
package: name="python3-rpm" state=installed
when: ansible_python.version.major|int == 3
- name: Gather package facts
package_facts:
manager: rpm
- name: check for ansible_facts.packages exists
assert:
that: ansible_facts.packages is defined
when: (ansible_os_family == "openSUSE Leap") or (ansible_os_family == "Suse")
# Check that auto detection works also
- name: Gather package facts
package_facts:
manager: auto
- name: check for ansible_facts.packages exists
assert:
that: ansible_facts.packages is defined