Ansible + Test Kitchen:将Array数据传递给依赖模块

时间:2016-05-22 10:59:59

标签: ansible test-kitchen

我正在尝试设置Ansible + Test Kitchen来测试Sonatype Nexus的Galaxy模块。为了做到这一点,我希望依赖geerlingguy.java,我想通过传递数组java_packages: ['java-1.8.0-openjdk']来覆盖默认的Java版本。

role dependencies州的doco:

  

角色依赖关系允许您在何时自动引入其他角色   使用角色。角色依赖项存储在meta / main.yml文件中   包含在角色目录中。该文件应包含一个列表   在指定角色之前插入的角色和参数,例如   以下示例为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时,我是否可以传入Array数据?

1 个答案:

答案 0 :(得分:0)

我能够使用extra_vars中的.kitchen.yml以其他方式工作:

  extra_vars:
    java_packages: ['java-1.8.0-openjdk']