Я подумал, что немного расширю свой комментарий.
В зависимости от того, что вы пытаетесь выполнить sh, есть несколько вариантов, которые вы могли бы рассмотреть.
Использование ansible -pull
Cli ansible-pull
выбирает репозиторий git
с удаленного сервера и затем локально выполняет ansible-playbook playbook.yml
на верхнем уровне этого репозитория.
Это означает, что вы может добавить что-то подобное в ваш сценарий Kickstart %post
:
ansible-pull -U https://server.example.com/playbooks/client-configuration
Это отличное решение, если вашей пьесе требуется только запуск задач на клиенте.
Запуск книги воспроизведения на server
Если ваша playbook действительно должна выполняться на сервере, вы можете настроить простой веб-сервер, который позволит клиентам запускать playbook. В этом случае вы должны встроить команду curl
или аналогичную в ваш сценарий Kickstart %post
:
curl https://my.server.com/trigger-playbook
Служба trigger-playbook
позаботится о запуске прогона playbook, ориентированного на соответствующего клиента. Для этого вам потребуется самостоятельно внедрить службу (или использовать что-то вроде webhook для выполнения этой задачи за вас).