web-dev-qa-db-fra.com

Existe-t-il un moyen d'afficher uniquement les modifications et les erreurs

J'ai une configuration de sel assez étendue et je veux pouvoir voir ce qui a changé. Si je lance juste salt '*' state.highstate J'ai eu toute la liste avec les choses qui étaient présentes et qui n'ont pas changé - comme 3 à 4 écrans de journal. Mais j'aimerais vraiment voir seulement les choses qui ont changé dans le dernier travail.

Il n'a pas à fonctionner pour l'appel de sel, il peut également utiliser salt-run jobs.lookup_jid.

46
Tomáš Fejfar

Vous pouvez définir state_verbose: False dans /etc/salt/master ou /etc/salt/minion. Si vous souhaitez raccourcir la sortie à une ligne par état, définissez state_output: terse.

Vous pouvez également passer ces filtres en ligne de commande:

salt --state-output=terse '*' state.highstate

Si vous souhaitez uniquement voir les modifications, vous pouvez utiliser state-output=changes ou state-output=mixed. Ce dernier affichera plus d'informations sur un échec.

Voir les réponses suivantes pour plus de détails: basepi , psarossy

32
Michael Krupp

Nous avons également ajouté state_output: mixed qui vous donnera la même sortie que terse, sauf en cas d'échec, auquel cas cela vous donnera la sortie la plus détaillée.

35
basepi

Pour répondre à la question, oui, il existe un filtre de sortie pour les modifications uniquement:

salt '*' state.highstate --state-output=changes

Cela affichera une doublure pour les choses qui sont dans le bon état et la sortie appropriée pour les modifications. c'est à dire:

  <...>
  Name: /etc/sudoers - Function: file.managed - Result: Clean
  Name: /etc/timezone - Function: file.managed - Result: Clean
  Name: /etc/pki/tls/certs/logstash-forwarder.crt - Function: file.managed - Result: Clean
  Name: /etc/init.d/logstash-forwarder - Function: file.managed - Result: Clean
----------
          ID: /etc/logstash-forwarder
    Function: file.managed
      Result: True
     Comment: File /etc/logstash-forwarder updated
     Started: 14:14:28.580950
    Duration: 65.664 ms
     Changes:
              ----------
              diff:
                  ---
                  +++
                  @@ -1,6 +1,6 @@
                   {
                     "network": {
                  -    "servers": [ "10.0.0.104:5000" ],
                  +    "servers": [ "10.0.0.72:5000" ],
                       "timeout": 15,
                       "ssl ca": "/etc/pki/tls/certs/logstash-forwarder.crt"
                     },

  Name: deb http://packages.elasticsearch.org/logstashforwarder/debian stable main - Function: pkgrepo.managed - Result: Clean
  Name: logstash-forwarder - Function: pkg.installed - Result: Clean
  <...>
24
psarossy

Il y a 2 options, la première consiste à changer l'état_sortie dans le fichier de configuration du maître, comme mentionné dans la réponse acceptée, et il est également possible de remplacer la sortie d'état en ligne de commande, comme:

salt --state-output=mixed \* test.version
14
Alex Simenduev

À partir du PR suivant qui a été fusionné dans Salt 2015.8.0 ( https://github.com/saltstack/salt/pull/26962 ) il est désormais possible de basculer le state_verbose indicateur depuis la ligne de commande lors de l'exécution de highstate. Cela remplace la configuration que vous pouvez définir dans /etc/salt/master qui a été mentionné dans les réponses précédentes.

La commande suivante ne doit désormais afficher que les modifications et les erreurs d'une exécution en état élevé salt '*' state.highstate --state-verbose=False

5
Grokzen

Vous pouvez utiliser ce qui suit pour raccourcir la sortie sur une ligne, puis filtrer cette sortie pour n'afficher que les modifications:

salt -v 'minion' state.highstate test = True --state-output = terse --state-verbose = False

0
Pier