pixel
Seite wählen

NETWAYS Blog

Leap(p) to Red Hat Enterprise Linux 9

Ich muss mich direkt für das Wortspiel im Titel entschuldigen, aber es lag so nahe als ich mich für das Thema entschieden hatte, denn ich möchte einen neuen Blick auf Leapp werfen mit dem Upgrades von Red Hat Enterprise Linux (RHEL) durchgeführt werden können. Der Blick soll wie gewohnt etwas ausführlicher sein, daher wird Blog-Post als erstes die Frage „Replace or In-Place“ aufgreifen, die ähnlich alt ist wie „Henne oder Ei“. Als nächstes geht es um den Status des Projekts, bevor ich die Nutzung auf Kommando-Zeile erläutere. Dann ein kleiner Abstecher über Foreman-Upgrades bevor es mit dem Cockpit-Plugin graphisch wird und am Ende das Foreman-Plugin und die Ansible-Rolle das ganze Thema massentauglich machen.

Replace or In-Place?

Vermutlich stand bereits jeder Nutzer mal vor der Frage ob sich ein Upgrade lohnt oder nicht doch besser das System direkt mit der neusten Version des Betriebssystems neu zu installieren ist. Bei ersterem ist der Aufwand natürlich entsprechend geringer, denn man liest sich die Neuerungen durch, achtet dabei auf besondere Hinweise, macht nochmal ein aktuelles Backup (das tun doch hoffentlich alle?), startet das Upgrade, neustartet, lässt die Nacharbeiten laufen, neustartet und erfreut sich eines schönen glänzenden neuen Systems. Zumindest bis man merkt, dass manche Schraube immer noch locker, der Müll auf der Rückbank nicht verschwunden ist, der Motor weiter leckt und falsch eingestellt ist, um einen Autovergleich zu bemühen. Oder in unserem Fall bleibt vielleicht die oder andere Einstellung beibehalten, die sich negativ auswirkt, eine Software-Lösung wird vielleicht nicht durch eine modernere Lösung ersetzt und alles was wir mal ausprobiert haben und danach nie wieder genutzt haben nimmt weiterhin Plattenplatz weg.
Das ist dann auch meist das Argument für die Befürworter von Neuinstallationen statt Upgrades. Ein weiteres war zumindest früher oft das Thema es gibt kein einfaches, geeignetes Werkzeug und der Vorgang ist nicht supportet. So musste man früher für Updates von RHEL immer über die Installationsabbilder gehen, damit auch Änderungen an Einstellungen sowie Software möglich waren, wodurch der Aufwand quasi bis auf das Wiederherstellen von Daten der einer Neuinstallation gleicht. Der alternative Weg über den Packagemanager war oft mit manuellen Nacharbeiten verbunden und absolut nicht durch den Support abgedeckt. Hier setzt Leapp an um einen Mittelweg aus Einfachheit für den Benutzer und der Möglichkeit für Anpassungen durch die Distribution zu finden.

Das Projekt

Das Projekt Leapp hat Red Hat 2017 gestartet und es besteht aus einem Framework und den sogenannten Actors, die die eigentliche Arbeit ausführen. Das erste Mal zum Einsatz kam es dann als Upgrade von RHEL 7 auf 8. Weitere Bekanntheit bekam das Projekt unter dem Namen ELevate, was ein Fork der Actor durch die Distributoren von AlmaLinux ist. Der Fork enthält dann Actors um CentOS Linux 7 auf AlmaLinux OS 8, CentOS Stream 8, EuroLinux 8, Oracle Linux 8 oder Rocky Linux 8 zu aktualisieren. Auch wenn die Intention sicher ein einfacher Wechsel von CentOS zu AlmaLinux war, ist der Open-Source-Gedanke hier mit der zusätzlichen Unterstützung der anderen Distributionen sehr löblich umgesetzt, insbesondere nachdem CentOS selbst die Unterstützung von Leapp ausgeschlossen hatte. Für ein Upgrade von RHEL 8 auf 9 gibt es mittlerweile vom Leapp-Projekt selbst auch Actors, was der Grund für mich war mich erneut mit dem Projekt zu beschäftigen, da bei einem Kunden genau dieses Update ansteht.
mehr lesen…

Dirk Götz
Dirk Götz
Principal Consultant

Dirk ist Red Hat Spezialist und arbeitet bei NETWAYS im Bereich Consulting für Icinga, Puppet, Ansible, Foreman und andere Systems-Management-Lösungen. Früher war er bei einem Träger der gesetzlichen Rentenversicherung als Senior Administrator beschäftigt und auch für die Ausbildung der Azubis verantwortlich wie nun bei NETWAYS.

Schulungsnotebooks in neuem Gewand

In diesem Jahr konnten wir endlich wieder mehr Vor-Ort Trainings durchführen als in den vergangenen Jahren und sogar vereinzelte Inhouse-Trainings bei Kunden waren möglich. Bisher haben wir bei unseren Präsenztrainings oder auch -workshops auf Notebooks mit CentOS 7 gesetzt, und zwar deshalb weil die automatische Provisionierung durch unseren sog. „Event“-Foreman in Kombination mit Puppet seit langer Zeit gut funktioniert.

Recovery-Eintrag

Da es in der Vergangenheit für die Kollegen allerdings sehr aufwändig war die Notebooks nach jedem Training wieder ins Büro zu schleppen, sie zu verkabeln und sie dann von Grund auf neu zu installieren, haben wir uns einen Trick einfallen lassen: Nach der automatischen Grundinstallation des Betriebssystems wird ein LVM-Snapshot des Base Images erstellt. Grob gesagt heißt das der Stand des Base Images wird eingefroren und alles was neu hinzukommt bzw. verändert wird (z.B. individuelle Schulungsvorbereitungen für verschiedene Trainings) belegt zusätzlichen Plattenplatz. Damit lässt sich das ursprüngliche Base Image ohne Neuinstallation eines Notebooks schnell wieder herstellen und kann so auf das nächste Training angepasst werden.

Ein weiterer Vorteil des Ganzen ist das die Schulungsteilnehmer ihre Arbeitsumgebung so gestalten können wie sie möchten und beispielsweise auch uns nicht bekannte Passwörter setzen können, mit dem Löschen des LVM-Snapshots ist alles wieder vergessen. Um es auch technisch nicht so affinen Kollegen einfach möglich zu machen Notebooks „zurückzusetzen“, gibt es hierfür beim Booten unser Schulungsnotebooks einen „Recovery“-Eintrag im GRUB-Bootloader der den LVM-Snapshot des Base Images ohne jedes Zutun zurückspielt und das Notebook anschließend neu startet.

Wie kommen aber nun die individuellen Schulungsvorbereitungen auf die Notebooks? Ist die Frage die wir uns auch gestellt haben. Individuelle Schulungsvorbereitungen können z.B. die virtuelle Maschine(n) für das Training sein, meistens auf Basis von Virtual Box, SSH Keys, Hosteinträge, bestimmte Browser oder andere Applikationen um den Schulungsteilnehmern die praktischen Übungen überhaupt möglich bzw. so einfach wie nur denkbar zu machen. Sie in den Provisionierungsprozess einzubauen scheidet ja aus, da die Notebooks wenn überhaupt nur unregelmäßig neu installiert werden sollen.

Also haben wir uns auch hier etwas überlegt: Wir haben im allgemeinem Base Image ein Bash-Skript mit einem statischen Link zur Nextcloud abgelegt. Dort findet sich ein weiteres Skript das auf die aktuell angebotenen Trainings und die jeweils dafür benötigten Schulungsvorbereitungen verweist. D.h. hier liegen beispielsweise dann auch die aktuellen virtuellen Maschinen. Um das Ganze auf den Notebooks umzusetzen verwenden wir wieder Puppet, hier war die Transition leichter da wir das in der Vergangenheit so ähnlich eh schon im Foreman hatten. Damit auch jeder der Kollegen ein Notebook individualisieren kann, gibt’s hierfür natürlich auch einfache Auswahldialoge. Wurde ein Notebook für ein bestimmtes Training vorbereitet, so löscht sich das Skript zur Vorbereitung und kann erst nach dem Recovery wieder ausgeführt werden.

Beispielhafter Auswahldialog für individuelle Schulungsvorbereitung (teils mit historischen Trainings)

Das alles sollte nun natürlich auch weiterhin funktionieren. Da CentOS 7 ab 2024 keine Maintenance Updates mehr bekommt und wir bei manchen Schulungen die nativ auf den Notebooks durchgeführt werden auch etwas mit den veralteten Versionsständen zu kämpfen haben, fiel unsere Entscheidung auf CentOS Stream 9 als neues Betriebssystem für unsere Schulungsnotebooks. Damit wir überhaupt dran denken konnten CentOS Stream zu provisionieren musste erstmal das Debian auf unserem „Event“-Foreman angehoben werden, danach folgten viele kleine Updates von Foreman 1.22 bis zum aktuellen Release 3.4.0 und auch Puppet bzw. die Puppetmodule mussten aktualisiert werden. Im Foreman selbst waren die Mirrors für CentOS Stream einzurichten, Bereitstellungsvorlagen anzupassen und auch die Partitionierung haben wir aufgrund der gestiegenen Plattenkapazität der Notebooks adaptiert. Für einen automatischen Ablauf der Provisionierung nutzen wir das Foreman Discovery Plugin.

Foreman Discovery der Schulungsnotebooks

Wer sich nun selbst ein Bild von unseren Schulungsnotebooks machen möchte, dem kann ich natürlich auch nicht nur deswegen eines unserer Trainings oder einen unserer angebotenen Workshops ans Herz legen. Vielleicht auch im Zuge der diesjährigen OSMC (Open Source Monitoring Conference).

Markus Waldmüller
Markus Waldmüller
Lead Consultant

Markus war bereits mehrere Jahre als Sysadmin in Neumarkt i.d.OPf. und Regensburg tätig. Nach Technikerschule und Selbständigkeit ist er nun Anfang 2013 bei NETWAYS als Lead Senior Consultant gelandet. Wenn er nicht gerade die Welt bereist, ist der sportbegeisterte Neumarkter mit an Sicherheit grenzender Wahrscheinlichkeit auf dem Mountainbike oder am Baggersee zu finden.

Foreman 3.0 – Was bedeutet der neue Major-Release

Wer erinnert sich noch an die letzte Versionsnummer bei Foreman mit einer 1 am Anfang? Es war eine 1.24, also 25 Minor-Releases und ein ganzer Haufen Bugfix-Releases, bis zur 2.0! Und nun nach nur 6 Releases mit einer 2.x, kommt schon die 3.0? Hat die Entwicklung hier so viel Fahrt aufgenommen? Um gleich alle Bedenken vorweg zu nehmen: Nein, Foreman nutzt die Major-Versionen um eine größere Änderung an der Infrastruktur hinzuweisen. Mit 2.0 war es die Fokussierung auf PostgreSQL als einzige Datenbank und mit 3.0 ist es das Herauslösen von Puppet in ein separates Plugin.

Puppet als separates Plugin

Das Puppet bei Foreman eine Sonderstellung gegenüber den anderen Konfigurationsmanagementlösungen hat bzw. ab jetzt hatte, ist historisch leicht zu begründen, da Foreman als Managementoberfäche für Puppet entstanden ist. Schon lange sollten die anderen Lösungen aber möglichst gleiche Funktionalität bieten und als gleichwertig betrachtet werden können. Nachdem sowohl in der Community öfters die Frage aufkam, ob man Foreman auch ganz ohne Puppet nutzen kann, als auch sich für Red Hat die Strategie zu Ansible als einzige Konfigurationsmanagementlösung geändert hat, war es nur eine Frage der Zeit, dass Puppet mit den anderen Lösungen gleichgestellt und als ein Plugin heraus gelöst wurde. Das Red Hat hierfür verständlicherweise die Entwicklungszeit zurückfahren möchte, wurde auch bereits von Anfang an klar kommuniziert und somit hat Ondrej Ezr um Unterstützung aus der Community für die weitere Pflege gebeten. Hier geht der Dank ganz klar an die ATIX AG und dmTech, die sich hierzu bereit erklärt haben, sowie iRonin, die sie dabei unterstützen.

Bereits in den letzten Versionen war das Plugin verfügbar und konnte getestet werden. Mit 3.0 wird es immer noch standardmäßig installiert, kann aber falls Puppet nicht gewünscht ist einfach deinstalliert werden. Erst mit 3.1 ist es angedacht es nicht mehr direkt mit zu installieren.

Bis jetzt sind mir hier noch keine Probleme aufgefallen, aber wenn man bedenkt, dass hier dmTech mit wesentlich größerer Umgebung in Produktion testen kann, hätte mich das auch gewundert. Daher mein Aufruf an Foreman-Nutzer ohne Puppet-Umgebung, direkt mal das Plugin zu deinstallieren und zu testen, bzw. an die mit Puppet-Umgebung zu prüfen, ob nicht doch ein Fehler in ihrer Umgebung auftritt.

Neue Hostansicht als Preview

Natürlich bleibt die Entwicklung hier nicht stehen, der nächste große Schritt wird die Modernisierung der Hostansicht sein. Diese ist zwar immer noch funktional aber unbestreitbar in die Jahre gekommen. Wer möchte kann also die Chance nutzen, die neue Ansicht aktivieren und Feedback geben. Zwar sind bereits die ersten Detailverbesserungen für die 3.0.1 angekündigt, aber nur mit Feedback von Leuten die Foreman auch täglich nutzen, kann in meinen Augen auch das bestmögliche Ergebnis erzielt werden.

Wer also die neue Hostpage sehen möchte, muss unter „Administer -> Settings -> Generic“ die Option „Show Experimental Labs“ aktivieren. Nun taucht im Action-Menü der Hostübersicht eine neue Option „New Detail Page“ auf.

Neue Host-Action 'New Detail Page'

Diese sieht aktuell folgendermaßen aus:

Neue Hostansicht

Teil der neuen Hostansicht ist bereits jetzt eine neue Statusübersicht, weitere Tabs für die verschiedenen Plugins werden in den nächsten Minor-Releases folgen.

Neue Statusübersicht

Über Lob, Kritik oder Anregungen freut sich der Feedback-Thread im Community-Forum.

Zukunftssicherheit

Die meisten anderen Änderungen möchte ich unter Zukunftssicherheit zusammenfassen. Zum einen setzt Foreman ab 3.0 auf mod_auth_gssapi für die Kerberos-Authentifizierung, damit steht dieser auch auf EL8 nichts mehr im Weg. Zum anderen wurde der Code zum Parsen der Systemdaten aus allen Quellen in Foreman selbst verschoben, was das angedachte Refactoring erleichtern sollte.

Dazu kommen noch kleine Änderungen an Permissions, Parametern und Defaults, die sich in der Upgrade-Warnings finden. Und zu guter Letzt wurde der Support für Ubuntu 18.04 und EL7 als Plattform abgekündigt, wobei für ersteres konkret mit 3.0 der Support ausläuft, bei EL7 gilt aktuell nur EL8 ab dieser Version als bevorzugte Plattform.

Zusätzlich listen die Release Notes noch eine große Menge an Detailverbesserungen und Bugfixes auf.

Ich wünsche allen ein erfolgreiches Update, Katello-Nutzer warten darum bitte noch auf den finalen Release der Version 4.2! Und wer sich fragt wovon ich hier überhaupt rede, kann sich ja mal unsere Produktseite anschauen, die wir vor kurzem aktualisiert und erweitert haben.

Dirk Götz
Dirk Götz
Principal Consultant

Dirk ist Red Hat Spezialist und arbeitet bei NETWAYS im Bereich Consulting für Icinga, Puppet, Ansible, Foreman und andere Systems-Management-Lösungen. Früher war er bei einem Träger der gesetzlichen Rentenversicherung als Senior Administrator beschäftigt und auch für die Ausbildung der Azubis verantwortlich wie nun bei NETWAYS.

Recap of the Foreman Birthday event 2021 – It was a great experience

Last week on Thursday we had the Foreman Birthday event and I can proudly say it was a big success. So lets talk about two things in the blogpost, first about the event itself and second about the organization of the event.

A Foreman Birthday event traditionally consists of multiple talks including a Q&A and the social part which is a great coming together by beer and pizza and usually there is also some cake involved! For organizing the event we teamed up with ATIX, so we share responsibility hosting the event every other year and support each other while doing so. With them doing a great job moving the event online last year because of the pandemic, it was clear to me the event had to happen this year, too. The idea of an hybrid event was also dismissed quickly so also all social activities had to be online only.

So to get the talks together I did the typical mix of asking former speakers, making a public announcement, asking others I hoped they would perhaps give a great talk, asked Melanie and Bernhard to ask internally at Red Hat and ATIX, thinking about doing a talk myself, considering a kettle prod to motivate colleagues and this resulted in a great diversity of ideas. So choosing the actual talks had nothing to with finding the best one, but with picking a good mixture of relevant topics for Foreman and Katello users, addressing users and developers, having something likely new to many and updates on topics that matter most.

Now our NETWAYS Events team had some experience with online events with stackconf, a three day conference on open source infrastructure, being the biggest one. So when asked for recommendations one was to have the talks pre-recorded which I happily followed, but for more community interaction I still wanted to do live Q&A in addition to the included web chat. Thanks to my colleague Christian I had some nice guide to give to those speakers who never did a recording before. And all speakers delivered, one early, one in time, three after a reminder last minute and one with a delay, but having all except one allowed me to publish a schedule. I included some small breaks and an intro and outro, but as I was the only moderator it kept it rather short.

For the actual event Christian helped me to setup everything in OBS and map it to a stream deck, so I only had to push buttons, but it was still pushing the correct button at the correct time! So with every message I got more and more excited but also nervous as I recognized I will have a big, excited audience and everything was so well prepared that I was the only one who could mess up.

Stream of the Foreman Birthday event 2021

If you watch the recorded event at youtube, you will know what I mean. But you can also directly jump into the first talk from Manisha Singhal “Deploying servers in an Application Centric Way” where she introduces the Foreman plugin Application Centric Deployment which allows to deploy all the systems required for one application using Ansible. If you want to dive deeper into it also her example deploying an Elastic Stack and official documentation is available.

The second talk was by Matthias Dellweg of the Pulp project who gave “Pulp 3 introduction for Katello users – exploring the backend and tracing issues” which will hopefully help many Katello users in the future. The cli got directly packaged and included in the repositories on the event so you can directly try Matthias tips.

The third one is a great example for the community involvement in the project as Maria Agaphontzev did a “Demo and Feedback session for the new Job invocation wizard”, so there was directly the option to influence the future of this part of Foreman. If you still have some feedback for her, you can comment on her pull-requests or in the community forum.

In “Katello for Debian based systems: Update and Outlook” by Quirin Pamp you can learn about the state for Debian support, why development was slowed down and how they will get it going in the future. It looks like some small steps are still needed for feature parity to RPM support, but there are already plans to not stop there like adding support for source packages! If you are interested you can even join the discussion.

An always welcome talk is the “Red Hat Product manager update”. This time it was done by Dana Singleterry who told us about the plans Red Hat has for future development and as everything of this has to happen in Foreman, Katello and Pulp the community will directly benefit from this. And for the live Q&A Dana joined from the co-driver’s seat while traveling! This is some great commitment!

And last but not least Lukáš Zapletal told us “The story of webhooks plugin” which was a great mix of story telling and technical talk ending by him playing Happy Birthday on the piano. So watch this talk even if you are not using the Foreman plugin hooks at the moment and not thinking about using webhooks and shellhooks in the future! And if you already think answering questions from the co-driver’s seat is great commitment, then Lukáš is also over the top here because he had a garden party including a live stream of the event to celebrate Foreman’s Birthday and was answering questions from there!

Lukáš Zapletal live on the Foreman Birthday event 2021

But as I said having great talks is only one aspect and depending on your preferences even not the most important which brings me to the social event. As I do not like online conferences very much, I wanted a social event as near as possible to a normal conference and when asked our Events team told me they have planned something called workadventure for stackconf. So after a look into, I committed myself to the solution and just wanted to get feedback how it worked out on the much bigger conference. Because of me waiting on the feedback and other time limiting factors it was not possible to build a new setup for the Birthday Event, so I asked about re-decorating the one from stackconf what our Webservices team did.

Workadventure on Foreman Birthday event 2021

So while I did the stream more and more people used workadventure to connect and I was told people really enjoyed it. There were message popping up like „Melanie is stalking people“ or „It is like a really conference I am missing out on talks“, so I think I reached my goal! And when I joined after the livestream I could still talk to people about 2 hours long until the last one left.

So from all the feedback I got the event was a great success and as I was only the one who brought all the pieces together my thanks goes to our Events team and Christian for their support and help, our Webservices team for the technical parts like the chat instance and workadventure, the speakers for their talks, Melanie and Bernhard who helped me with getting speakers, also Melanie, our and ATIX Marketing team for promoting the event and of course every one attending the event and making it such a great experience.

So I hope in-person events will be a thing in the near future and the Foreman community can come together next year on FOSDEM and Config Management Camp like we did before the pandemic and I am looking forward to next year’s Foreman Birthday event which will be hosted by ATIX again!

Dirk Götz
Dirk Götz
Principal Consultant

Dirk ist Red Hat Spezialist und arbeitet bei NETWAYS im Bereich Consulting für Icinga, Puppet, Ansible, Foreman und andere Systems-Management-Lösungen. Früher war er bei einem Träger der gesetzlichen Rentenversicherung als Senior Administrator beschäftigt und auch für die Ausbildung der Azubis verantwortlich wie nun bei NETWAYS.

Foreman Birthday Event: Let’s celebrate!

On July 1, 2021 we have the pleasure to celebrate the birthday of one great open source solution: the Foreman is turning 12!

Happy anniversary!

Together with our friends from the Foreman Project and ATIX we organize a one-day event to celebrate and dive into the latest Foreman topics and news. This year, the party will be online – streamed in the Foreman Youtube Channel: https://www.youtube.com/Foreman – Start: 3 pm

Presentations will be on until approx. 6.30 pm and afterwards a special social event will take place and give you the opportunity to continue the discussion and catch up with each other. And this is the top-class program awaiting you:

  • “Deploying servers in an Application Centric Way” – Manisha Singhal
  • “Pulp 3 introduction for Katello users – exploring the backend and tracing issues” – Matthias Dellweg
  • “Demo and Feedback session for the new Job invocation wizard” – Maria Agaphontzev
  • “Katello for Debian based systems: Update and Outlook” – Quirin Pamp
  • “Red Hat Product manager update” – Dana Singleterry
  • “The story of webhooks plugin” – Lukáš Zapletal

The event is for free. For more information about it have a look at https://community.theforeman.org/t/foreman-birthday-party-2021/23037

Learn more about Foreman

And if you want to learn more about the helpful open source tool I highly recommend you to book a seat in one the NETWAYS Foreman Trainings at https://www.netways.de/trainings/foreman/

The next Foreman training is scheduled for June 29 – 30, 9 am – 5 pm and will take place in Nuremberg.

Foreman is a lifecycle management system for servers. It supports administrators in the provisioning of virtual and physical systems and the subsequent configuration management. In addition to the graphical interface, Foreman provides both a command line and an API for integration into other applications. The software can be extended in its range of functions by plug-ins and thus forms the basis of the Red Hat Network Satellite, among other things.

Julia Hornung
Julia Hornung
Lead Marketing Manager

Julia ist seit Juni 2018 bei NETWAYS. Mit ihren Spezialgebieten Texte/Konzepte, Branding und PR ist sie für Tone of Voice und Wording von NETWAYS und Icinga verantwortlich. Davor war sie als Journalistin und in der freien Theaterszene spannenden Geschichten auf der Spur. Ihre Leidenschaft gilt gutem Storytelling, klarer Sprache und ausgefeilten Texten. Ihre innere Mitte findet sie beim Klettern und Yoga.