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
.
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
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.
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
<...>
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
À 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
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