Drift/PHP8-migreringa
Den 7. september 2023 fikk PVV Drift en mail fra NTNU SOC om at to maskiner, isvegg og spikkjeposche, kjørte litt vel gammel PHP. PHP 7 som de kjørte på det tidspunktet var nå ute av support, og vi burde oppgradere til PHP 8 så snart som mulig.
Vi satt oss fort ned og begynte i gang. Et par ting, som isvegg og webmail var enkelt å migrere over. Men det aller meste var enklere sagt enn gjort. Og det tok en god stund å få ting migrert over.
Gjenoppretting av pakker på spikkjeposche
Da vi prøvde å oppdatere PHP på spikkjeposche samme dag, endte vi opp med å ødelegge hele nettsida og mer til. Etter mye om og men fikk vi tilslutt gjenoppretta de gamle PHP 7 pakkene, ved å slette alle de nye pakkene og skrive et lite skript som re-installerte en lang liste med pakker fra pakke-cachen i loop. Grunnen til at den måtte gå i en loop var at vi ikke hadde noen god måte å løse pakke-avhengighetsgrafen på. Så når man prøvde å installere en pakke som avhengte av noe annet, så ville den feile. Etter å ha spunnet et par iterasjoner, så det ut som det meste var tilbake til normalen.
Nixifisering, påsken 2024
I påsken 2024 hadde oysteikt litt ekstra tid og krefter, og hadde egentlig fått nok av at vi satt og kjørte PHP 7 i et halvt år etter første beskjed om å oppgradere. Han brukte en del netter på å omskrive SAML oppsettet vårt og Mediawiki hosting over til NixOS moduler, som så skulle kjøre på bekkalokk. Deretter ble et godt samarbeid om å få sett gjennom koden, flyttet over nettsiden, og fullføre migreringsarbeidet til en tilstand som var akseptabel. Her finner du en del innflettningsforespørsler som inngikk i dugnaden:
- pvv-nixos-config#25: bekkalokk: set up idp + mediawiki
- pvv-nixos-config#27: Setup pvv-nettsiden on www2.pvv.ntnu.no
- pvv-nixos-config#31: finalize-www-migration
- pvv-nixos-config#34: bekkalokk/website: add sp metadata for all domains
- nettsiden#53: Mega PR: Update deps, consolidate config, build with nix, gallery fixes, etc.
- nettsiden#54: Fix navbar links
- nettsiden#55: Fix links after moving from spikkje to bekka
Utfall
Migreringa førte blant annet til at spikkjeposche ble utfaset, og alle tjenestene den kjørte ble flytta til bekkalokk. I tillegg har det vært en del problemer med nettsiden i ettertid, da det fortsatt hang (henger?) igjen en del kode som ikke er migrert skikkelig. Se blant annet:
- nettsiden#63: treewide: flip arg order for
implode()
- nettsiden#66: Fix padding on front-page (aktiviteter)
- nettsiden#68: Replace deprecated functions to support php 8.3
Vi mistet også et par av webmailene vi pleide å hoste. Squirrelmail, Afterlogic og Rainloop gikk på hovvet ut. Vi fikk derimot en ny webmail, Snappymail.