clusterCreate: simple change to serialize joining server nodes
This commit is contained in:
parent
584bf71592
commit
f0ad42ce8d
@ -257,13 +257,10 @@ func ClusterCreate(ctx context.Context, runtime k3drt.Runtime, cluster *k3d.Clus
|
|||||||
|
|
||||||
// asynchronously wait for this server node to be ready (by checking the logs for a specific log mesage)
|
// asynchronously wait for this server node to be ready (by checking the logs for a specific log mesage)
|
||||||
if node.Role == k3d.ServerRole && cluster.CreateClusterOpts.WaitForServer {
|
if node.Role == k3d.ServerRole && cluster.CreateClusterOpts.WaitForServer {
|
||||||
serverNode := node
|
log.Debugf("Waiting for server node '%s' to get ready", node.Name)
|
||||||
waitForServerWaitgroup.Go(func() error {
|
if err := NodeWaitForLogMessage(clusterCreateCtx, runtime, node, k3d.ReadyLogMessageByRole[k3d.ServerRole], time.Time{}); err != nil {
|
||||||
// TODO: avoid `level=fatal msg="starting kubernetes: preparing server: post join: a configuration change is already in progress (5)"`
|
return fmt.Errorf("Server node '%s' failed to get ready: %+v", node.Name, err)
|
||||||
// ... by scanning for this line in logs and restarting the container in case it appears
|
}
|
||||||
log.Debugf("Starting to wait for server node '%s'", serverNode.Name)
|
|
||||||
return NodeWaitForLogMessage(clusterCreateCtx, runtime, serverNode, k3d.ReadyLogMessageByRole[k3d.ServerRole], time.Time{})
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user