# Змусила check mode казати правду на всій платформі, знайшовши шість зондів, які ухвалювали рішення за значенням, якого хост ніколи не давав, бо модуль command в Ansible звітує про успіх під --check, повністю пропускаючи саму команду.

вересень 2026

**Ситуація.** Пробний прогін проти робочої системи має бути безпечним способом дізнатися, що зробить зміна. У вересні 2026 року пробний прогін завалився на твердженні, яке просто хибно описувало хост, і порадив операторові встановити прапорець, що послабив би пісочницю безпеки. Пробний прогін не читав хоста. Він прочитав значення, якого хост ніколи не давав, і зробив із нього висновок.

**Завдання.** Кожен зонд, чий результат живить рішення, мав стати чесним у режимі перевірки, а ті, які такими стати не могли, мали сказати про це вголос, а не мовчати.

**Дія.** Причиною є властивість інструмента, яка задокументована і яку легко забути: модуль команд не виконується в режимі перевірки, і те, що він реєструє, не є порожнім результатом — це успіх із порожнім виводом. Будь‑яка умова, що читає той реєстр, отже, вирішує на підставі значення, яке ніколи не вимірювалося, і вирішує в той бік, куди випадково вказує її власна логіка. Обхід усіх зареєстрованих зондів виявив шість таких, і кожен брехав по‑своєму: один звітував, що наглядач приймає кожну директиву модуля, жодного разу того наглядача не спитавши, інший звітував, що робити нічого, на хості з вимкненим брандмауером. Кожному надано одну з двох форм. Зонд, що читає наперед наявний стан, якого прогін не торкався, позначено на виконання навіть у режимі перевірки. Зонд, який виконатися не може, пропускається, і повідомлення називає, що саме не було перевірено, — бо тиша в журналі прогону читається точнісінько як успіх.

**Результат.** Пробний прогін тепер або щось вимірює, або каже, що не виміряв, і жодне з цих двох не є тим третім варіантом, який він мав раніше. Загальне правило потрапило до посібника з розробки тією самою зміною: режим перевірки не має права брехати, а зонд, який не бачить, зобов'язаний оголосити свою сліпоту, а не виводити з неї вердикт.

---

- Роль: Інженер з автоматизації інфраструктури
- Категорії: [DevOps](https://platform.engineer.company/uk/categories/devops/), [Інфраструктура](https://platform.engineer.company/uk/categories/infrastructure/), [Автоматизація та CI/CD](https://platform.engineer.company/uk/categories/automation/), [Надійність і резервне копіювання](https://platform.engineer.company/uk/categories/reliability/), [Linux та сервери](https://platform.engineer.company/uk/categories/linux/), [Тестування та QA](https://platform.engineer.company/uk/categories/testing/)
- Послуги: [Infrastructure as Code](https://platform.engineer.company/uk/services/infrastructure-as-code/), [DevOps та автоматизація CI/CD](https://platform.engineer.company/uk/services/devops-cicd/), [Надійність та моніторинг (SRE)](https://platform.engineer.company/uk/services/site-reliability/)

<https://platform.engineer.company/uk/portfolio/made-ansible-check-mode-tell-the-truth-116/>
