chef_type 对一个节点来说是必须的吗?

Is chef_type mandatory for a node?

在使用 Chef Server 的项目中,我们使用了以下概念:

environmentrole json 文件看起来不错(它们有 chef_typejson_class):

但是节点看起来像这样(没有chef_type,没有json_class):

它是真正的 Chef 节点吗?

并且是否满足以下precedence?
我假设如果我在节点、角色和环境中有 "normal" "key":"value",则应用以下优先级(覆盖)顺序:node > role > environment,但是根据该文档,优先级是 role > environment > recipe 并且 recipe 与节点在同一个 table 单元格中。

我们一直在慢慢修复 JSON 加载代码,使其不依赖于 json_class auto-inflation 位。据我所知,chef_type 从未实际使用过,但它可能仍会被某些测试代码检查。

关于优先级问题:角色和环境可以包含默认和覆盖级别的属性。覆盖>正常>默认。一般来说,我们建议不要使用正常级别。它没有被弃用,但我们正在朝那个方向前进(非常缓慢,因为我们有很多年的兼容性需要考虑)。