touchstone
Touchstone
Ansible Galaxy включен ролевая задача, которая позволяет легко сделать наборы плейбуков, ролей или задач идемпотентными. Это критически важно для некоторых последовательностей. Например, если одна роль занимается разбиением, а другая — форматированием. Повторное применение этой последовательности в будущем может привести к потере данных.
Требования
Такие же, как у стандартного Ansible 2.3+
.
Переменные ролей
touch_touchstone
:
Когда установлено в true, отмечает конечное состояние или выполнение, обозначенное
stone_name
.
stone_name
:
Опционально, строка идентификации, используемая для отслеживания нескольких конечных состояний. Например, для нескольких плейбуков. По умолчанию
.touchstone
.
touchstone_filepath
:
Опционально, путь к директории, где будет проверяться или записываться touchstone. Должен быть постоянной и записываемой директорией для
ansible_user
, т.е. не временной директорией/tmp
. В этой директории будет создана/проверена блокировка, независимо от того, касается ли touchstone.
stone_touched
:
Логическое значение, устанавливаемое в процессе работы роли и отражающее текущее состояние touchstone. Когда
True
, это указывает на то, что камень был затронут хотя бы один раз в прошлом.
touchstone_template
:
Опционально, полный путь к шаблону jinja2, используемому для генерации содержимого файла touchstone.
Зависимости
Машина на базе systemd с уникальным /etc/machine-id.
Пример плейбука
- хосты: все
роли:
- роль: cevich.touchstone
- роль: что-то
когда: не stone_touched
- роль: еще_что-то
когда: не stone_touched
- роль: финальная_вещь
когда: не stone_touched
- роль: cevich.touchstone
touch_touchstone: True
Лицензия
Легко сделать наборы плейбуков, ролей или задач идемпотентными. Авторские права (C) 2017 Кристофер С. Эвич.
Эта программа является свободным программным обеспечением: вы можете распространять и/или изменять её на условиях GNU General Public License, публикуемой Фондом свободного программного обеспечения, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии.
Эта программа распространяется в надежде, что она будет полезной, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии товарного вида или пригодности для конкретной цели. См. GNU General Public License для получения дополнительных сведений.
Вы должны были получить копию GNU General Public License вместе с этой программой. Если нет, смотрите https://www.gnu.org/licenses/.
Информация об авторе
Создает проблемы и вызывает хаос с Linux с тех пор, как Windows 98.
Непрерывная интеграция
Easily make sets of plays, roles or tasks idempotent.
ansible-galaxy install cevich/touchstone