У меня есть несколько списков RPM (по одному на конфигурацию) и набор удаленных машин. Каждый список включает все оборотов в минуту, необходимых для запуска моей машины в выбранной мной конфигурации.
Для данной конфигурации и машины мне нужно убедиться, что:
Я изучал Ansible и его модуль yum, но хотя обеспечить установку данных RPM несложно, я не смог найти способ указать, что любые другие RPM должны быть удалены.
Как это сделать лучше?
Это прямо там, в документации, которую вы связали:
- name: remove the Apache package
yum: name=httpd state=absent
Обратите внимание, что это также можно применить к группам:
- name: install the 'Development tools' package group
yum: name="@Development tools" state=absent
Однако, если ваше требование - обеспечить любой пакет, которого нет в вашем списке, не установлен, вам следует начать пересмотр процедуры подготовки, т.е. если машина находится под контролем с момента ее создания, не должно быть выхода из-под вашего контроля для установки пакета.
rpm -qa
перечислит все установленные RPM. Вы можете просто сохранить вывод заведомо исправных серверов в текстовый файл, а затем запустить сравнение с другими серверами.
Я не использовал Ansible, но, возможно, вы могли бы использовать этот вывод для вывода списка пакетов, которые нужно удалить.