Ansible найти имя тома диска

Я пытаюсь написать playbook для форматирования определенного тома, но не могу понять, как выбрать правильный диск

вот над чем я работаю

---
- hosts: all
  gather_facts: no
  remote_user: root
  tasks:
  - name: create file system on storage lun
    filesystem: fstype=xfs  dev=/dev/mapper/mpath* 

Я пытаюсь сопоставить любой символ после mpath, но * не работает.


person Deano    schedule 28.02.2016    source источник


Ответы (1)


Подстановочные знаки не будут работать там. Вам нужно получить эту информацию в дополнительном задании или, как вариант, из модуля настройки.

Пример:

- command: ls /dev/mapper/mpath*
  register: mapper
- filesystem: fstype=xfs dev="{{ mapper.stdout_lines[0] }}"

Не проверял вышеизложенное, но это общая идея.

person Wtower    schedule 28.02.2016
comment
Для кого это касается, это очень неприятное и непрофессиональное поведение - отрицать полностью рабочий принятый ответ без каких-либо объяснений. - person Wtower; 28.02.2016
comment
Тогда вот ваше объяснение. Ни рабочее решение, ни принятое не делают его хорошим ответом как таковым. Это решение требует дополнительной задачи, которая в этом случае удваивает время выполнения. Поскольку есть способ сделать это ровно в одной задаче, это может быть рабочим решением, но не лучшим. Голоса существуют, чтобы отразить это. - person udondan; 29.02.2016
comment
@udondan Вы дали неверный ответ, тогда как мой работает, возможно, это важнее. Снижение производительности для дополнительной задачи не обязательно удваивается, но даже в этом случае предельная производительность для дополнительной задачи в сценарии, возможно, с сотнями задач, не всегда является проблемой в devops. Не говоря уже о том, что мое предложение позволяет детализировать выбор конкретного картографа в случае нескольких существующих. Я нахожу ваше поведение неспортивным и небрежным. - person Wtower; 29.02.2016
comment
Ты заслуживаешь моих искренних извинений. Вы совершенно правы, мой ответ ниже неверен. Мое намерение не состояло в том, чтобы понизить ваш ответ по сравнению с моим. Я хотел проголосовать за лучший ответ. Поскольку вы не можете голосовать за свой ответ, я проголосовал за ваш. Если бы другой ответ не был моим собственным, я бы просто проголосовал за него, поскольку в то время я считал, что это лучше. Опять моя беда. К сожалению, я не могу изменить свой голос. - person udondan; 29.02.2016
comment
@udondan Извинения приняты, с благодарностью. Я хотел бы с уважением отметить, что голосование за лучшее или против любого другого — это не два взаимоисключающих события. Со страницы справки: используйте свои отрицательные голоса всякий раз, когда вы сталкиваетесь с вопиюще небрежным, не затраченным усилий сообщением или ответом, который явно и, возможно, опасно неверен. В любом случае, еще раз спасибо, и для справки будущим читателям, приведенные выше комментарии относятся к github.com/ansible/ доступный/вопросы/10115 - person Wtower; 29.02.2016