| commit | 3b0c8dd5b5a4cb535f9d256a0b6b3676507eb3e4 | [log] [tgz] |
|---|---|---|
| author | Jan Schär <jan@monogon.tech> | Mon Jun 23 10:32:07 2025 +0000 |
| committer | Jan Schär <jan@monogon.tech> | Wed Jun 25 15:37:52 2025 +0000 |
| tree | e568a2087ba4f8335a1e2ba10a8e01e9809b4de8 | |
| parent | e0db72ca567b5142bb6a31d745b3bf78cd8eb53a [diff] |
m/test/launch: build image at runtime Test launch now builds the node disk image from the OCI image, instead of creating a qcow2 snapshot of the pre-built disk image. This speeds up tests and test cluster launch. The OCI image is uncompressed and payloads are not verified, which enables the previously implemented copy_file_range optimization. If the host file system supports reflinks, this has a similar effect as the qcow2 snapshot had previously: Building the image is very fast as the rootfs data is not copied on disk. On my machine, it takes 30 ms. The build before launching a cluster is now faster: The MkImage step taking 6 s is replaced by MkOCI taking 1 s. The majority of this time is spent by Bazel computing hashes of files. For MkImage, the generated file was a 5 GB disk image consisting mostly of zeroes, which took a long time to hash. Additionally, the qcow2 layer added some overhead, which is now gone. The HA e2e test previously took 103 s on my machine, now it takes 80 s. Change-Id: I0ce5059626cc682061c26ac3c8d11b752e641c60 Reviewed-on: https://review.monogon.dev/c/monogon/+/4294 Tested-by: Jenkins CI Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
This is the main repository containing the source code for the Monogon Platform.
This is pre-release software - take a look, and check back later! In the meantime, join us on Matrix (#monogon-os-community:matrix.org) or Discord.
Our build environment is self-contained and requires only minimal host dependencies:
/dev/kvm (if you want to run tests).Our docs assume that Bazelisk is available as bazel on your PATH.
Refer to SETUP.md for detailed instructions.
The source code lives in //metropolis (Metropolis is the codename of Monogon OS).
See the //metropolis/README.md for a developer quick start guide, or see the Monogon OS Handbook for user documentation.