m/c/metroctl/test: deflake test

This test was flaky as the node picked to run takeownership against was
dependent on map key order. Only the first node runs the relevant
control plane services, thus if the second node was iterated over first,
the test broke. Fix this by using the NodeIDs slice to get deterministic
ordering and always pick the first node.

Change-Id: Id4ac162a8295be4e84ad439ac5b70ff5a968af04
Reviewed-on: https://review.monogon.dev/c/monogon/+/1784
Reviewed-by: Serge Bazanski <serge@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/cli/metroctl/test/test.go b/metropolis/cli/metroctl/test/test.go
index ea3bee2..0145cfe 100644
--- a/metropolis/cli/metroctl/test/test.go
+++ b/metropolis/cli/metroctl/test/test.go
@@ -107,8 +107,9 @@
 
 	socksRemote := fmt.Sprintf("localhost:%d", cl.Ports[cluster.SOCKSPort])
 	var clusterEndpoints []string
-	for _, ep := range cl.Nodes {
-		clusterEndpoints = append(clusterEndpoints, ep.ManagementAddress)
+	// Use node starting order for endpoints
+	for _, ep := range cl.NodeIDs {
+		clusterEndpoints = append(clusterEndpoints, cl.Nodes[ep].ManagementAddress)
 	}
 
 	ownerPem := pem.EncodeToMemory(&pem.Block{