Поддержка режима проверки в модуле
Сделайте безопасным пробный запуск собственного кода
«Поддержка режима проверки в модуле» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.
Что такое режим проверки
В режиме проверки пользователи запускают сценарий с параметром --check, чтобы предварительно просмотреть изменения. На узле ничего фактически не изменяется.
ansible-playbook site.yml --checkМодуль должен явно поддерживать этот режим
Режим проверки не включается автоматически. Объявите его поддержку, чтобы Ansible знал: Ваш модуль обещает не вносить изменений в этом режиме.
Объявите поддержку в AnsibleModule
Установите supports_check_mode=True при создании модуля. Этот флаг сообщает Ansible, что Ваш код учитывает запросы на пробный запуск.
module = AnsibleModule(
argument_spec=spec,
supports_check_mode=True)Читайте module.check_mode
Во время выполнения проверьте значение module.check_mode. Оно равно True, когда пользователь передал параметр --check, и по нему следует выбрать логику работы.
if module.check_mode:
module.exit_json(changed=True)Вычисляйте, но не применяйте
В режиме проверки по-прежнему нужно вычислить, требуется ли изменение. Просто остановитесь до того, как начнёте что-либо записывать в систему.
Сообщайте о предполагаемом изменении
Завершайте работу досрочно с правильным значением changed, чтобы предварительный просмотр был достоверным, даже если ничего не произошло.
if module.check_mode:
module.exit_json(changed=needs_change)Чтение всегда безопасно
Сбор текущего состояния в режиме проверки безопасен, поскольку чтение ничего не изменяет. Пропустить нужно только шаг записи.
Забывать об этом опасно
Если не поддержать режим проверки, модуль может всё равно изменить узел во время пробного запуска. Это нарушит ожидания пользователя.
Повторяйте логику обычного запуска
Определение изменений в режиме проверки должно в точности соответствовать обычному запуску. Неправильный предварительный просмотр хуже, чем полное отсутствие предварительного просмотра.
Проверяйте оба варианта
Запустите модуль с параметром --check и без него. Убедитесь, что пробный запуск сообщает то же значение changed, но не затрагивает систему.
Режим проверки укрепляет доверие
Модуль, поддерживающий режим проверки, позволяет командам безопасно просмотреть изменения перед применением. Именно такая проработанность отличает учебные модули от готовых к эксплуатации.
Быстрая проверка
Вспомните, что именно должен сделать модуль для поддержки режима проверки.
Итоги
Передайте supports_check_mode=True, используйте module.check_mode для выбора ветви, вычисляйте изменение, но пропускайте запись, и честно сообщайте значение changed. Теперь модуль безопасен для пробного запуска. 🔍
Часто задаваемые вопросы
Урок «Поддержка режима проверки в модуле» бесплатный?
Да — полный текст урока «Поддержка режима проверки в модуле» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.
Чему я научусь в уроке «Поддержка режима проверки в модуле»?
Сделайте безопасным пробный запуск собственного кода Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать DevOps Bootcamp?
Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Поддержка режима проверки в модуле»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке DevOps Bootcamp?
Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Когда создавать собственный модуль
- AnsibleModule и спецификация аргументов
- Возврат JSON и соблюдение changed
- Поддержка режима проверки в модуле