Aufgabe #1820
offen
Aufgabe #1817: Update aller Instanzen mit NixOS von 23.05 -> 23.11
NetBox Update Nix-Channel 23.05 -> 23.11
Von SoerenBoxberger vor etwa 1 Jahr hinzugefügt.
Vor 12 Monaten aktualisiert.
Beschreibung
Gibt es breaking Changes zwischen den Anwendungsversionen?¶
Für PostgreSQL wechselt die Default-Version von 14 auf 15
NetBox selbst hat breaking changes in Version 3.6.0 (https://docs.netbox.dev/en/stable/release-notes/version-3.6/#breaking-changes), welche für uns aber augenscheinlich irrelevant sind.
Lohnt es sich die stateVersion zu updaten?¶
Ja, die Default-Version der NetBox wird sonst auf die 3.5.9 gesetzt, mit state version 23.11 kommt man auf die 3.6.6
Mit stateVersion 23.11 muss `networking.defaultGateway.interface` zusätzlich zur IP-Adresse gesetzt werden, sobald (wie hier der Fall) systemd-networkd verwendet wird.
Nix channel updaten¶
System neu bauen¶
Zugehörige Tickets
1 (1 offen — 0 geschlossen)
Zum Testen des Upgrades wurde ein neuer Container erstellt: https://10.1.0.31:8006/#v1:0:=lxc%2F123:4:::::::
Darin soll dann die aktuelle Config mit der stateVersion 23.11 auf dem Channel 23.11 gebaut und ein Datenbank-Dump der produktiven Instanz eingespielt werden.
Wenn das funktioniert, wird die Prozedur noch einmal (dann produktiv) neu durchgeführt.
Das Vorgehen bisher ist wie folgt:
- Mit
sudo -u netbox pg_dump --insert netbox > netbox-$(date +%Y-%m-%d).psql
einen DB-Dump im produktiv container erzeugen
- Auf dem Host mit
mkdir -p temp/etc/nixos
pct pull 113 /etc/nixos/configuration.nix temp/etc/nixos/configuration.nix
pct pull 113 /etc/nixos/old-configuration.nix temp/etc/nixos/old-configuration.nix
pct pull 113 /var/lib/netbox/secretFile temp/secretFile
pct pull 113 /root/netbox-2024-01-10.psql temp/netbox-2024-01-10.psql
- Den neuen Container erstellen
- Auf dem Host mit
pct push 123 temp/netbox-2024-01-10.psql /root/netbox-2024-01-10.psql
pct push 123 temp/etc/nixos/configuration.nix /etc/nixos/configuration.nix
pct push 123 temp/etc/nixos/configuration.nix /etc/nixos/old-configuration.nix
pct push 123 temp/etc/nixos/old-configuration.nix /etc/nixos/old-old-configuration.nix
die Konfigurationen und den DB-Dump in den neuen Container legen.
- Im neuen Container die StateVersion auf `23.11` setzen
- Beim defaultGateway muss in der neuen stateVersion auf das Interface gesetzt werden,sonst kommt die Fehlermeldung "networking.defaultGateway.interface is not optional when using networkd" beim Bauen
- Ein Diff sollte so aussehen:
diff old-configuration.nix configuration.nix
12c12
< system.stateVersion = "23.05";
---
> system.stateVersion = "23.11";
45c46,49
< networking.defaultGateway = "10.1.0.1";
---
> networking.defaultGateway = {
> address = "10.1.0.1";
> interface = "eth0";
> };
- Im test container:
nix-channel --add https://nixos.org/channels/nixos-23.11 nixos
nix-channel --update
nixos-rebuild switch
- Auf dem Host mit
pct push 123 temp/secretFile /var/lib/netbox/secretFile
in den neuen Container legen (erst jetzt existiert der Pfad)
- Im test container:
systemctl stop netbox-housekeeping.timer netbox-housekeeping netbox netbox-rq
sudo -u postgres psql
drop database netbox;
create database netbox;
alter database netbox owner to netbox;
\q
sudo -u netbox psql netbox < netbox-2024-01-10.psql
netbox-manage migrate
systemctl start netbox netbox-rq netbox-housekeeping netbox-housekeeping.timer
Dann läuft NetBox in Version 3.6.6 mit PostgreSQL 15.5 auf Nix-Channel 23.11
Für das Bauen sind mindestens 9 GB RAM nötig.
Als ich versucht habe die Prozedur zu wiederholen, schlug das Bauen wegen eines Timeouts in irgendwelchen Tests fehl. Der einzige Unterschied zwischen dem Test und dem jetzigen Versuch ist der Storage: den Test habe ich auf local-zfs gemacht, die neue Instanz wollte ich wieder auf den ceph Storage legen.
Ich habe jetzt den Storage des Containers auf local-zfs migriert und dort erfolgreich neu gebaut.
Nachdem ich die verbleibenden Schritte durchgeführt habe, habe ich den Storage wieder auf Ceph migriert.
Im alten Container gab es ein Interface namens monitoring, das jemand (wahrscheinlich war ich mit beteiligt) mal hinzugefügt, aber nicht konfiguriert hat.
Deshalb habe ich es bei dem neuen Container weggelassen
- Status wurde von Neu zu Feedback geändert
- Vorgänger von Aufgabe #1953: Aktualisierung NixOS (von Version 23.11) auf Version 24.05 Instanz Dienst Serververwaltung (Anwendung NetBox) wurde hinzugefügt
Auch abrufbar als: Atom
PDF