2011-09-12 13 views
8

Ho utilizzato Chef per gestire i nostri server.Disinstallazione di un pacchetto utilizzando Chef

miei ruoli/app.rb aspetto:

name "app" 

description "App server" 

run_list [ 
    "recipe[apt]", 
    ..., 
    ..., 
    "recipe[nginx]" 
    ..., 
    ..., 
] 

ora vorrei per rimuovere il pacchetto nginx dalla macchina. Se rimuovo il destinatario nginx in run_list, rimuoverà nginx dai nodi? In caso contrario, indicarmi quale sia la migliore strategia per avere la gestione dei cambiamenti sui nodi.

risposta

9

Se si rimuove nginx dall'elenco di esecuzione, quella particolare ricetta non verrà eseguita. In realtà non rimuoverà nginx dai nodi perché non sa come. Stavo riflettendo su questo ieri.

È possibile scrivere la propria ricetta che annulla ricetta [nginx] forse ricetta [remove_nginx] o qualcosa del genere. Successivamente è possibile rimuovere la ricetta [remove_nginx].

Qualcun altro pensa anche questo è un buon modo per fare le cose che è almeno un po 'rassicurante:

http://community.opscode.com/questions/6

A quanto pare è possibile rimuovere una ricetta dal run_list in un ruby_block, in modo che si salva il problema dell'utilizzo coltello per rimuovere da soli dopo la sua esecuzione:

https://gist.github.com/883522

+0

Ottima risposta! Solo per FYI il link di opscode.com è rotto. – nrobey

Problemi correlati