2016-05-16 98 views
0

我正在使用JSON文件来配置(已经引导的)节点,并尝试识别设置节点特定属性的正确语法。下面是使用JSON文件:从文件中使用刀节点时的厨师设置(默认)属性

{ 
    "name": "mynode", 
    "run_list": [ 
    "snmp" 
    ], 
    "default_attributes": { 
    "server_url": "http://mynode/", 
    "interval": "20" 
    }, 
    "normal": { 
    "tags": [ 

    ] 
    } 
} 

命令(注意属性没有出现在最后一个命令的结果):

>knife --version 
Chef: 12.9.41 
>knife node from file .\mynode.json 
Updated Node mynode 
>knife node show mynode 
Node Name: mynode 
Environment: _default 
FQDN: 
IP: 
Run List: recipe[snmp] 
Roles: 
Recipes: 
Platform: 
Tags: 

什么是在节点上设置默认/正常/重写属性正确的语法?

感谢

+0

http://stackoverflow.com/a/35433711/304690 – gliptak

+0

http://stackoverflow.com/q/19021289/304690 – gliptak

+1

不要这样做。从烹饪书中派生出你的属性,并最终从角色中获取属性。环境。另外,不要使用'override',你通常不需要它。 [环境食谱模式](http://blog.vialstudios.com/the-environment-cookbook-pattern/)给了你很多人认为一个好的工作流程的样子(至少我希望它能帮助你理解为什么你的方法不好)。 – StephenKing

回答

1

你不能设置默认/覆盖的节点属性,只有正常。 knife node from file的语法是你在那里(减去default_attributes,它什么都不做)。

+0

什么是正确的方式来查看属性是否设置? – gliptak

+0

'knife node show --format json' – coderanger