Я использую кухню и возможность тестировать конфигурации сервера. Каждый пример, который я могу найти, имеет файл .kitchen.yml
в той же папке, что и роль ansible. Я хотел бы выполнить несколько тестов, но, похоже, нет встроенного способа сделать это - kitchen test
ожидает один файл .kitchen.yml
в папке, в которой он запускается (вместе с файлами спецификаций ruby serverspec и файлом default.yml который оборачивает фактическую роль), например.
roles
- role_1
- tasks
mail.yml
- test/integration/default/serverspec/localhost
role_spec.rb
default.yml
.kitchen.yml
Я бы предпочел отделить файлы, используемые для тестирования, от файлов, используемых для настройки серверов, и с этой целью я создал набор для каждой роли и указал сценарий подготовки в конфигурации пакета:
suites:
- name: role_1
provisioner:
playbook: test/integration/role_1/default.yml
- name: role_2
provisioner:
playbook: test/integration/role_2/default.yml
Тогда мои *_spec.rb
файлы должны находиться в папке с именем test/integration/role_1/serverspec
Это также позволяет мне запускать несколько ролевых тестов с помощью одного kitchen test
, но я не уверен, что это правильный путь. Если бы у меня был плейбук с несколькими ролями, я не вижу, как я могу повторно использовать файлы *_spec.rb.
Как это должно быть сделано?