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
|
pass
|
||||||
|
|
||||||
if 'automatic' in pkg:
|
if 'automatic' in pkg:
|
||||||
pkg['automatic'] = bool(pkg['automatic'])
|
pkg['automatic'] = bool(int(pkg['automatic']))
|
||||||
|
|
||||||
if 'category' in pkg:
|
if 'category' in pkg:
|
||||||
pkg['category'] = pkg['category'].split('/', 1)[0]
|
pkg['category'] = pkg['category'].split('/', 1)[0]
|
||||||
|
@ -258,7 +258,7 @@ class PKG(CLIMgr):
|
||||||
pkg['revision'] = '0'
|
pkg['revision'] = '0'
|
||||||
|
|
||||||
if 'vital' in pkg:
|
if 'vital' in pkg:
|
||||||
pkg['vital'] = bool(pkg['vital'])
|
pkg['vital'] = bool(int(pkg['vital']))
|
||||||
|
|
||||||
return pkg
|
return pkg
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,2 @@
|
||||||
shippable/posix/group3
|
shippable/posix/group3
|
||||||
skip/freebsd
|
|
||||||
skip/osx
|
skip/osx
|
||||||
|
|
|
@ -73,3 +73,43 @@
|
||||||
- name: check for ansible_facts.packages exists
|
- name: check for ansible_facts.packages exists
|
||||||
assert:
|
assert:
|
||||||
that: ansible_facts.packages is defined
|
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