m/test/launch: print qemu options at startup
Change-Id: I35b234301e7c06a910127a4cf2c1573d23af45a9
Reviewed-on: https://review.monogon.dev/c/monogon/+/1077
Tested-by: Leopold Schabel <leo@monogon.tech>
Reviewed-by: Serge Bazanski <serge@monogon.tech>
diff --git a/metropolis/test/launch/cluster/cluster.go b/metropolis/test/launch/cluster/cluster.go
index 010d47d..18cab25 100644
--- a/metropolis/test/launch/cluster/cluster.go
+++ b/metropolis/test/launch/cluster/cluster.go
@@ -40,6 +40,9 @@
// NodeOptions contains all options that can be passed to Launch()
type NodeOptions struct {
+ // Name is a human-readable identifier to be used in debug output.
+ Name string
+
// Ports contains the port mapping where to expose the internal ports of the VM to
// the host. See IdentityPortMap() and ConflictFreePortMap(). Ignored when
// ConnectToSocket is set.
@@ -330,6 +333,8 @@
systemCmd.Stderr = &stdErrBuf
systemCmd.Stdout = options.SerialPort
+ launch.PrettyPrintQemuArgs(options.Name, systemCmd.Args)
+
err = systemCmd.Run()
// Stop TPM emulator and wait for it to exit to properly reap the child process
@@ -638,6 +643,7 @@
// had bootstrapped the cluster.
nodeOpts := make([]NodeOptions, opts.NumNodes)
nodeOpts[0] = NodeOptions{
+ Name: "node0",
ConnectToSocket: vmPorts[0],
NodeParameters: &apb.NodeParameters{
Cluster: &apb.NodeParameters_ClusterBootstrap_{
@@ -669,6 +675,7 @@
go func() {
if err := launch.RunMicroVM(ctxT, &launch.MicroVMOptions{
+ Name: "nanoswitch [99]",
KernelPath: "metropolis/test/ktest/vmlinux",
InitramfsPath: "metropolis/test/nanoswitch/initramfs.cpio.lz4",
ExtraNetworkInterfaces: switchPorts,
@@ -750,6 +757,7 @@
// Use the retrieved information to configure the rest of the node options.
for i := 1; i < opts.NumNodes; i++ {
nodeOpts[i] = NodeOptions{
+ Name: fmt.Sprintf("node%d", i),
ConnectToSocket: vmPorts[i],
NodeParameters: &apb.NodeParameters{
Cluster: &apb.NodeParameters_ClusterRegister_{