2016-05-16 60 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