2013-03-28 11 views
5

Ho un server web che accetta sostanzialmente input per un comando ec2 create server di coltello.Come caricare gli attributi JSON passare tramite coltello attraverso le ricette dello chef?

Nel mio comando coltello, passo in

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

Da documentazione ho pensato di essere in grado di fare questo nelle mie ricette che vengono caricati:

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

Tuttavia, i cloni git stanno fallendo perché @@branch non ritorna. O almeno i registri dello chef dicono di iniziare l'output del risultato:

git clone [email protected]/blah -b 

~Git error showing options and appropriate input~ 

Come caricare l'attributo JSON passato? Qual è il modo corretto?

Edit:

metto manualmente nel comando coltello, e gli Attributi JSON sembra di caricare con Rubino hash invece di JSON

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

Ultima modifica:

mio comando:

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]'

Risposta qui sotto.

risposta

4

così sembra se uso un modello di bootstrap che già esiste, -d ubuntu-12.04, coltello EC2 fa NON carico -j JSON-attributi.

Sbarazzarsi dell'opzione -d. Json si carica in modo appropriato.

+0

Almeno con Chef 11.12.4, è possibile passare -j attributi json anche se si passa anche un modello (modello -d). – Doug