2016-08-12 3 views
1

ich einen Befehl renne, die wie folgt aussieht:Koch Erzwingen eines Hash-Attribut zu aktualisieren

chef-solo -j my_runlist.json 

Meine JSON-Datei sieht in etwa wie folgt aus:

{ 
    "my_attributes": { 
    "list_of_things_to_Create": 
    [ 
     { 
     "source_file" : "C:\\myFile\\mypng.png" 
     } 
    ] 
    }, 
    "run_list": ["recipe[my-local-cookbook::create]"] 
} 

Das Kochbuch auf meiner Maschine ist bereits und ich habe überprüft, dass es in verschiedenen Läufen korrekt funktioniert.

Ich musste die Datei .png verschieben, also habe ich das Attribut source_file aktualisiert, um auf den neuen Speicherort für das PNG zu zeigen.

Allerdings, wenn ich chef-solo erneut ausführen, schlägt der Lauf fehl, da es nach dem ursprünglichen Speicherort für mein PNG sucht, obwohl ich es in meiner JSON-Datei geändert habe.

Es sieht für mich so aus, als ob mein Hash-Attribut nicht wirklich aktualisiert wird, wenn der Koch läuft, gibt es eine Möglichkeit, das sicherzustellen?

Antwort

0

Nach dem Chef-Solo-Verhalten würde es den Attributwert in JSON aufnehmen. Wie in Ihrem Fall, es passiert nicht, es kann ein kleiner Fehler in JSON sein oder wie Sie mit diesem Attribut im Rezept arbeiten.

Würden Sie bitte beide jsons (zuerst und geändert) und den Code teilen, wo Sie dieses Attribut in Ihrem Rezept verwenden.

Verwandte Themen