metropolis/test/launch: write nanoswitch logs to correct dir
Change-Id: I9ef4f39d0ca279b9b16158453b9e9b7774426480
Reviewed-on: https://review.monogon.dev/c/monogon/+/4053
Tested-by: Jenkins CI
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
diff --git a/metropolis/test/launch/cluster.go b/metropolis/test/launch/cluster.go
index 7acb738..d8eb8cd 100644
--- a/metropolis/test/launch/cluster.go
+++ b/metropolis/test/launch/cluster.go
@@ -784,6 +784,12 @@
if err != nil {
return nil, fmt.Errorf("failed to create the launch directory: %w", err)
}
+
+ nodeLogDir := ld
+ if os.Getenv("TEST_UNDECLARED_OUTPUTS_DIR") != "" {
+ nodeLogDir = os.Getenv("TEST_UNDECLARED_OUTPUTS_DIR")
+ }
+
// Create the metroctl config directory. We keep it in /tmp because in some
// scenarios it's end-user visible and we want it short.
md, err := os.MkdirTemp("/tmp", "metroctl-*")
@@ -822,10 +828,6 @@
}
if opts.NodeLogsToFiles {
- nodeLogDir := ld
- if os.Getenv("TEST_UNDECLARED_OUTPUTS_DIR") != "" {
- nodeLogDir = os.Getenv("TEST_UNDECLARED_OUTPUTS_DIR")
- }
for i := range opts.NumNodes {
path := path.Join(nodeLogDir, fmt.Sprintf("node-%d.txt", i))
port, err := NewSerialFileLogger(path)
@@ -881,7 +883,8 @@
var serialPort io.ReadWriter
var err error
if opts.NodeLogsToFiles {
- loggerPath := path.Join(ld, "nanoswitch.txt")
+
+ loggerPath := path.Join(nodeLogDir, "nanoswitch.txt")
serialPort, err = NewSerialFileLogger(loggerPath)
if err != nil {
logf("Could not open log file for nanoswitch: %v", err)
@@ -899,7 +902,7 @@
PortMap: portMap,
GuestServiceMap: guestSvcMap,
SerialPort: serialPort,
- PcapDump: path.Join(ld, "nanoswitch.pcap"),
+ PcapDump: path.Join(nodeLogDir, "nanoswitch.pcap"),
}); err != nil {
if !errors.Is(err, ctxT.Err()) {
logf("Failed to launch nanoswitch: %v", err)