26 lines
1.7 KiB
Markdown
26 lines
1.7 KiB
Markdown
# Точечные фиксы идемпотентности и баг имени play
|
||
|
||
**Приоритет:** средний
|
||
|
||
Быстрые пойнтовые правки без структурных изменений:
|
||
|
||
- **`playbook-wanderer.yml:2`** — play назван `"Configure gramps application"`
|
||
при `app_name: "wanderer"` (копипаст из gramps). Поправить имя. _(баг)_
|
||
- **`playbook-netdata.yml:118-125`** — `changed_when: ...rc != 0` для read-only
|
||
запроса лишён смысла; должно быть `changed_when: false`. Лучше заменить
|
||
`shell: grep docker /etc/group` на модуль `ansible.builtin.getent` — уйдёт
|
||
`pipefail` и хрупкий парсинг.
|
||
- **`playbook-eget.yml:23-78`** — восемь `command` с `changed_when: false`, хотя
|
||
реально ставят/обновляют бинарники: прогон всегда «ok», теряется честность
|
||
`--diff`. Ставить через роль `eget` (она корректно проверяет версию) или через
|
||
проверку версии.
|
||
- **`playbook-memos.yml:57-67`** и аналоги — сборка `backup-targets` через
|
||
`lineinfile` в цикле не удаляет устаревшие строки при изменении списка; `mode:
|
||
"0750"` на файле-списке выглядит как copy-paste. Чище — `template`/`copy:
|
||
content` со всем списком.
|
||
|
||
Контекст: [docs/drafts/ansible-review.md](../drafts/ansible-review.md) §4, §7.
|
||
|
||
Связано: playbook-wanderer.yml, playbook-netdata.yml, playbook-eget.yml,
|
||
playbook-memos.yml, roles/eget.
|