m/t/installer: deflake by silencing kernel logs
The installer test was failing due to the success flag getting broken
in two by the kernel logs, like this:
>TestOS launched successfully! _TESTOS_LAUNCH_SUC[ 0.963289] kvm:
>exiting hardware virtualizationCESS_
This change addresses this problem by setting an adequate loglevel for
both the installer and testos kernels.
m/t/installer/BUILD.bazel now defines its own unified kernel image
target with a custom kernel cmdline needed for test purposes.
Change-Id: I43547b6c81f8a1ebc4facb841a600b155af581df
Reviewed-on: https://review.monogon.dev/c/monogon/+/464
Reviewed-by: Sergiusz Bazanski <serge@monogon.tech>
diff --git a/metropolis/node/installer/BUILD.bazel b/metropolis/node/installer/BUILD.bazel
index f69ecbe..9e1a36a 100644
--- a/metropolis/node/installer/BUILD.bazel
+++ b/metropolis/node/installer/BUILD.bazel
@@ -27,7 +27,7 @@
files = {
"//metropolis/node/installer": "/init",
},
- visibility = ["//visibility:private"],
+ visibility = ["//metropolis/test/installer:__pkg__"],
)
os_release(
@@ -39,7 +39,6 @@
efi_unified_kernel_image(
name = "kernel",
- cmdline = "console=ttyS0",
initramfs = ":initramfs",
kernel = "//third_party/linux",
os_release = ":installer-release-info",
diff --git a/metropolis/test/installer/BUILD.bazel b/metropolis/test/installer/BUILD.bazel
index 9b094a8..5763d75 100644
--- a/metropolis/test/installer/BUILD.bazel
+++ b/metropolis/test/installer/BUILD.bazel
@@ -1,10 +1,11 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test")
+load("//metropolis/node/build:efi.bzl", "efi_unified_kernel_image")
go_test(
name = "installer",
size = "small",
data = [
- "//metropolis/node/installer:kernel",
+ ":kernel",
"//metropolis/test/installer/testos:testos_bundle",
"//third_party/edk2:firmware",
"@qemu//:qemu-x86_64-softmmu",
@@ -28,3 +29,11 @@
"@io_bazel_rules_go//go/tools/bazel:go_default_library",
],
)
+
+efi_unified_kernel_image(
+ name = "kernel",
+ cmdline = "loglevel=0 console=ttyS0",
+ initramfs = "//metropolis/node/installer:initramfs",
+ kernel = "//third_party/linux",
+ visibility = ["//visibility:private"],
+)
diff --git a/metropolis/test/installer/main.go b/metropolis/test/installer/main.go
index a5bac64..34c4d31 100644
--- a/metropolis/test/installer/main.go
+++ b/metropolis/test/installer/main.go
@@ -156,7 +156,7 @@
// side effects, it must be just a filename.
src string
}{
- {&installerEFIPayload, true, "metropolis/node/installer/kernel.efi"},
+ {&installerEFIPayload, true, "metropolis/test/installer/kernel.efi"},
{&testOSBundle, true, "metropolis/test/installer/testos/testos_bundle.zip"},
{&installerImage, false, "installer.img"},
{&nodeStorage, false, "stor.img"},
diff --git a/metropolis/test/installer/testos/BUILD b/metropolis/test/installer/testos/BUILD
index c6ced2b..55fbd47 100644
--- a/metropolis/test/installer/testos/BUILD
+++ b/metropolis/test/installer/testos/BUILD
@@ -12,7 +12,7 @@
efi_unified_kernel_image(
name = "kernel_efi",
- cmdline = "console=ttyS0 root=PARTLABEL=METROPOLIS-SYSTEM rootfstype=erofs init=/init",
+ cmdline = "loglevel=0 console=ttyS0 root=PARTLABEL=METROPOLIS-SYSTEM rootfstype=erofs init=/init",
kernel = "//third_party/linux",
)