SUSE Multi-Linux Manager 5.1: Probleme beim Ändern des FQDNs

Üblicherweise werden bei der Migration von SUSE Manager 4.3 zu SUSE Multi-Linux Manager 5.x die IP-Adresse und der FQDN übernommen oder über PTR-Records entsprechende Aliase zum neuen System erstellt. Unter manchen Umständen ist dies jedoch nicht gewünscht oder möglich.

Zu diesem Zweck wurde das mgradm server rename-Kommando erstellt (siehe auch die Multi-Linux Manager- und Uyuni-Dokumentation):

1# hostnamectl set-hostname newserver.hurrdurr.biz
2# mgradm server rename

Das Kommando ändert an vielen Stellen (in einigen Konfigurationsdateien und in der Datenbank) entsprechende Vorkommnisse des Namen - allerdings werden dabei einige Dateien vergessen, die dann in einer mgrctl term-Session angepasst werden müssen.

/etc/rhn/rhn.conf:

1java.hostname = newserver.hurrdurr.biz
2osa-dispatcher.jabber_server = newserver.hurrdurr.biz
3web.default_mail_from = SUSE Multi-Linux Manager (newserver.hurrdurr.biz) <root@hurrdurr.biz>

/etc/cobbler/settings.yaml:

1redhat_management_server: newserver.hurrdurr.biz
2server: newserver.hurrdurr.biz
Hinweis

Eine schnelle Suche mittels fgrep in weiteren Konfigurationsdateien unterhalb /etc schadet auch nicht.

Leider sind auch die in der Datenbank hinterlegten Salt Pillar noch zu aktualisieren. Das hat zur Folge, dass das Ausführen des Highstates auf den Systemen zu Problemen führt.

Zum einen wird die manuell angepasste Konfiguration des Salt-Minion (/etc/venv-salt-minion/minion.d/susemanager.conf) wieder zurückgesetzt, aber auch die Konfiguration des Paket-Managers wird fehlkonfiguriert.

Abhilfe schafft das manuelle Aktualisieren der Referenzen. Hierzu wird eine interaktive Shell im Datenbank-Container benötigt.

1# podman exec -ti uyuni-db bash
2# psql -U susemanager -d susemanager --host db

Mit der folgenden Abfrage lassen sich alle Einträge mit veraltetem FQDN auflisten:

1suma=# SELECT id, server_id FROM susesaltpillar WHERE pillar::text LIKE '%oldserver.hurrdurr.biz%';
2id | server_id
3----+------------
413 | 1000010023
537 | 1000010042
6...

Ein Eintrag für ein spezifisches Profil wird wie folgt korrigiert (vielen Dank für den Hinweis, Ralph!):

1UPDATE susesaltpillar
2SET pillar = regexp_replace(
3    regexp_replace(
4        regexp_replace(pillar::text, '"host": "oldserver.hurrdurr.biz"', '"host": "newserver.hurrdurr.biz"', 'g'),
5    '"mgr_server": "oldserver.hurrdurr.biz"', '"mgr_server": "newserver.hurrdurr.biz"', 'g'),
6'"mgr_origin_server": "oldserver.hurrdurr.biz"', '"mgr_origin_server": "newserver.hurrdurr.biz"', 'g')::jsonb
7WHERE id = 13;

Dieser Aufruf muss für alle betroffenen Profile wiederholt werden - der entsprechende Identifier (id) muss dabei angepasst werden. Nach der Anpassung müssen die Pillar des Minions überprüft werden:

1# salt myclient saltutil.pillar_refresh
2# salt myclient pillar.item mgr_server mgr_origin_server
3myclient:
4    ----------
5    mgr_origin_server:
6        newserver.hurrdurr.biz
7    mgr_server:
8        newserver.hurrdurr.biz

Anschließend lässt sich die Highstate wieder anwenden.

Übersetzungen: