Wie vermeide ich, übersprungene Ansible-Aufgaben anzuzeigen?

14

Die Ausgabe meiner Playbooks ist immer völlig überfüllt mit nutzlosen Ausgaben bezüglich der Aufgaben, die übersprungen wurden. Dies macht es ärgerlich und zeitaufwändig, nach bestimmten Informationen zu suchen, die ich suche.

Hier ist ein Beispiel für ein Spielbuch

- name: Stopping Puppet Agent
  service: name=pe-puppet state=stopped
  ignore_errors: true
  register: result
- include: rollback/restart-pe-puppet.yml
  when: result|failed

Und die dazugehörige Ausgabe:

TASK: [name | Stopping Puppet Agent] **************************************
<server.name> REMOTE_MODULE service name=pe-puppet state=stopped
changed: [server.name] => {"changed": true, "name": "pe-puppet",     "state":"stopped"}

TASK: [name | judge_log msg='Restarting pe-puppet'] ***********************
skipping: [server.name]

TASK: [name | starting pe-puppet] *****************************************
skipping: [server.name]

TASK: [name | judge_log msg='pe-puppet restart successful'] ***************
skipping: [sserver.name]

TASK: [name | judge_log msg='pe-puppet restart failed' sec=FATAL] *********
skipping: [server.name]

TASK: [name | fail msg="Failed to start pe-puppet."] **********************
skipping: [server.name]

TASK: [name | judge_log msg='{{APP_NAME | capitalize}} deployment failed.'] ***
skipping: [server.name]

TASK: [name | fail msg="The {{APP_NAME | capitalize}} deployment failed."] ***
skipping: [server.name]

Fast die gesamte Ausgabe ist für mich nutzlos. Das display_skipped_hostssagt, dass es immer noch dazu führt, dass der Aufgabenheader angezeigt wird. Gibt es eine Möglichkeit, übersprungene Aufgaben vollständig auszulassen?

asdoylejr
quelle
Wenn Sie mit der Bearbeitung des Codes zufrieden sind, können Sie versuchen, eine Zeile msg = ''vor dieser Zeile
einzufügen

Antworten:

13

Ich benutze einen anderen Weg, ohne irgendeinen Code zu ändern:

Es ist möglich, das Standard-Callback-Plugin zu verwenden, um die Ausgabe anzuzeigen, aber Sie können anstelle des Standard-Callback-Plugins auch das überspringende Callback-Plugin verwenden. 'skippy' benutze 'default' mit Ausnahme von übersprungenen Aufgaben.

Um das übersprungene Plug-in zu verwenden, fügen Sie folgende Zeile in Ihre ansible.cfg-Datei ein (oder kommentieren Sie sie aus):

stdout_callback = skippy

Verwenden Sie den folgenden Befehl, um ansible.cfg zu lokalisieren:

ansible --version

Wenn Sie diese Datei nicht haben, holen Sie sich eine Beispieldatei aus anonymen Quellen und kopieren Sie sie in Ihren Arbeitsordner, von dem aus Sie anonymen aufrufen.

Nelson G.
quelle
4

Das skippyModul ist jetzt veraltet.

Erstellen Sie ansible.cfgim Stammverzeichnis Ihres Projekts die folgenden Anweisungen:

[defaults]
display_skipped_hosts = no

Sie können auch Ihre globale Konfigurationsdatei bearbeiten /etc/ansible/ansible.cfg.

Mikael Flora
quelle
2

Wenn in der Dokumentation angegeben ist, dass der Header weiterhin angezeigt wird, können Sie ihn nicht umgehen, es sei denn, Sie ändern das anonyme Verhalten, indem Sie den Code bearbeiten. Wenn Sie immer noch darauf bestehen, es zu bearbeiten, können Sie versuchen, eine Datei zu finden lib/ansible/callbacks.pyund diese Zeichenfolge hinzuzufügen

msg = ''

vor dieser Linie

display(msg, color='cyan', runner=self.runner)
masegaloeh
quelle