2016-06-19 25 views
3

Einstellung habe ich eine Viehzüchter-compose.yml Datei, wo ich das upgrade_strategy.start_first Feld mit einer Umgebungsvariablen wie folgt gesetzt:Rancher Fehler, wenn ein boolesches Feldes mit einer Umgebungsvariablen

upgrade_strategy: 
    start_first: ${START_FIRST} 
    batch_size: 1 

Bei der Ausführung der Viehzüchter mit -compose CLI, erhalte ich folgende Fehlermeldung:

ERRO[0000] Failed to open project origami-svcproxy: yaml: unmarshal errors: 
    line 28: cannot unmarshal !!str `false` into bool 

Wenn im Debug läuft ich folgendes yaml sehen:

upgrade_strategy: 
    batch_size: 1 
    start_first: "false" # <-- notice the surrounding quotes, missing from the rest of the variable replacements 

Wie kann ich dieses Feld dynamisch setzen?

Antwort

1

Ich hatte das gleiche Problem und verwendete eine andere Strategie, um das Problem zu beheben. Der erste Schritt besteht darin, docker-compose.yml in eine Vorlage zu konvertieren. Zweitens, verwenden Sie Vorlagenlogik, um den Wert der booleschen Variablen abzurufen.

upgrade_strategy: 
    start_first: {{ .Values.START_FIRST }} 
    batch_size: 1 

Referenz: https://github.com/rancher/rancher-catalog/blob/v1.6-development/infra-templates/ipsec/9/docker-compose.yml.tpl#L21

+0

Ähnlich wie meine Lösung - da die Rancher-compose von einem Make-Datei lief, habe ich eine Vorlage erstellt haben und dann ersetzt die entsprechenden Werte sed mit –