2013-03-28 1 views
5

У меня есть веб-сервер, который в основном принимает вход для команды сервера ec2 для ножа ec2.Как загрузить атрибуты JSON через нож через рецепты шеф-повара?

В моей команде нож, я прохожу в

-j '{"branch":"clone"}' 

Из документации, я думал, что я мог бы сделать это в моих рецептах, которые загружаются:

@@branch = node['branch'] 
... 
git clone [email protected]/blah -b #{@@branch} 

Однако, мерзавец клоны не работают, потому что @@branch не возвращается. Или по крайней мере журналы повара говорят, начинают вывод результата:

git clone [email protected]/blah -b 

~Git error showing options and appropriate input~ 

Как загрузить в мой пройденный атрибут JSON? Каков правильный путь?

Edit:

Я вручную поместить в команде нож, и JSON атрибуты, кажется, загружаемый с помощью Ruby-хэш вместо JSON

JSON Attributes: {"branch"=>"Air"}

Последнее редактирование:

Моя команда:

sudo knife ec2 server create -x ubuntu -i ~/.ssh/key.pem -I ami-0eca6e67 -d ubuntu-12.04 -j '{ "branch" : "clone" }' -Z us-east-1a -s subnet-6827ec00 -f c1.medium -g sg-bc9d86d0 -r 'role[role]'

Ответ ниже.

ответ

4

Так что, если я использую шаблон бутстрапа, который уже существует, -d ubuntu-12.04, нож ec2 делает NOT load -j json-attributes.

Избавьтесь от опции -d. Json загружается соответствующим образом.

+0

По крайней мере, с шеф-поваром 11.12.4 вы можете передать -j json-атрибуты, даже если вы также проходите в шаблоне (-d шаблон). – Doug

Смежные вопросы