package_facts: check 'vital' and 'automated' values ('pkg' manager) (#62766)
This commit is contained in:
parent
7d344d00ef
commit
278398555d
4 changed files with 44 additions and 3 deletions
|
@ -0,0 +1,2 @@
|
|||
bugfixes:
|
||||
- "package_facts - fix value of ``vital`` attribute which is returned when ``pkg`` manager is used"
|
|
@ -241,7 +241,7 @@ class PKG(CLIMgr):
|
|||
pass
|
||||
|
||||
if 'automatic' in pkg:
|
||||
pkg['automatic'] = bool(pkg['automatic'])
|
||||
pkg['automatic'] = bool(int(pkg['automatic']))
|
||||
|
||||
if 'category' in pkg:
|
||||
pkg['category'] = pkg['category'].split('/', 1)[0]
|
||||
|
@ -258,7 +258,7 @@ class PKG(CLIMgr):
|
|||
pkg['revision'] = '0'
|
||||
|
||||
if 'vital' in pkg:
|
||||
pkg['vital'] = bool(pkg['vital'])
|
||||
pkg['vital'] = bool(int(pkg['vital']))
|
||||
|
||||
return pkg
|
||||
|
||||
|
|
|
@ -1,3 +1,2 @@
|
|||
shippable/posix/group3
|
||||
skip/freebsd
|
||||
skip/osx
|
||||
|
|
|
@ -73,3 +73,43 @@
|
|||
- name: check for ansible_facts.packages exists
|
||||
assert:
|
||||
that: ansible_facts.packages is defined
|
||||
|
||||
- name: Run package_fact tests - FreeBSD
|
||||
block:
|
||||
- name: Gather package facts
|
||||
package_facts:
|
||||
manager: pkg
|
||||
|
||||
- name: check for ansible_facts.packages exists
|
||||
assert:
|
||||
that: ansible_facts.packages is defined
|
||||
|
||||
- name: check there is at least one package not flagged vital nor automatic
|
||||
command: pkg query -e "%a = 0 && %V = 0" %n
|
||||
register: not_vital_nor_automatic
|
||||
failed_when: not not_vital_nor_automatic.stdout
|
||||
|
||||
- vars:
|
||||
pkg_name: "{{ not_vital_nor_automatic.stdout_lines[0].strip() }}"
|
||||
block:
|
||||
- name: check the selected package is not vital
|
||||
assert:
|
||||
that:
|
||||
- 'not ansible_facts.packages[pkg_name][0].vital'
|
||||
- 'not ansible_facts.packages[pkg_name][0].automatic'
|
||||
|
||||
- name: flag the selected package as vital and automatic
|
||||
command: 'pkg set --yes -v 1 -A 1 {{ pkg_name }}'
|
||||
|
||||
- name: Gather package facts (again)
|
||||
package_facts:
|
||||
|
||||
- name: check the selected package is flagged vital and automatic
|
||||
assert:
|
||||
that:
|
||||
- 'ansible_facts.packages[pkg_name][0].vital|bool'
|
||||
- 'ansible_facts.packages[pkg_name][0].automatic|bool'
|
||||
always:
|
||||
- name: restore previous flags for the selected package
|
||||
command: 'pkg set --yes -v 0 -A 0 {{ pkg_name }}'
|
||||
when: ansible_os_family == "FreeBSD"
|
||||
|
|
Loading…
Reference in a new issue