Ansible 导出到 csv

Ansible 导出到 csv

我想要获取一个包含以下形式的新更新列表的 csv:

testvm-001.localdomain,ImageMagick-6.9.11.27-4.el7

testvm-001.localdomain,ImageMagick-libs-6.9.11.27-4.el7

我有一个可以显示更新列表的代码,但我不知道如何以正确的形式将其保存在 csv 中。

- hosts: test
  vars:
    my_packages: "{{ dict(packages.results|groupby('name')) }}"
  tasks:
    - name: Count new update
      shell: hostname
      register: hostname
    - dnf:
        list: updates
      register: packages
    - debug:
        msg: |
          {% for name,versions in my_packages.items() %}
          {% set max_ver=versions|map(attribute='version')|max %}
          {% set p=versions|selectattr('version', '==', max_ver) %}
          {{ hostname.stdout }},{{ name }}-{{ p.0.version }}-{{ p.0.release }}
          {% endfor %}

确定:[10.0.0.2] => { “msg”:“testvm-001.localdomain,ImageMagick-6.9.11.27-4.el7 \ntestvm-001.localdomain,ImageMagick-libs-6.9.11.27-4.el7 \ntestvm-001.localdomain,LibRaw-0.19.5-6.el7 \ntestvm-001.localdomain,NetworkManager-1.32.12-1.el7 \ntestvm-001.localdomain,NetworkManager-l2tp-1.20.0-1.el7 \ntestvm-001.localdomain,NetworkManager-l2tp-gnome-1.20.0-1.el7 \ntestvm-001.localdomain,NetworkManager-libnm-1.32.12-1.el7 \ntestvm-001.localdomain,网络管理器-libreswan-1.2.16-1.el7 ...

相关内容