С чем я работаю:
До этой точки я всегда использовал node.name для установки имени хоста экземпляра. Пример:
{
"name": "web-01",
"chef_environment": "_default",
"normal": {
"tags": [
]
},
"run_list": [
"recipe[web-server@2.0.1]"
]
}
Однако недавно установка node.name от ключа "имени" прекратила работать. node.name остается как имя хоста, обеспеченное моим облачным поставщиком. Это происходит когда рабочий шеф-повар-клиент, соло шеф-повара, и даже в оболочке шеф-повара. Это, кажется, устанавливает правильно в моем client.rb, но все еще никакой node.name не обновляет. Я пытался работать с -N
флаг, но все еще никакой успех.
Кто-либо еще сталкивающийся с этой проблемой? Как я устанавливаю node.name? Или скорее как node.name установлен?
Как я обнаружил, атрибут в chef-client устанавливается иначе, чем в chef-solo. Chef Solo любит node [: name], а chef-client использует node.name. Если у кого-то есть понимание того, почему, он был бы признателен.
if Chef::Config[:solo]
node[:name]
else
node.name
end