Ansible + Test Kitchen:将数组数据传递到相关模块
Ansible + Test Kitchen: passing Array data into dependent module
我正在尝试设置 Ansible + Test Kitchen 来测试 Sonatype Nexus 的 Galaxy 模块。为此,我需要依赖 geerlingguy.java
并且我想通过传递数组 java_packages: ['java-1.8.0-openjdk']
.
来覆盖默认的 Java 版本
role dependencies 的文档说明:
Role dependencies allow you to automatically pull in other roles when
using a role. Role dependencies are stored in the meta/main.yml file
contained within the role directory. This file should contain a list
of roles and parameters to insert before the specified role, such as
the following in an example roles/myapp/meta/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 }
这会导致出现语法错误。
是否可以像我在使用 Test Kitchen 时尝试做的那样传入数组数据?
我能够以另一种方式实现它,使用 .kitchen.yml
中的 extra_vars
:
extra_vars:
java_packages: ['java-1.8.0-openjdk']
我正在尝试设置 Ansible + Test Kitchen 来测试 Sonatype Nexus 的 Galaxy 模块。为此,我需要依赖 geerlingguy.java
并且我想通过传递数组 java_packages: ['java-1.8.0-openjdk']
.
role dependencies 的文档说明:
Role dependencies allow you to automatically pull in other roles when using a role. Role dependencies are stored in the meta/main.yml file contained within the role directory. This file should contain a list of roles and parameters to insert before the specified role, such as the following in an example roles/myapp/meta/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 }
这会导致出现语法错误。
是否可以像我在使用 Test Kitchen 时尝试做的那样传入数组数据?
我能够以另一种方式实现它,使用 .kitchen.yml
中的 extra_vars
:
extra_vars:
java_packages: ['java-1.8.0-openjdk']