OSBN/Ubuntuusers Planet RHEL / CentOS XING / LinkedIn / Amazon

arsa – Archivieren und Löschen alter Spacewalk-/Red Hat Satellite-/SUSE Manager-Aktionen

Wer seine Systemlandschaft mithilfe Spacewalk, Red Hat Satellite oder SUSE Manager verwaltet und nach einiger Zeit einen Blick in die Liste abgeschlossener Aktionen wirft, wird vermutlich über eine große Anzahl alter Einträge stoßen:

Zahlreiche Spacewalk-AktionenSämtliche über die Web-Oberfläche gestartete Aktionen werden natürlich erfasst – nach einiger Zeit sammelt sich hier viel an. Ich kenne zwar das Datenbank-Design der o.g. Software-Suiten nicht, kann mir aber dennoch vorstellen, dass es Sinn macht, hier gelegentlich aufzuräumen.

Zwar gibt es in der Web-Oberfläche keinen Knopf hierfür – aber eine sehr gut dokumentierte API für zahlreiche Programmiersprachen (u.a. Perl, Python und Ruby): [klick mich!]

Ich habe mich ein wenig in die API eingelesen und ein kleines Python-Skript hierfür programmiert: arsa (archive spacewalk actions).

Das Skript ist auf GitHub zu finden und kann dort kostenlos heruntergeladen werden: [klick mich!]

Hinweise und Beispiele

Standardmäßig fragt das Skript fragt nach den Zugangsdaten zum Management-System (Standard: localhost). Soll dies automatisiert werden, können die folgenden Shell-Variablen verwendet werden:

  • SATELLITE_LOGIN – Benutzername
  • SATELLITE_PASSWORD – dazugehöriges Passwort

Eine andere Möglichkeit ist es, eine zwei-zeilige Datei mit dem Benutzernamen (erste Zeile) und dem Passwort (zweite Zeile) zu erstellen und an das Skript zu übergeben (Parameter -a / –authfile). Die Datei muss die Berechtigung 0600 aufweisen.

Anbei einige Beispiele des Skripts.

Auflisten aller abgeschlossenen Aktionen (Login-Informationen werden abgefragt):

$ ./arsa.py -l
Username: mylogin
Password:
things I'd like to clean (completed):
-------------------------------------
action #1494 ('Remote Command on mymachine.localdomain.loc.')

Entfernen aller abgeschlossenen und archivierten Aktionen (Login-Informationen werden über Shell-Variablen übergeben):

$ SATELLITE_LOGIN=mylogin SATELLITE_PASSWORD=mypass ./arsa.py -r
Archving action #1494 ('Remote Command on mymachine.localdomain.loc.')...
Deleting action #1494 ('Remote Command on mymachine.localdomain.loc.')...
Deleting action #1493 ('Remote Command on myothermachine.localdomain.loc.')...

Ein Blick in die interne Hilfe des Skripts zeigt weitere Parameter:

$ ./arsa.py -h
Usage: arsa.py [options]

arsa.py is used to archive completed actions and remove archived actions on
Spacewalk, Red Hat Satellite and SUSE Manager. Login credentials are assigned
using the following shell variables:
SATELLITE_LOGIN  username                 SATELLITE_PASSWORD  password
It is also possible to create an authfile (permissions 0600) for usage with
this script. The first line needs to contain the username, the second line
should consist of the appropriate password. If you're not defining variables
or an authfile you will be prompted to enter your login information.
Checkout the GitHub page for updates: https://github.com/stdevel/arsa

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -a FILE, --authfile=FILE
                        defines an auth file to use instead of shell variables
  -s SERVER, --server=SERVER
                        defines the server to use
  -q, --quiet           don't print status messages to stdout
  -d, --debug           enable debugging outputs
  -r, --remove          archives completed actions and removes all archived
                        actions
  -l, --list-only       only lists actions that would be archived

Feedback ist wie immer erwünscht! 🙂

Sharing is caring

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.