Теги в ансибле

March 6, 2017

Когда в ансибл настраиваешь бокс и запускаешь ansible-playbook the-server.yml раз за разам, то обычно хочется запускать только какой-то кусочек файла, я знаю два способа: колхозный и красивый.

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

Красивый - на нужные констукции повесить тег, например так:

- {role: manage_user, user: root, keys: "{admin_users}", tags: [keys] }

и вызывать ansible-playbook the-server.yml --tags keys.

Во время разработки я обычно использую колхозный способ (все мои дедушки, бабушки и пра- из крестьян), а вот, например, в новых репозитариях команда ansible-playbook *.yml --tags keys как раз обновляет все ключи на всех серверах, если нужно дать доступ коллеге или наоборот забрать. В принципе возможна ситуация, когда в одной подсети может быть разный доступ к разным серверам и данное решение DRY.

comments powered by Disqus