2014-09-15 11 views
0

J'essaye d'installer python avec chef solo.Cookbook python pas trouvé

Pour faire Je ne

chef-solo -c solo.rb -j chef.json 

solo.rb:

file_cache_path "/tmp/chef-solo" 
cookbook_path "/home/lamerman/.berkshelf/cookbooks" 

chef.json:

{ 
    "run_list": [ "recipe[python]" ] 
} 

ls -l /home/lamerman/.berkshelf/cookbooks

... 
drwxrwxr-x 8 lamerman lamerman 4096 Sep 15 13:16 python-1.4.6 
... 

Pourquoi ai-je

ERROR: Cookbook python not found. If you're loading python from another cookbook, 
make sure you configure the dependency in your metadata 

Il semble que tout est juste.

+0

"Si vous chargez python à partir d'un autre livre de recettes, assurez-vous de configurer la dépendance dans vos métadonnées", Avez-vous fait cela? – garnertb

+0

@garnertb, je ne charge pas python à partir d'un autre livre de cuisine. J'essaye juste d'installer python avec chef-solo. Où dois-je configurer ces dépendances? Le paquet python a été téléchargé avec Berkshelf. –

Répondre

1

Berkshelf et Chef lui-même utilisent une structure de répertoires différente de celle de berkshelf. La principale différence est que Berkshelf peut avoir plusieurs versions d'un livre de cuisine installé alors que le chef ne peut pas. Dans le monde du chef, le nom du livre de cuisine doit être le nom du répertoire, sans aucun ajout.

Ainsi, vous ne pouvez pas simplement pointer le fichier solo.rb vers le répertoire berkshelf. Au lieu de cela, vous devez demander à Berkshelf de créer une structure de répertoire adaptée au chef à partir de son cache. C'est comme créer un instantané à partir de l'état actuel.

Ainsi, généralement, vous pouvez exécuter dans votre référentiel chef (le répertoire qui contient votre Berksfile) pour créer un cookbooks répertoire approprié pour le chef:

berks install --path /path/to/your/chef/repo/cookbooks 

Ensuite, dans votre solo.rb, vous pouvez le dire chef pour utiliser ce répertoire instantané

file_cache_path "/tmp/chef-solo" 
cookbook_path "/path/to/your/chef/repo/cookbooks" 

Notez que les noms des répertoires dans le répertoire cookbooks ont pas de version ajouté. C'est comme ça que le chef le demande.

+0

Merci beaucoup. Une note: la commande d'installation semble être obsolète, "vendeur" devrait être utilisé à la place –