Ansible - 创建未使用的磁盘列表

问题描述 投票:0回答:2

我试图从收集事实创建一个未使用的磁盘列表

-

           key | search ("sd")

     with_dict: "{{ ansible_devices }}"

但它只显示一个磁盘,就像服务器有两个未使用的磁盘sdb和sdc一样,它只显示sdb。如何修改我的代码以包含所有未使用的磁盘。

ansible
2个回答
0
投票

你拥有它的方式,set_fact等于迭代中的“当前”项,这可能就是你在最终结果中只看到1个磁盘的原因。您需要将disks设置为元素列表,并将当前item.key附加到该列表中。你可以使用这个语法:

set_fact:
   disks: "{{ disks|default([]) + ['/dev/{{item.key}}'] }}"

要了解你在with_dict子句的循环中有多少结果,你可以尝试一个debug任务:

- name: Print disk result

     debug:
        msg: "/dev/{{item.key}}"

     when:
     - not item.value.partitions
     - not item.value.holders
     - not item.value.links.ids
     - item.key | search ("sd")

     with_dict: "{{ ansible_devices }}"

(缩进可能需要修复,我只是从你的代码中复制)

希望能帮助到你


0
投票

码 - -

 when:

 with_dict: "{{ ansible_devices }}"
© www.soinside.com 2019 - 2024. All rights reserved.