Question

J'ai un chef livre de recettes qui installe nginx et installation d'un custom nginx.fichier conf.C'est essentiellement le même livre de recettes sur Opscode, et utilise cookbook_file pour installer le fichier.

Si je modifier le fichier conf, puis exécutez à nouveau le livre de cuisine à l'aide de la chef du fichier de configuration n'est pas mis à jour.Cela semble être un bug -- suis-je en train de faire quelque chose de mal?

Était-ce utile?

La solution

En chef que l'ordre des commandes dans la recette est de l'ordre de l'exécution.si vous avez conservé la template pour l' nginx.conf et il vient après votre cookbook_file de commande, le modèle généré permettra de remplacer votre fichier.

par exemple

# 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

L' template serait de remplacer le fichier fixées par cookbook_file.

Autres conseils

Dans les tests, j'ai constaté que si vous avez :create_if_missing ensemble, il ne sera pas mis à jour le fichier, si le contenu a changé.Ensemble :create et il le fera.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top