2016-07-27 6 views
1

Hallo hilfreich Freunde,erstellen „Alle aktualisieren“ Zustand in Saltstack

Wir haben eine ganz Setup hier von mehr als 100 Servern von Salz Staaten verwaltet werden. Mit verschiedenen Rollen in der Organisation, die von verschiedenen Leuten ausgeführt werden, würde ich wirklich eine Möglichkeit haben, einige Staaten zu aggregieren. In diesem Fall: Aktualisieren von (yum) Paketen.

ich wirklich unsere sysadmins möchte sicher einen Befehl wie diesen auf dem Master ausführen zu können, haben:

salt 'dev-*' state.apply update.application 

von:

salt '*' state.apply update.packages 

während vielleicht unsere Entwickler auszuführen wäre in der Lage Natürlich haben wir eine große Menge von Sls-Dateien und der Schlüssel zu diesem Problem ist, dass ich nicht alle diese Staaten ausführen will, sondern nur eine Auswahl von ihnen.

Um dies zu erreichen, habe ich versucht, einen update/packages.sls Staat zu schaffen, mit:

update-packages: 
    test.nop 

Und dann hinzugefügt, zum Beispiel den folgenden bestehenden Zustand:

nagios-plugins-all: 
    pkg.latest: 
    - require: 
     - pkg: corepackages 

ein watch_in wie folgt :

nagios-plugins-all: 
    pkg.latest: 
    - require: 
     - pkg: corepackages 
    - watch_in: 
     - test: update-packages 

Leider ist dies eindeutig nicht der richtige Weg gehen, wie die Ausführung salt 'testserver001' state.apply update.packages jetzt nur Rückkehr:

testserver001: 
    ---------- 
    test_|-update-packages_|-update-packages_|-nop: 
     ---------- 
     __id__: 
      update-packages 
     __run_num__: 
      0 
     changes: 
      ---------- 
     comment: 
      Success! 
     duration: 
      0.946 
     name: 
      update-packages 
     result: 
      True 
     start_time: 
      12:10:46.035686 

während ich sicher wissen, dass aktualisierte Pakete zur Verfügung stehen. Ich kann nicht include alle vorhandenen Statusdateien in die Datei update/packages.sls, da das würde alle Staaten in diesen Dateien ausgeführt werden, und das ist nicht was ich will entweder. Es würde auch eine sehr unordentliche Datei werden.

Ich möchte auch nicht nur ausführen salt '*' pkg.upgrade wie ich je nach Updates abhängig habe; wenn das Paket nagios aktualisiert wird, sollten die Zustände bezüglich der aktuellen Konfigurationsdateien ausgeführt werden und folglich sollte ein Neustart des nagios Dienstes ausgeführt werden. All das ist in Salz konfiguriert mit watch und Argumente, also möchte ich das auch beim Aktualisieren meiner Pakete verwenden. Außerdem möchte ich kontrollieren, welche Pakete aktualisiert werden können.

Ich weiß nicht, ob ich auf dem richtigen Weg bin, oder ob das überhaupt mit Salt möglich ist, aber vielleicht hat hier jemand eine geniale Idee, wie man dieses Verhalten erreicht. Ich wäre sehr dankbar!

Antwort

0

Vielleicht möchten Sie auf External Auth System Salz sehen.

Auf diese Weise können Sie Benutzer und Gruppen auf bestimmte Minions und Befehle beschränken und sogar die Parameter beschränken.

+0

Ich möchte Benutzer nicht in der Lage sein, Sachen wirklich auszuführen, ich möchte es erleichtern, sich wiederholende Aufgaben auszuführen, die aus mehreren Zuständen in verschiedenen Verzeichnissen bestehen ... – bartlaarhoven

Verwandte Themen