Я пытаюсь определить где-то переменную (возможно, в файле среды) и использовать/вызывать ее в своем рецепте, чтобы я мог получить ее значение, и если я изменю файл среды (определив одну и ту же переменную с другим значением), тогда я можно использовать один и тот же рецепт с разными значениями переменных (определяется в среде)
может ли кто-нибудь помочь мне понять, как определить переменную/атрибуты в среде, а затем как вызвать ее в файле рецепта
Я попытался определить атрибуты в файле среды, как показано ниже.
"DB_IP":"xx.xx.xx.XX","BOX_NAME":"AIX2Wd4109",
и попытался вызвать по рецепту, как показано ниже
BOX_NAME = json['defaults']['BOX_NAME']
DB_IP = json['defaults']['DB_IP']
но при выполнении команды knife
значения не подбираются, получая ошибку, как показано ниже
Chef Client failed. 0 resources updated in 5.975572324 seconds←[0m
[2016-01-19T13:15:57+00:00] ERROR: uninitialized constant Chef::Recipe::BOX_NAME
node['attribute_name']
илиnode[:attribute_name]
. Ваш файл среды не такой, как должен выглядеть файл среды. Я предлагаю подписаться на learn.chef.io, чтобы начать. - person StephenKing   schedule 19.01.2016