Chef:如何将哈希数组传递给资源

时间:2017-04-25 05:43:31

标签: arrays hash chef

我必须使用厨师食谱启动多个tomcat实例。我想在每个实例中定义2个端口 - “http_port”和“shutdown_port”。

我已将我的属性default.rb中的哈希定义为

default['my_cookbook']['instances'] = Hash.new

我有两个问题:

  1. 如何在我的kitchen.yaml中提及实例的详细信息? .kitchen.yaml片段
  2. my_cookbook:
      instances:
        http_port: 8081
        shutdown_port: 8082
        http_port: 1212
        shutdown_port: 1234
    1. 如何将每个实例的键,值传递给我的资源?

1 个答案:

答案 0 :(得分:0)

要覆盖kitchen.yml中的节点属性,请使用suites功能。

suites:
  - name: node1
    run_list:
      - recipe[your_cookbook]
    attributes:
      my_cookbook:
        instances:
          http_port: 8081
          shutdown_port: 8082
  - name: node2
    run_list:
      - recipe[your_cookbook]
    attributes:
      my_cookbook:
        instances:
          http_port: 1212
          shutdown_port: 1234

详情请见: http://kitchen.ci/docs/getting-started/adding-suite