meta data for this page
  •  

SaltStack - Debugging von salt-ssh

Wenn salt-ssh nur Tracebacks liefert und man die Ursache nicht findet, kann es manchmal hilfreich sein, die jeweiligen Befehle auf dem Zielsystem manuell auszuführen um dort ggfls. genauere Debugausgaben zu erhalten oder sich mit strace dran zu hängen.

  1. Schauen bei welchem Befehl er hängt. Dazu “-ltrace” Parameter anhängen und nach der letzten Zeile vor dem Fehler suchen, welche mit “SALT_ARGV” beginnt.
    Beispiel Befehl:
    /usr/bin/salt-ssh --max-procs=5 --refresh -ltrace -i 'pst1.*.ps-intern.de' state.highstate

    Beispiel Ausgabe:

    SALT_ARGV: ['/usr/bin/python2.7', '/var/tmp/.salt-mgmt_3dd5d0_salt/salt-call', '--retcode-passthrough', '--local', '--metadata', '--out', 'json', '-l', 'quiet', '-c', '/var/tmp/.salt-mgmt_3dd5d0_salt', '--', 'test.opts_pkg']
  2. Befehl aus SALT_ARGV zusammensetzen und dabei die Optionen “–metadata”, “–out json” und “-l quiet” entfernen. Danach auf dem Zielsystem manuell ausführen
    Beispiel Befehl:
    /usr/bin/python2.7 /var/tmp/.salt-mgmt_3dd5d0_salt/salt-call --retcode-passthrough --local -c /var/tmp/.salt-mgmt_3dd5d0_salt -- test.opts_pkg
  3. Auf dem Zielsystem kann nun direkt debuggt werden

Quelle: https://docs.saltstack.com/en/latest/topics/ssh/#debugging-salt-ssh