我想要获取多个磁盘的磁盘大小并将它们相加,以检查它们的大小总和是否大于最小要求。
我们将使用 LVM 创建挂载点,我们需要能够使用单个磁盘或多个磁盘。
我能够使用 ansible 事实( ansible_devices.items.sectors|int * ansible_devices.items.sectorsize|int)使用 with_items 获取单个磁盘大小
我想把所有这些加起来。我该怎么做
答案1
有map
和sum
过滤器在金贾:
- set_fact:
disk_size: "{{ (item.value.sectors | int) * (item.value.sectorsize | int) }}"
with_dict: "{{ ansible_devices }}"
register: disk_sizes
- debug: msg="{{ disk_sizes.results | map(attribute='ansible_facts.disk_size') | map('int') | sum(start=0) }}"