Я хочу получить размеры нескольких дисков и просуммировать их, чтобы проверить, превышает ли их сумма размеров минимально необходимый.
Мы собираемся использовать LVM для создания точек монтирования, нам нужно иметь возможность использовать один диск или несколько дисков.
Я могу получить отдельные размеры дисков, используя доступные факты (ansible_devices.items.sectors | int * ansible_devices.items.sectorsize | int), используя with_items
Я хочу все это подвести. Как я это сделал
Есть 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) }}"