2016-11-30 5 views
1

Ich möchte mehrere Status mit einem Befehl ausführen, aber als Test verwende ich nur einen, um zu sehen, ob es funktioniert.Mehrere Status in einem Unterverzeichnis ausführen

Sowieso wenn ich laufe

sudo Salz 'Günstling' state.apply DirectX

es funktioniert, wie es der Installation sollte. Aber das ist, wenn es in /srv/salt befindet.

Wenn ich ein neues Verzeichnis erstellen /srv/salt/windows/states und meine SLS-Dateien dort, wie DirectX.sls von zuvor. Dann erstelle ich ein neues SLS namens runall.sls in/srv/salt. Ich Steup runall.sls wie:

base: 
    '*': 
    - windows.states.DirectX 

und

sudo Salz 'dss' state.sls laufen runall

ich:

minion: 
---------- 
      ID: base 
    Function: minion.windows.states.DirectX 
     Result: False 
    Comment: State '*.windows.states.DirectX' was not found in SLS 'runall' 
       Reason: '*.windows.states.DirectX' is not available. 
    Changes: 

Summary for minion 
------------ 
Succeeded: 0 
Failed: 1 
------------ 
Total states run:  1 
Total run time: 0.000 ms 

Ich weiß, ich Ich mache definitiv etwas falsch, weil das einfach sein sollte, aber wenn Sie mir nur in die richtige Richtung zeigen könnten wäre großartig.

Salz Version: 2016.03.04 (Beide Günstling und Master) OS: Red Hat Enterprise Linux Server 6.6 Santiago

Antwort

4

Sie müssen zwischen top files und gemeinsamen Staat Dateien unterscheiden - sowohl standardmäßig über die .sls Dateisuffix.

Die Top-Dateien werden im Grunde verwendet, um zusammen Staaten auf Minions oder Gruppen von Minions zu bündeln und Staaten sind da, um wirklich etwas spezifisch zu konfigurieren.

Normalerweise gibt es eine top.sls für Ihre Umgebung, die weiß, welche Schergen welche Zustände haben sollten. Wenn Sie danach salt '*' state.highstate verwenden, wurden alle für Ihren Diener konfigurierten Zustände angewendet.

Abhängig von Ihren Bedürfnissen kann es eine gute Idee sein, verschiedene Top-Dateien zu haben. Sie können salt '*' state.top /path/to/another_top.sls verwenden, um diese spezifische Top-Datei anzuwenden.

Es gibt auch einen anderen Ansatz, ohne Top-Dateien zu verwenden, um zu erreichen, wonach Sie fragen. In den Staaten gibt es include[1]. Sie sollten erwägen in /srv/salt/bundleX.sls erstellen, die nur verwendet der Richtlinie gehören Ihre Fenster zu bündeln heißt es wie folgt aus:

include: 
    - windows.states.DirectX 
    - windows.states.Foobar 

Aber wenn es nichts gegen top.sls ist, ein empfehlen die oberste Datei, wie oben beschrieben.

+0

Danke für die Klarstellung das hat perfekt funktioniert! – dwr123123d12

Verwandte Themen