Case

Templatefabriek

In gebruik

Elke maand verse, bewezen VM-templates voor drie Linux-distributies — zonder dat iemand ernaar omkijkt.

Wat & waarom

Een geautomatiseerde fabriek die zes VM-templates onderhoudt: de laatste én de voorlaatste versie van Rocky Linux, Ubuntu en Debian. Elke maand haalt hij zelf de nieuwe installatie-ISO's op, bouwt de templates opnieuw, test ze door er een echte VM uit uit te rollen, zet ze pas dán in productie, en mailt een overzicht van wat er goed en fout ging.

Templates verouderen stil. Een handmatige rebuild staat altijd onderaan de lijst, dus in de praktijk rol je maanden later nog steeds een image uit met honderden achterstallige updates erin — en merk je dat pas als er iets misgaat. Wij wilden dat het onderhoud vanzelf gebeurt, en dat een template pas de gedeelde basis wordt als bewezen is dat je er een werkende machine uit krijgt.

Aanpak

  1. Vierde zaterdag: een controle langs de upstream-releases. Is er een nieuwere ISO, dan wordt die opgehaald, op checksum gecontroleerd en vastgelegd — inclusief een merge request die zichzelf doorzet, zodat de wijziging in git staat vóór er iets mee gebouwd wordt.
  2. Vierde zondag: de bouw. Zes templates achter elkaar, elk in een eigen logbestand, en een mislukte bouw blokkeert de rest niet.
  3. Versiebeheer in de content library: de bestaande template krijgt de datum in z'n naam en blijft staan als archief; de verse neemt de plek in. Terugvallen is een kwestie van kiezen, niet van opnieuw bouwen.
  4. Rooktest: uit elke verse template wordt een wegwerp-VM uitgerold en gecontroleerd — draait het systeem, klopt de versie, worden centrale gebruikers herkend — waarna hij weer wordt opgeruimd, ook als de test faalt.
  5. Rapportage: één mail met per distributie de uitkomst van bouw én rooktest, zodat je in één oogopslag ziet of de maand goed is gegaan.

Techniek

  • Packer (HCL)
  • vSphere Content Library
  • Ansible
  • Bash
  • GitLab CI
  • cron