Ansible. Чем отличаются raw/command/shell?

Не могли бы на пальцах разъяснить разницу raw/command/shell и в каких случаях лучше применять?
  • Вопрос задан
  • 14728 просмотров
Решения вопроса 1
@protven
Самое главное (на мой взгляд) отличие модуля raw от command и shell, это то, что raw не требует python на серверах. Ну кроме разумеется сервера, с которого вы плейбуки запускаете. Я с помощью как раз raw решал проблему установки python 2.7 на Solaris. Собсно проблема "бутстраппинга" - как с помощью приклада, которому нужен питон, установить питон xD
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@dormin
raw отличается от command и shell тем, что не выполняет дополнительную обработку выполнения команды. Эти дополнительные обработки присутствуют в почти любом модуле Ansible. Модуль raw передает команду, как есть в "сыром" виде без проверок.
Модули command и shell отличаются тем, что в модуле command команда выполняется без прохождения через оболочку /bin/sh. Поэтому переменные определенные в оболочке и перенаправления-конвееры работать не будут. Модуль shell выполняет команды через оболочку по умолчанию /bin/sh. Поэтому там будут доступны переменные оболочки и перенаправления.
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
command хватает для всего
Ответ написан
plin2s
@plin2s
IT, инженер
bash модуля в документации нет и я ни разу не видел его использования.
Все остальные описания можно прочитать на офф сайте
docs.ansible.com/ansible/command_module.html
docs.ansible.com/ansible/shell_module.html
docs.ansible.com/ansible/raw_module.html
Ответ написан
Ar0x13
@Ar0x13
command если не ошибаюсь не понимает pipe ( | ) , потому когда нужно использовать его = используется shell. Насчет raw не подскажу.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы