Red Hat Satellite 5.7 veröffentlicht

Diese Woche wurde Red Hat Satellite 5.7 veröffentlicht. Mit dem neunten Update des 5.x-Zweigs wurden erneut zahlreiche interessante Änderungen aus der Spacewalk-Entwicklung übernommen.

Neue Web-Oberfläche

Übersicht

Übersicht

Die auffälligste Veränderung ist die Web-Oberfläche. Während sich diese in den letzten 10 Jahren nur unwesentlich verändert hat, flossen nun die neusten Entwicklungen aus den Spacewalk-Versionen 2.1 bis einschließlich 2.3 ein. Schon im März letzten Jahres verfügte Spacewalk über einen ersten Ansatz einer neuen Web-Oberfläche, die moderne Technologien, wie HTML5, Bootstrap und jQuery, vereinte. Die aktuelle Web-Oberfläche der Spacewalk 2.3 Beta wirkt noch aufgeräumter und intuitiver und findet in angepasster Form in Red Hat Satellite 5.7 Verwendung.

Die Oberfläche ist „responsive“ und kann auch auf Geräten mit kleineren Display-Auflösungen komfortabel verwendet werden. Insbesondere Smartphone- und Tablet-Anwendern kommt diese Entwicklung zugute. Das zeitgemäße Design weiß zu überzeugen. Ich habe mit dieser Entwicklung gespannt entgegen gesehen, seitdem SUSE daran arbeitete, die neue Web-Oberfläche in seinen SUSE Manager zu integrieren.

Action-Chaining

Action-Chaining

Action-Chaining

Action-Chaining dient zur logischen Gruppierung voneinander abhängiger Verwaltungsaufgaben. Mit dieser Funktion wird eine Entwicklung aus Spacewalk 2.2 übernommen. Der Mehrwert dieser Funktion lässt sich anhand eines einfachen Praxis-Beispiels erklären:

Angenommen, auf einem System mit einer als nur lesbar eingehängten /usr-Partition sollen Updates installiert werden. Die Installation der Patches schlägt fehl, solange die Partition nicht beschreibbar ist. Diesen Schutz implementieren paranoid… äh sicherheitsbewusste System-Administratoren, um im Falle einer feindlichen System-Übernahme die Einnistung fremder Software zu erschweren.

Vor der Paket-Aktualisierung lässt sich über Spacewalk ein Remote-Kommando ausführen – beispielsweise um den Schreibschutz aufzuheben. Doch, was passiert nach der Paket-Installation? Nichts. Unter Verwendung der Web-Oberfläche hat der Administrator nun zwei Lösungsansätze:

  1. Er führt ein Remote-Kommando zum Aufheben des Schreibschutzes aus, aktualisiert die Pakete und führt ein weiteres Kommando aus, um den Schreibschutz wieder zu aktivieren. Das sind jedoch drei einzelne Schritte, was viel Zeit benötigt.
  2. Er führt ein kombiniertes Remote-Kommando, welches alle drei Schritte beinhaltet, aus (mount -o remount,rw /usr ; yum update -y ; mount -o remount,rw /usr). Dadurch geht aber der komfortable Vorteil der Paketauswahl über die Web-Oberfläche verloren.

Action-Chaining kommt solchen Anwendungsfällen zugute, voneinander abhängige Teilaufgaben lassen sich zusammenfassen und gebündelt ausführen. Bricht eine der Teilschritte ab, gilt die gesamte Aufgabe als gescheitert. Das oben genannte Beispiel lässt sich mit den folgenden Teilaufgaben abbilden:

  1. Führe Remote-Kommando aus: mount -o remount,rw /usr
  2. Installiere/aktualisiere Pakete
  3. Führe Remote-Kommando aus: mount -o remount,ro /usr

Sämtliche über die Oberfläche ausführbaren Aufgaben können einer Action-Chain zugewiesen werden. Unterhalb des Menüs „Plan“ können die einzelnen Schritte komfortabel per Drap & Drop angeordnet werden. Was mir persönlich noch fehlt, ist die Möglichkeit wiederkehrende Action-Chains als Vorlage zu speichern. So müsste man sich wiederkehrende Aufgaben nicht bei jeder Wartung neu zusammenstellen.

Read-only Benutzer und neue API-Calls

Mit der Spacewalk-API besteht viel Potenzial zur Automatisierung sämtlicher Prozesse. Für die Kommunikation mit dem Spacewalk-Server wird hierfür ein adäquat berechtigter Benutzer benötigt. Neu ist nun die Möglichkeit Benutzer anzulegen, die die Web-Oberfläche nicht verwenden können und nur auf lesende API-Calls zugreifen können. Das empfiehlt sich beispielsweise für fremde Skripte, die keinen schreibenden Zugriff auf den Spacewalk-Server benötigen (z.B. Skripte zur Generierung von Statistiken).

Im Rahmen der weiteren hinzugekommenen Funktionen wurden auch entsprechende API-Calls hinzugefügt. Einige nun verfügbare Klassen und Calls:

  • channel.software.syncRep (sofortige Repository-Synchronisation, erforderte bisher weitere manuelle Schritte)
  • actionchain.*
  • kickstart.profile.software.*
  • system.provisioning.snapshot.*
  • user.external.*
  • user.setReadOnly

Die vollständige API-Dokumentation befindet sich im Red Hat-Portal: [klick mich!]

spacecmd

Mit Red Hat Satellite 5.7 gehört nun auch das Tool spacecmd das erste Mal zur Software-Auswahl. Bisher musste das Programm über das Spacewalk- oder EPEL-Repository installiert werden – die Verwendung des Programms wurde nicht vom Red Hat-Support abgedeckt. Mithilfe dieses Programms können sämtliche Aufgaben über eine Kommandozeile gesteuert und ausgeführt werden. Erfahrene Administratoren ersparen sich so Klickarbeit und können Prozesse automatisieren – einige Beispiele:

Installieren eines Erratum auf allen betroffenen Systemen:

$ spacecmd -y errata_apply CESA-2015:0016
Scheduled 5 system(s)

Auflisten aller Repositories:

$ spacecmd repo_list
centos6-base-x86_64
centos6-extras-x86_64
centos6-updates-x86_64

Auflisten aller Systeme mit ausstehenden Patches (interaktive Sitzung):

$ spacecmd
Welcome to spacecmd, a command-line interface to Spacewalk.
INFO: Spacewalk Username: admin
Spacewalk Password:

spacecmd {SSM:0}> report_outofdatesystems
System                       Packages
---------------------------  --------
dc.localdomain.loc                  8
devel.localdomain.loc              12

Alle verfügbaren Funktionen können über die integrierte Hilfefunktion eingesehen werden:

$ spacecmd help

Weitere Änderungen

Einige der weiteren Änderungen:

  • Über IPMI können physische Hosts ein- oder ausgeschaltet werden. In Kombination mit Cobbler können so Provisionierungen erleichtert werden.
  • Red Hat Satellite Proxy kann nun Inhalte vorab zwischenspeichern (Proxy Precaching)
  • Anbindung an Identitätsmangement-System (z.B. FreeIPA) über spacewalk-setup-ipa-authentication
  • FIPS 140-2 Zertifizierung, es werden nun SHA-256- anstatt MD5-Hashses verwendet. Auf bestehenden Systemen können Zertifikate und Passwörter neu generiert werden, um dem Standard gerecht zu werden.
  • Externe Datenbanken können nun per SSL angesprochen werden
  • Für IBM Power Little Endian stehen nun entsprechende Client-Programme zur Verfügung
  • Zahlreiche Bugs, wie der des fehlerhaften jabberd Init-Skripts, wurden behoben

Die vollständige Liste der Änderungen kann im Red Hat-Portal eingesehen werden.

Screenshots

Einige Screenshots der neuen Produktversion:

Fazit

Mit der Programmversion 5.7 setzt Red Hat vieles um, was ich als Spacewalk-Anwender schon vor längerer Zeit zu schätzen gelernt habe. Insbesondere die neue Web-Oberfläche und Action-Chaining stellen für mich einen deutlichen Mehrwert dar. Dass Red Hat direkt die Web-Oberfläche, die derzeit in Spacewalk 2.3 entwickelt wird, umsetzt, hätte ich nicht erwartet. Gegenüber der Spacewalk 2.1 erstmals erprobten modernen Web-Oberfläche weiß die übernommene Implementierung mit verbesserter Darstellung auf Smartphones und Tablets zu überzeugen.

7 Kommentare Schreibe einen Kommentar

  1. Vielen Dank für den Artikel. Unter welcher Lizenz steht er? Darf ich teile daraus unter Nennung der Quelle weiterverwenden?

  2. Was mich persönlich intessieren würde ob jemand bei der Action-Chain durchgestiegen hat.
    Ich persönlich musste feststellen das die implementierung, wie bei Red Hat üblich, wie immer unter aller Sau ist und inkonsistent.

    Eine Action-Chain ist über ein System definierbar, und dann Global nutzbar, der jedoch festgelegte Zeitstempel der initial angelegten Action-Chain kann im nachhinein, nicht für n Systeme angepasst werden, sondern nur ein mal, was impiziert, das man für das selbe Remotecommand zB die gleiche Chain mit unterschieldichen Zeiten angeben muss.

    Ich bitte darum das mich jemand korrigiert, weil wenn dem so ist, und ich habe es getestet, dann gibt es keinen Anlass mehr Produkte von Red Hat zu kaufen, ganz besonders nicht dieses verbuggte Satellite. Das 6er ist auch nicht besser btw

    • Hi!

      Sorry für die späte Rückmeldung, ich hatte viel um die Ohren und bin erst jetzt dazu gekommen, mich deinem Kommentar zu widmen.

      Prinzipiell kann ich deinem Unmut teilweise zu stimmen. Auf der einen Seite sind Action-Chains eine nette Erweiterung, die aber noch deutlich verbesserungswürdig ist. Mir fehlt nämlich auch genau das, was Du bemängelst:
      Eine Action-Chain kann für ein System oder eine Systemgruppe definiert werden, verliert aber nach deren Ausführung ihre Gültigkeit/Konfiguration. Das bedeutet dann eben, dass ich meine Aktionen mehrfach neu zusammenklicken muss – und das ist ineffektiv. Hier wäre eine Template-Funktion super, so könnte man einfach eine Vorlage erstellen und nacheinander auf verschiedene Systeme bzw. Systemgruppen anwenden.

      Ich habe mich diesbezüglich mal an einen der Action Chain-Entwickler gewandt, um meine Idee einzureichen. Aktuell gibt es keine Bestrebungen, die Action Chains dahingehend anzupassen. Die Gründe sind, dass Actions Chains beim Erstellen einigen Validierungen unterzogen werden (z.B. Entitlements und Channel-Zugehörigkeiten) – dadurch lassen sich hieraus aus technischer Sicht keine Vorlagen erstellen. Die einzige Alternative wäre, die Validierung komplett zu deaktivieren und das hat das Entwicklerteam abgelehnt. Also quasi „by design“ nicht machbar. 🙁
      Der erwähnte Entwickler arbeitet übrigens bei SUSE und hat angedeutet, dass die Nürnberger für ihren SUSE Manager (der ja auf Spacewalk basiert) eine Funktion entwickeln, die für diesen konkreten Anwendungsfall entsprechende Workflows bereitstellen. Genaueres konnte/durfte er mir noch nicht mitteilen.
      Bisher hat SUSE einige gute Funktionen implementiert, die auch später in das Spacewalk-Projekt übernommen wurden – beispielsweise eben Action-Chaning und die neue Web-Oberfläche. Ich bin daher relativ optimistisch, dass die neue Funktion dann auch in Spacewalk zu sehen ist.

      Zugegebenermaßen habe ich noch keine persönlichen Erfahrungen mit Red Hat Satellite 6 – ich habe jedoch bisher mit Katello „herumgespielt“ und war – wie Du – damit auch nicht zufrieden. Daher habe ich das Thema für mich auch erstmal auf Eis gelegt! 😉

      Beste Grüße,
      Christian!

  3. Pingback: Stankowic development – Spacewalk 2.3 veröffentlicht

  4. I want to deploy ntpstatus check script on all the system that are registered in satellite server.
    I have used spacecmd as follow:
    # spacecmd -y –system_runscript txxdb01.domain.com -s root:root -f /usr/local/bin/ntpstatus.sh

    Here, ntpstatus.sh is another script and I will wrapup abouve command line as bash script in separately.
    My sole problem is, how would I select all the system that are registered in satellite. If you see in
    abouve command you will see txxdb01.domain.com as only one system where the script will be executed.There
    are more than 500 server that are registerd in my satellite server.So, what option, what way I can select
    all those server and execut above command line.

Schreibe einen Kommentar