File di configurazione dell'Aggiornamento del chef
-
09-09-2020 - |
Domanda
Ho un libro di cucina dello chef che installa Nginx e installa un file Nginx.conf personalizzato.È fondamentalmente lo stesso libro di cucina su Opscode e utilizza CookBook_File per installare il file.
Se apporto una modifica al file Conf, rievochi il ricettario usando il chef il file di configurazione non è aggiornato.Questo sembra un bug - sto facendo qualcosa di sbagliato?
Soluzione
In chef che l'ordine dei comandi nella ricetta è l'ordine di esecuzione.Se si è mantenuto il template
per il nginx.conf
e viene dopo il comando cookbook_file
, il modello generato sovrascriverà il file.
E.G.
# cookbook file
cookbook_file "#{node[:nginx][:dir]}/nginx.conf" do
source "my_nginx.conf"
mode 0644
owner "root"
group "root"
end
# template
template "nginx.conf" do
path "#{node[:nginx][:dir]}/nginx.conf"
source "nginx.conf.erb"
owner "root"
group "root"
mode 0644
notifies :reload, "service[nginx]"
end
.
Il template
sovrascriverebbe il file stabilito da cookbook_file
.
Altri suggerimenti
In Test ho trovato che se hai il set di :create_if_missing
, non aggiornerà il file se il contenuto è cambiato.Imposta :create
e lo farà.