2017-06-28 4 views
0

So bin ich neu zu Chef und möchte Chef-Patch in meinen eigenen Rezepten verwenden. Ich fügte cookbook 'patch', '~> 2.2.1' meinem Berksfile hinzu und tat sudo berks install und es installiert es. Aber wenn ich mein Rezept führe, sagt es ERROR: undefined method 'replace' for #<Chef::Recipe:0x00000003cab450>Mit einem Koch Kochbuch in meinem eigenen Kochbuch Fehler

Ist etwas, das ich meinem fix.rb Code hinzufügen muss.

replace "/etc/login.defs" do 
     replace "PASS_MAX_DAYS 60" 
     with "PASS_MAX_DAYS 59" 
end 
+0

Wie verwenden Sie Chef? Ist das in der Testküche? – coderanger

+0

chef-client/chef-solo – Dylan

Antwort

0

Es gibt keine direkte Verbindung zwischen Berkshelf und beiden. Sie müssen berks upload verwenden, um Dinge an den Chef-Server zur Verwendung mit chef-client zu senden, und für chef-solo liegt der Workflow bei Ihnen (obwohl wahrscheinlich berks vendor involviert sein wird, um die Kochbücher irgendwann zu schreiben). Sie benötigen auch depends 'patch' in Ihrem metadata.rb.

+0

so lief ich "sudo berks vendor" hinzugefügt abhängig 'patch' zu den metadata.rb und ran chef-client --local und gleichen fehler – Dylan

+0

Mit lokalem modus müssten sie sicherstellen, dass die kochbücher befinden sich in './cookbooks /' speziell, nicht '.'. Wie ich bereits sagte, sind Workflows, die nicht von Microsoft stammen, viel weniger dokumentiert, da es sich um hochentwickelte Inhalte handelt. Daher gehen wir davon aus, dass Sie die Verantwortung dafür übernehmen, dass es funktioniert. – coderanger

Verwandte Themen