сейчас сел в лужу изза того, что одинаковые айпи назначил на две разные машины )
Да, нужно использовать фильтры ipaddr + unique к значениям из переменных
А погодь, не так вопрос понял, типа в inventory файле у тебя находятся один IP в разных группах или как?
awk/grep )))
Мне кажется у него что-то глубже, чем может решиться проблема этим полезным набором
найти повторяющиеся ИП можно
в инвентори один и тот же айпи назначил на две машины через ansible_host
ну назначил и назначил, чего в этом страшного?
был сервер ololo1 c айпи 172.19.18.17 добавил сервер koko2 c айпи 172.19.18.17 раскатил роль c указанием, что роль надо катить на koko2 по факту роль раскатилась на сервер ololo1 ничего критичного на этот раз конечно не произошло, но это может быть неприятным в других сценариях
так это валидная тема)
ну ты можешь хотеть того, для разных целей - ничего не верного тут нет
awk -F ":" '/ansible_host/ { a[$2]++ } END { for (n in a) print a[n], n | "sort -n"}' hosts.yml
согласен ) но в моем случае это может быть критично в ряде сценариев
я что-то не понял, прописали один и тот же сервер и удивляемся, что применилось?
Что это за бабуйня?
не удивляюсь ни разу )) это моя ошибка, не внимательность думаю о том, как избежать в последствии такого фейла
Составлять инвентарь на основе какого-то уже валидного источника данных. Вытаскивать из днс, cmdb и тп
у нас инветарь - point of truth ))
покажет, сколько раз в инвентори встречается каждый ИП
правда что ли? а чо тогда такой вопрос? )
Ну это мы так решили внутри команды )) Но вот нашлась такая досадная история с невнимательностью, которая показала, что нужно как то по другому думать и действовать
мне кажется что sort | uniq -d гораздо проще этого...
Я пре-таск добавляю с fail: msg: "nooooo", when inventory_hostname != ansible_hostname в таких случаях, гемор в инвентори, но от таких ошибок спасает.
Обсуждают сегодня