2014-09-30 57 views
0

主厨属性优先级的文档是在这里:https://docs.getchef.com/chef_overview_attributes.html什么是优先为厨师/刀引导JSON属性

然而,文档真的不解释什么级别适用于通过传入的属性 - j标志为knife bootstrap命令。

我问的原因是因为我正在传递属性,其中一些属性没有正确应用于我的运行。

+0

你能张贴你的刀指令吗?您传入的json格式对获取正确的结果非常重要。 – 2014-10-01 00:04:14

回答

0

通过-j传入的东西被设置为节点数据,它们是normal/set级别。

+0

如果你不介意我问什么是'套'级别? – 2014-09-30 23:11:42

+0

和平常一样,只是一个别名。该级别通常称为“普通”,但用于访问它的API是'node.set'。 – coderanger 2014-09-30 23:14:32

+0

作为一个正确的调试过程,你会提出什么建议,以找出为什么某个属性不会从该json标志中拾取并应用于运行?我已经检查了链中的属性,并且所有设置都被设置为默认值。 – 2014-09-30 23:49:14

0

正如@coderanger指出的,如果你正确地格式化你的json,它们应该在set级别。如果你的Json格式不正确,它不会设置这些值,但可能不会给你一个错误。

对于故障排除,您可以使用node.debug_value来查看整个属性树。

或者如果您想要快捷方式,请使用spicerack cookbook's print_attribute_debug配方来抓取并打印它。整本食谱仍然非常不成熟,但README提供了使用细节,对于调试目的来说它非常有用。

+0

它与格式无关,无法通过-j(或任何其他设置节点数据的方法)将事物设置为正常以外的级别。 – coderanger 2014-10-01 00:16:37

+0

对不起,我显然没有说得很清楚。我的观点是,如果Jason的格式不正确,那么这些属性根本就没有设置。但是如果Jason的格式很好,它也不会抛出错误。 – 2014-10-01 13:06:36