Чтение changed и ok в выводе
Понимайте, что именно сделал запуск.
«Чтение changed и ok в выводе» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.
Каждая задача сообщает статус
После каждой задачи Ansible выводит для каждого хоста статус. Чаще всего Вы увидите ok и changed — они рассказывают разные истории.
ok означает, что всё уже правильно
Статус ok означает, что хост уже соответствовал желаемому состоянию. Задача выполнила проверку, но совсем ничего не изменила.
ok: [web1]changed означает, что были внесены изменения
Статус changed означает, что хост не соответствовал нужному состоянию, поэтому модуль изменил что-то и привёл его к объявленному Вами состоянию.
changed: [web1]Жёлтый и зелёный
По умолчанию Ansible окрашивает вывод changed в жёлтый цвет, а вывод ok — в зелёный. Стена зелёного цвета при втором запуске — именно то, что Вам нужно.
Итоги PLAY RECAP
В конце PLAY RECAP подсчитывает результаты для каждого хоста: ok, changed, unreachable и failed. Это Ваша проверка состояния в одной строке.
web1 : ok=4 changed=1 unreachable=0 failed=0При втором запуске всё должно быть ok
Запустите идемпотентный плейбук дважды — во второй сводке должно быть указано changed=0. Любое изменение при повторном запуске стоит изучить.
web1 : ok=4 changed=0 unreachable=0 failed=0changed — это не ошибка
Статус changed означает успех, а не проблему. Он просто фиксирует, что хост требовал изменений и задача выполнила их правильно.
skipping означает, что условие не выполнено
Вы также можете увидеть skipping. Это означает, что условие when оказалось ложным, поэтому задача не выполнялась на этом хосте.
skipping: [db1]failed и unreachable
Статус failed означает, что задача завершилась с ошибкой; unreachable означает, что Ansible не смог даже подключиться по SSH. В обоих случаях выполнение плейбука для этого хоста прекращается.
Проверяйте идемпотентность с помощью changed
Количество changed — Ваш измеритель идемпотентности. Если повторный запуск снова и снова сообщает об изменениях, значит задача на самом деле не является идемпотентной.
Подробнее с помощью -v
Добавьте -v (или -vv) к ansible-playbook, чтобы получить подробный вывод: что именно изменила каждая задача и почему.
ansible-playbook site.yml -vБыстрая проверка
Вы запускаете тот же плейбук во второй раз, и в сводке указано ok=5 changed=0.
Повторение
Понимайте ok как «уже правильно», а changed — как «только что исправлено». PLAY RECAP и повторный запуск с changed=0 доказывают идемпотентность Вашего плейбука. ✅
Часто задаваемые вопросы
Урок «Чтение changed и ok в выводе» бесплатный?
Да — полный текст урока «Чтение changed и ok в выводе» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.
Чему я научусь в уроке «Чтение changed и ok в выводе»?
Понимайте, что именно сделал запуск. Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать DevOps Bootcamp?
Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Чтение changed и ok в выводе»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке DevOps Bootcamp?
Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Желаемое состояние вместо пошаговых скриптов
- Чтение changed и ok в выводе
- Почему command нарушает идемпотентность
- Режим проверки: пробный запуск с --check