Case

In-place distributie-upgrade

In ontwikkeling

Rocky Linux 9 naar 10 op een draaiende machine, met alle pakketten uit de eigen patchserver.

Wat & waarom

Eén Ansible-playbook dat een draaiende Rocky Linux 9-machine ter plekke naar versie 10 tilt. Alle pakketten komen uit de eigen Foreman/Katello-server, niet van het internet, zodat de upgrade dezelfde gecontroleerde inhoud gebruikt als het reguliere patchproces.

De gebruikelijke route voor zo'n upgrade viel weg: het upstream-migratieproject liet Rocky Linux vallen, en de benodigde migratiegegevens voor deze versiesprong komen er niet. Zelf die gegevens onderhouden is een doorlopende last voor weinig winst binnen dezelfde distributiefamilie. Wij kozen daarom voor de eenvoudiger weg, en schreven er expliciet bij welke vangnetten we daarmee opgeven — een offline transactie, een brede blokkade-analyse vooraf, en een samengestelde pakketvertaling — plus hoe we die stap voor stap willen terughalen.

Aanpak

  1. Eén playbook, aan te roepen per machine, met een controle-modus die vooraf de bekende blokkades nagaat.
  2. Alle inhoud uit de eigen Katello-server; geen enkel pakket van upstream.
  3. Een momentopname van de virtuele machine als terugvalpad, in plaats van te vertrouwen op de atomaire werking die de weggevallen route bood.
  4. Wat er na afloop nog aan oude pakketten overblijft, wordt vastgelegd in plaats van weggemoffeld.

Techniek

  • Ansible
  • Foreman/Katello
  • Rocky Linux
  • dnf