2016-05-22 2 views
0

Я пытаюсь настроить Ansible + Test Kitchen для тестирования модуля Galaxy для Sonatype Nexus. Чтобы сделать это, я хочу зависимость от geerlingguy.java, и я бы хотел переопределить версию Java по умолчанию, передав массив java_packages: ['java-1.8.0-openjdk'].Ansible + Test Kitchen: передача данных массива в зависимый модуль

DOCO для role dependencies состояний:

зависимости ролей позволяют автоматически тянуть в других ролях, когда с использованием роли. Ролевые зависимости хранятся в файле meta/main.yml , содержащемся в каталоге ролей. Этот файл должен содержать список ролей и параметров для вставки до указанной роли, таких как следующего в примере роль/MyApp/мете/main.yml

Примеров того, как пройти в скалярных данных следуют , но ни один пример массива или хэш-данных не следует.

Я попробовал это двумя способами:

--- 
dependencies: 
    - { role: geerlingguy.java, 
     java_packages: ['java-1.8.0-openjdk'] } 

также все в одной строке:

--- 
dependencies: 
    - { role: geerlingguy.java, java_packages: ['java-1.8.0-openjdk'] } 

В этом случае java_packages, кажется, игнорируется и по умолчанию Java 1.7.0 используется.

Я также попытался это:

--- 
dependencies: 
    - { role: geerlingguy.java, 
     java_packages: 
     - java-1.8.0-openjdk } 

Это приводит к синтаксической ошибке испускается.

Можно ли передавать данные массива, как я пытаюсь сделать, используя тестовую кухню?

ответ

0

Я был в состоянии заставить это работать иначе, используя extra_vars в .kitchen.yml:

extra_vars: 
    java_packages: ['java-1.8.0-openjdk'] 
Смежные вопросы