我的厨师服务器中有几个节点在引导时遇到问题而错过了FQDN和域自动属性,因为它们没有被SOLR索引而不能用刀搜索。我无法重新启动这些机器,但想解决这个问题,我花了一段时间才这样做。因此,我发布这个希望它会节省其他时间。
答案 0 :(得分:2)
自动属性由Chef存储在数据库中,不能用刀编辑(请参阅Chef Attributes Overview)。它们作为一个名为serialized_object的列存储在chef的数据库中,位于十六进制的节点表中,实际上是一个gzip压缩的JSON字符串。
获取JSON字符串:
现在文件serialized_object包含您可以编辑的JSON格式的属性。编辑完成后,您可以按照以下步骤将其内容存回厨师服务器:
现在您需要使用PostgreSQL客户端并使用以下查询插入Hex数据(确保从十六进制字符串中删除前缀反斜杠和x):
更新节点设置serialized_object = decode('1f8b08000 ...','hex')其中name =''
希望这有助于某人:)