Я довольно новичок в ansible и совершенно новый участник stackoverflow. Я пытаюсь создать playbook, который будет искать неиспользуемые диски (может быть SAN, Solidfire или localdisk).отфильтруйте их в соответствии с переменной размера и создайте группу томов из тех дисков, которые попадают под критерии.Например, сервер имеет 2 диска 50 ГБ и 2 диска 100 ГБ.Я хочу, чтобы, даже если пользователь вводит размер 51 ГБ или 49 ГБ, в программе воспроизведения должна учитываться допустимая погрешность + -5 ГБ.Я застрял в том, как фильтровать неиспользуемые диски по размеру с ошибкой + - 5 Гб.Я могу искать неиспользуемые диски по
установленному факту: Диски: "{{ansible_local.unused_disks}}"
это дает список неиспользуемых дисков.Но как я могу отфильтровать этот список по конкретному размеру с полем ошибки, описанным выше?
EDIT ::: Да, вы правы.ansible_local.unused_disks не существует.На сервере я проверил, прежде чем он был размещен с использованием пользовательских фактов.Что не будет иметь место на каждом сервере.Поэтому мне нужно будет найти другой способ поиска дисков.Я проверил с другим SA и получил этот код.
- name: Discover Disks
set_fact:
disks: "['/dev/{{item.key}}']"
when:
- not item.value.partitions
- not item.value.holder
- not item.value.links.ids
- item.key | search ("sd")
with_dict: "{{ ansible_devices }}"
Но он дает мне вывод, который показывает только первое найденное неиспользуемое устройство вместо всех неиспользуемых устройств в списке.Поэтому мне тоже понадобится помощь.