2016-09-21 4 views
0

Ich versuche, Standard-Kochbuchattribute zu überschreiben (in diesem Fall Attribute für nginx). Kochbuch Attribute in meinem Standard Ich habe so etwas wie dies:Cookbook-Attribute können nicht mit der Chef-Umgebung überschrieben werden

default[:my_nginx_cookbook][:site_name] = 'defaultnginx.site.com' 

default[:my_nginx_cookbook][:sites] = { 
"default.site.com" => { 
default_value1: 'stuff' 
default_value2: 'yada yada' 
}, 
"default2.site.com" => { 
default_value3: 'even more stuff' 
default_value4: 'blah blah' 
    } 
} 

Ich möchte diese Attribute in der Umgebung außer Kraft zu setzen, wo ich das Kochbuch bin Bereitstellung (Ich werde die Umwelt FOO nennen). In meiner FOO Umgebungs-Datei, habe ich folgendes:

override_attributes[:my_nginx_cookbook] = { 
site_name: 'myrealnginx.site.com' 
} 

override_attributes[:my_nginx_cookbook][:sites] = { 
'myreal.site.com' => { 
real_value1: 'real stuff' 
real_value2: 'real yada' 
}, 
"myreal2.site.com" => { 
real_value3: 'more real stuff' 
real_value4: 'real blah' 
    } 
} 

Allerdings, wenn ich Koch-Client auf dem nginx Knoten laufen, schafft es nur die Standard-Seiten. Ich hatte kein Problem, Standardattribute in anderen Umgebungen zu überschreiben. Überschreibe ich in dieser Situation nicht die Standardeinstellungen?

+0

Sind Sie sicher, dass das, was Sie in der Umgebungen Datei haben oder paraphrasieren Sie und den Code falsch dargestellt? – coderanger

+0

@coderanger Vielen Dank für Ihre Antwort. Anders als die eigentlichen Attribute und Daten zu geben, ist das in meiner Umgebungsdatei. Ich habe eine Ahnung, dass das Problem die Syntax ist. – mxmxx

Antwort

0

in einer Chef-Umgebungsdatei, würden Sie im Allgemeinen Attributdaten wie folgt festgelegt:

override_attributes({ 
    my_nginx_cookbook: { 
    site_name: 'myrealnginx.site.com', 
    sites: { 
     'myreal.site.com' => { 
     real_value1: 'real stuff' 
     real_value2: 'real yada' 
     }, 
     'myreal2.site.com' => { 
     real_value3: 'more real stuff' 
     real_value4: 'real blah' 
     }, 
    }, 
}) 
+0

Danke, leider werden auch bei dieser Syntax die Standard-Sites erstellt, aber nicht die in der Umgebungsdatei angegebenen Sites. – mxmxx

+0

Überprüfen Sie mit dem Befehl 'knife', ob die Datei hochgeladen wird und ob der Knoten in der richtigen Organisation ist. Wenn die Konvergenz erfolgreich ist, sollten Sie in der Lage sein, die Attributdaten über 'knife node show -l -Fj 'zu überprüfen. – coderanger

+0

Ich werde dies als die Antwort markieren, wie es technisch die richtige Antwort auf die Frage ist, die gefragt wurde. – mxmxx

Verwandte Themen