测试厨房 salt_solo 从平台传递变量

test kitchen salt_solo passing in variables from platforms

我正在 运行 使用 salt_solo 用盐测试厨房,如果我在平台中声明它们,我无法将变量传递到公式中。

例如,如果这是我的 .kitchen.yml

---
driver:
  name: vagrant

platforms:
  - name: ubuntu-14.04
    grains:
      org:
        bat: batz

suites:
  - name: binary
    provisioner:
      name: salt_solo
      state_top:
        base:
          '*':
            - binary
      formula: binary
      grains:
        org:
          foo: bar  

那么我的公式无法访问{{grains['org']['bat']}},但可以访问{{grains['org']['foo']}}

解决方法是在平台变量前加上provisioner:。对上述示例 .kitchen.yml 的此修复将解决问题:

---
driver:
  name: vagrant

platforms:
  - name: ubuntu-14.04
    provisioner:
      grains:
        org:
          bat: batz

suites:
  - name: binary
    provisioner:
      name: salt_solo
      state_top:
        base:
          '*':
            - binary
      formula: binary
      grains:
        org:
          foo: bar