J'ai un chef de cuisine Chef (pour Apache2). Il ne fonctionne pas sur un nœud. Donc, j'essaie de le modifier et de le mettre à jour, mais le nœud ne semble pas télécharger la nouvelle version. J'ai pu tout télécharger sur le serveur Chef de ma machine locale avec knife upload .
, cela réussit et imprime qu'il a téléchargé les bits de Cookbook Apache2 que j'ai changé.
Quand je courais manuellement (en tant que root) chef-client
Sur le nœud, je peux le voir contacter le serveur, obtenir la liste d'exécution, etc. Cependant, les fichiers de recette dans /var/cache/chef/cookbooks/Apache2
sont les anciens fichiers. Et la recette échoue (car elle n'a pas les changements que j'ai faits).
Comment obtenir le client Chef sur le nœud pour utiliser la nouvelle version mise à jour du livre de recettes Apache2? Dois-je heurter le numéro de version dans le livre de recettes (je n'ai pas fait cela)?
chef-client -l debug
sortir:
[2015-01-30T10:51:31+01:00] DEBUG: Synchronizing cookbook Apache2
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/Apache2/recipes/mod_ldap.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/Apache2/recipes/mod_xsendfile.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/Apache2/recipes/mod_auth_openid.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/Apache2/recipes/mod_setenvif.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/Apache2/recipes/mod_python.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/Apache2/recipes/mod_authz_Host.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/Apache2/recipes/mod_proxy_ajp.rb, as the cache is up to date.
[2015-01-30T10:51:31+01:00] DEBUG: Not storing cookbooks/Apache2/recipes/mod_expires.rb, as the cache is up to date.
(lots of this for all files)
Je suis nouveau chez le chef, alors j'ai pu faire une erreur de débutant.
Premier débogage de toutes les versions de Cookbooks sur le serveur, puis vérifiez quelle version de Cookbook le client télécharge. Si c'est vieux, vérifiez simplement si le serveur a une version mise à jour. Si c'est aussi oui, veuillez vous rendre à Chef Server UI et vérifiez env. Vous pourriez avoir configuré un environnement dans lequel la contrainte de livres de cuisine est spécifiée. Veuillez mettre à jour la version là-bas et cela commencera à travailler à nouveau.
Une autre cause de cela peut être que tous les dépendances de Cookbook ne sont pas présents sur le Chef-Server. J'ai couru dans ceci tout à l'heure et la nouvelle version de mon livre de cuisine se présente dans knife cookbooks list
Mais mon client n'utilisait pas la nouvelle version. Après avoir débogué, j'ai découvert que Berkshelf, ni couteau n'avait téléchargé la nouvelle dépendance de mon livre de cuisine. Après avoir téléchargé cela, le client a commencé à utiliser la version plus récente.