2015-03-25 9 views
5

Meine Struktur Umgebungen in/etc/Salz/Master sieht aus wie diesesWie wird state.highstate für eine bestimmte Umgebung ausgeführt?

file_roots: 
    base: 
    - /srv/salt 
    dev: 
    - /srv/salt/dev 
    stg: 
    - /srv/salt/stg 
    prod: 
    - /srv/salt/prod 

Und Datei mein top.sls ist in/srv/Salz

dev: 
    'ip-10-1-1-28': 
    - devtest 

stg: 
    'ip-10-1-1-252': 
    - stgtest 

prod: 
    'ip-10-1-1-200': 
    - prodtest 

Jetzt möchte ich state.highstate laufen für eine bestimmte Umgebung, sagen wir "stg". Ich bin auf der Suche nach so etwas,

salt '*' state.highstate env=stg 

Wie erreiche ich das? Meine Anforderung ist, dass ich jedes Mal, wenn ich den Befehl ausführe, keine Schergen in allen Umgebungen möchte, um die SLS-Dateien auszuführen. Irgendeine Lösungsmöglichkeit?

Antwort

3

Sie haben diese Fähigkeit aber den richtigen Befehl:

salt '*' state.highstate saltenv=stg 

Salt state documentation

+0

Es ist nicht für mich zu arbeiten. Als ich diesen Befehl ausführte, bekam ich den folgenden Fehler, IP-10-1-1-252: ---------- Identifikation: Zustände Funktion: no.None Ergebnis: Falsch Kommentar: keine Top-Datei oder externen Knoten Datenübereinstimmungen gefunden gestartet: Dauer: Änderungen: Zusammenfassung ------------ Succeeded: 0 Failed: 1 ------- ----- Gesamtzustände: 1. Ich habe das für beide Minions –

+0

Bitte zeigen Sie Ihre "Säulenstamm" Konfiguration. 2 top.sls Dateien müssen synchronisiert werden (top.sls für Säule und top.sls für Staaten) – jakcam

+0

Können Sie bitte genauer über Säulenstammzellen sein? Ich habe nichts für die pillary_roots-Konfiguration geändert. Ich habe nur file_roots in der Master-Konfigurationsdatei geändert, die ich in meinem Beitrag gezeigt habe. –