2015-03-25 12 views
5

Moja struktura środowiska w/etc/soli/master wygląda takJak uruchomić state.highstate dla określonego środowiska?

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

A mój plik top.sls jest w katalogu/srv/soli

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

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

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

Teraz chcę uruchomić state.highstate dla szczególne środowisko, powiedz "stg". Szukam czegoś takiego,

salt '*' state.highstate env=stg 

Jak to osiągnąć? Moim wymaganiem jest to, że za każdym razem, gdy uruchamiam polecenie, nie chcę, aby sługusy we wszystkich środowiskach uruchamiały pliki SLS. Jakieś rozwiązanie?

Odpowiedz

3

mieć tę zdolność, ale poprawna komenda:

salt '*' state.highstate saltenv=stg 

Salt state documentation

+0

To nie dla mnie. Kiedy wykonałem to polecenie, otrzymałem następujący komunikat o błędzie, ip-10-1-1-252: ---------- ID: states Funkcja: bez.None Wynik: False Komentarz: Nie znaleziono Najważniejsze mecze dane pliku lub węzły zewnętrzne Rozpoczęty: Czas trwania: Zmiany: Podsumowanie ------------ Następca: 0 Failed: 1 ------- ----- Łączna liczba stanów: 1. Dostałem to dla obu sługusów. –

+0

Pokaż swoją konfigurację "pillar_roots". 2 pliki top.sls muszą być zsynchronizowane z saltenv (top.sls dla filaru i top.sls dla stanów) – jakcam

+0

Czy możesz prosić o bardziej szczegółowe informacje na temat pillar_roots? Nic nie zmodyfikowałem dla konfiguracji pillar_roots. I tylko zmodyfikował file_roots w głównym pliku konfiguracyjnym, który pokazałem w moim poście. –

Powiązane problemy