无法覆盖chef-attributes

时间:2018-03-27 14:20:59

标签: chef chef-recipe

我在powershell中运行以下命令来执行主厨操作。

{
    "param1": {
               "param2":["value1","value2","value3"]
     }
}

json文件的内容如下

{{1}}

当我们第一次运行chef-client时,在chef-node中设置了属性并且成功。但是我们第二次使用不同的“param2”内容运行相同的命令,例如。 “param2”:[“value4”,“value5”],它仍然选择[“value1”,“value2”,“value3”]作为值。

我们如何覆盖chef-client中的现有值?和/或在执行后取消设置节点值?

请注意:我们无法执行刀具命令,因为厨师是通过Cloudify远程触发的。

3 个答案:

答案 0 :(得分:0)

当您使用选项-o node属性覆盖运行列表时,将不会更新。

请在以下链接中查看-o RUN_LIST_ITEM

https://docs.chef.io/ctl_chef_client.html

答案 1 :(得分:0)

根据Chef-client文档,“ - j PATH, - json-attributes PATH” 包含JSON数据的文件的路径。用于设置**

  

第一个客户端运行

**。对于将来运行的所有选项-i,属性应为**

  

坚持使用chef-server

**。

答案 2 :(得分:0)

我们为这个问题找到了解决方法。 在配方执行结束时,我们将节点变量设置为空数组[]。