WhoAmI
WhoAmI

Reputation: 1133

Ansible debug variables as a list

I'm trying to list the available security patches as a list, but only get the names for example:

name: python_patch33.21
name: java21.21.2

However when I get run the results I get:

16:10:47 [0;32m{'results': [{'envra': '0:kernel-3.10.0-1160.80.1.el7.x86_64', 'name': 'kernel', 'repo': 'rhui-rhel-7-server-rhui-rpms', 'epoch': '0', 'version': '3.10.0', 'release': '1160.80.1.el7', 'yumstate': 'available', 'arch': 'x86_64'}, {'envra': '0:python-perf-3.10.0-1160.80.1.el7.x86_64', 'name': 'python-perf', 'repo': 'rhui-rhel-7-server-rhui-rpms', 'epoch': '0', 'version': '3.10.0', 'release': '1160.80.1.el7', 'yumstate': 'available', 'arch': 'x86_64'}, {'envra': '0:tzdata-2022f-1.el7.noarch', 'name': 'tzdata', 'repo': 'rhui-rhel-7-server-rhui-rpms', 'epoch': '0', 'version': '2022f', 'release': '1.el7', 'yumstate': 'available', 'arch': 'noarch'}], 'failed': False, 'changed': False}[0m

This is my Ansible task

    - yum:
        list: updates
        update_cache: true
        exclude: kernel*
        security: true
      register: yumoutput
    
    - name: Show result
      debug:
        msg: "{{ yumoutput.results }}"

Upvotes: 0

Views: 173

Answers (1)

Vladimir Botka
Vladimir Botka

Reputation: 68189

Q: "List the available security patches."

A: Set list: sec. For example in CentOS 8

    - yum:
        list: sec
        update_cache: true
      register: out

gives

  out:
    ansible_facts:
      pkg_mgr: dnf
    changed: false
    failed: false
    msg: ''
    results:
    - arch: noarch
      envra: 0:sec-2.9.1-1.el8.noarch
      epoch: '0'
      name: sec
      nevra: 0:sec-2.9.1-1.el8.noarch
      release: 1.el8
      repo: epel
      version: 2.9.1
      yumstate: available

Notes:

  • The option list sec is not explicitly documented in Ansible yum

  • Example of a complete playbook for testing

- hosts: test_24

  tasks:

    - yum:
        list: sec
        update_cache: true
      register: out
    - debug:
        var: out
PLAY [test_24] *******************************************************************************

TASK [yum] ***********************************************************************************
ok: [test_24]

TASK [debug] *********************************************************************************
ok: [test_24] => 
  out:
    ansible_facts:
      pkg_mgr: dnf
    changed: false
    failed: false
    msg: ''
    results:
    - arch: noarch
      envra: 0:sec-2.9.1-1.el8.noarch
      epoch: '0'
      name: sec
      nevra: 0:sec-2.9.1-1.el8.noarch
      release: 1.el8
      repo: epel
      version: 2.9.1
      yumstate: available

PLAY RECAP ***********************************************************************************
test_24: ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

Upvotes: 0

Related Questions