1
我的厨师服务器中有几个节点在引导过程中遇到问题,并且错过了FQDN和域自动属性,因此它们不是由SOLR索引的,也不是由刀子搜索的。我无法重新启动这些机器,但想要解决这个问题,并且花了我一段时间。因此,我发布这个希望它可以节省一些时间的人。更新Opscode Chef(serialized_object)中的自动属性
我的厨师服务器中有几个节点在引导过程中遇到问题,并且错过了FQDN和域自动属性,因此它们不是由SOLR索引的,也不是由刀子搜索的。我无法重新启动这些机器,但想要解决这个问题,并且花了我一段时间。因此,我发布这个希望它可以节省一些时间的人。更新Opscode Chef(serialized_object)中的自动属性
厨师在数据库中存储自动属性,不能用刀子编辑(请参阅厨师属性概述)。它们以十六进制格式存储在厨师的数据库中,名为serialized_object,位于节点表中,实际上是一个经过gzip压缩的JSON字符串。
要获得JSON字符串:
现在,文件serialized_object包含可以编辑的JSON格式的属性。
现在,您需要使用PostgreSQL客户端并使用以下查询插入十六进制数据(确保从十六进制字符串中删除前缀反斜杠和x):
更新节点set serialized_object = decode('1f8b08000 ...','hex')其中name =''
希望这可以帮助别人:)
因为PostgreSQL自动压缩列值,所以它们将它存储为gzip JSON是很搞笑的。 –