Мне нужно сделать очень необычную вещь.
Необходимо сделать такой плейбук, который получит версию нестандартного Linux-дистрибутива из специализированного файла на каждом хосте. Чтобы узнать версию дистрибутива, в bash можно давать команду cat /etc/dist_version.
Плейбук должен проверить, совпадают ли версии на всех хостах. Если на всех хостах версии одинаковые, плейбук должен успешно завершиться. Если хоть одна версия не совпадает, плейбук должен завершиться ошибкой (через модуль fail).
Другими словами, в начале выполнения плейбука неизвестно, какие версии будут на хостах, и невозможно заранее сказать, с какой версией нужно сравнивать.
Результат высчитывается так:
host1 - v.1.25
host2 - v.1.25
host3 - v.1.25
True
host1 - v.1.29
host2 - v.1.29
host3 - v.1.29
True
host1 - v.1.29
host2 - v.1.25
host3 - v.1.29
False
host1 - v.1.25
host2 - v.1.29
host3 - v.1.25
False
Таким образом, надо каким-то макаром собрать нестандартный факт со всех хостов в одну переменную-список, ну а потом ее проверить, чтобы все элементы были одинаковыми.
Я не могу сообразить, как это можно сделать в Ansible?