2016-05-03 6 views
0

Ich habe zwei Kochbücher "Benutzer" und "Nginx". Das erste Kochbuch erstellt Benutzer und Ordner für das System und das zweite Kochbuch installiert nginx für die Konfiguration der erstellten Verzeichnisse.Include_recipe funktioniert nicht mit Test-Küche

In kitchen.yml Datei hinzugefügt I "Benutzer: default" -Liste auszuführen:

--- 
driver: 
    name: vagrant 

provisioner: 
    name: chef_solo 

platforms: 
    - name: ubuntu-14.04 

suites: 
    - name: default 
    run_list: 
     - recipe[users::default] 
     - recipe[nginx::default] 

und in nginx :: Standardrezept Ich habe include_recipe:

include_recipe "users::default" 

Aber es schließt nicht "users :: default", wenn ich "Küche konvergieren":

Installing Cookbook Gems: 
     Compiling Cookbooks... 
     Converging 8 resources 
     Recipe: nginx::default 
     * apt_package[curl] action install 
      - install version 7.35.0-1ubuntu2.6 of package curl 
     * apt_package[git-core] action install 
      - install version 1:1.9.1-1ubuntu0.3 of package git-core 
     * apt_package[nginx] action install 

Was ist das Problem? Warum kann ich das Rezept "users :: default" nicht in einem anderen Kochbuch verwenden?

Antwort

1

Wenn i Pfad in berksfile verwenden, wird es gelöst:

source 'https://supermarket.chef.io' 

metadata 

cookbook "users", path: "../../cookbooks/users" 
cookbook "swap", path: "../../cookbooks/swap" 

Dies bedeutet, verwenden Benutzer in bestimmten Pfad Kochbuch, anstelle von Quell-URL mit

1

include_recipe wird nur ein bestimmtes Rezept nur einmal ausgeführt, so dass es nicht direkt in der Ausführungsliste enthalten sein und über include_recipe ausgeführt werden kann. Es sollte immer noch in der Ausgabe angezeigt werden, Pastebin Ihre users/recipes/default.rb?