KLYRN VM / Blog

The installer is run on twelve systems before a release

Before a KLYRN VM release is offered, one server is reinstalled twelve times, once per Linux system, and the installer has to pass 30 checks on each.

· 2 min read · The KLYRN team

ReleasesImages

An installer that worked on the machine it was written on proves very little. So before a KLYRN VM release becomes the one get.klyrn.com/vm hands out, a single test server is reinstalled from nothing, once for each Linux system the product supports, and the public command is run on it each time.

The twelve

Ubuntu 22.04, 24.04 and 26.04. Debian 12 and 13. AlmaLinux 8, 9 and 10. Rocky Linux 8, 9 and 10. CentOS Stream 10. For release 1.1.8 every one of them passed 30 of 30 checks.

What a check is

Not "the command exited 0". The run asks the things a person would find out the hard way:

  • The controller is installed, active, enabled at boot, and answers on its public address.
  • The binary reports the version that was asked for.
  • The first administrator can be created with the setup token, and can sign in.
  • Adding the server as its own first compute node works with one command.
  • A network, a storage pool and an image with a checksum exist without anybody making one.
  • A machine can be asked for, is built, runs, answers ping, and its guest agent answers.
  • The machine can be deleted, the health check finds nothing wrong, and the controller comes back after a restart.

On Ubuntu 24.04 the controller was installed in 2 seconds, the node was added in 12, and the first machine was running 24 seconds after it was asked for, image download included.

Published is not promoted

A release is first published under its own version number, where nobody gets it by default. The run installs that exact version. Only when the results have been read is it promoted to be the latest, and then the public command is run once more to prove that what people will actually type installs it.

What the run found

It has earned its keep. It found a package mirror that accepted connections and then went silent, which left one family of systems waiting in a package step for ever; the installer now gives up on a silent mirror and asks the distribution's own servers. It found a race where a machine was asked for before its network existed. Neither showed up on the machine the code was written on.

Fedora is the honest exception. The controller installs on it. A compute node is refused there, with the reason, because a host that holds customer machines should sit on a long-support system. The install page has the command and the stages it runs.