J'essaie de définir une variable quelque part (probablement sous le fichier d'environnement) et l'utiliser/l'appeler dans ma recette afin que je puisse en obtenir la valeur, et si je change le fichier d'environnement (j'ai défini la même variable avec une valeur différente) alors je peux utiliser la même recette avec différentes valeurs de variables (définies sous environnement)appeler un chef variable/attributs dans la recette qui est définie sous le fichier environnement
quelqu'un peut-il m'aider à comprendre comment définir une variable/attributs dans un environnement puis comment l'appeler dans un fichier de recette
J'ai essayé de définir les attributs sous fichier d'environnement comme ci-dessous
"DB_IP":"xx.xx.xx.XX","BOX_NAME":"AIX2Wd4109",
et a essayé d'appeler en recette ci-dessous
BOX_NAME = json['defaults']['BOX_NAME']
DB_IP = json['defaults']['DB_IP']
mais tout en exécutant la commande knife
les valeurs ne sont pas ramasser, obtenir l'erreur comme ci-dessous
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
Bienvenue sur stackoverflow. Ces variables sont appelées [attributs] (https://docs.chef.io/attributes.html). Vous pouvez y accéder dans une recette en utilisant 'node ['attribute_name']' ou 'node [: attribute_name]'. Votre fichier d'environnement ne ressemble pas à un fichier d'environnement. Je suggère de suivre [learn.chef.io] (https://learn.chef.io) pour commencer. – StephenKing