Chef de atualização do arquivo de configuração
-
09-09-2020 - |
Pergunta
Eu tenho um livro de receitas do chef, que instala o nginx e instalar uma custom nginx.conf arquivo.É basicamente o mesmo livro de receitas Opscode, e usa cookbook_file para instalar o arquivo.
Se eu fizer uma alteração para o arquivo conf, em seguida, execute novamente o livro de receitas usando o chef o arquivo de configuração não está atualizada.Este parece ser um bug -- estou fazendo algo errado?
Solução
No chef que a ordem dos comandos na receita é a ordem de execução.se você manteve o template
para o nginx.conf
e ele vem depois de seu cookbook_file
comando, gerado modelo irá substituir o arquivo.
exemplo:
# 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
O template
gostaria de substituir o arquivo estabelecidas pelo cookbook_file
.
Outras dicas
Nos testes, descobri que se você tem :create_if_missing
defini-lo não será atualizado o arquivo, se o conteúdo foi alterado.Conjunto :create
e ele vai.