|
|
@ -548,6 +548,9 @@ func ClusterStart(ctx context.Context, runtime k3drt.Runtime, cluster *k3d.Clust |
|
|
|
continue |
|
|
|
continue |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// check if node is running already to avoid waiting forever when checking for the node log message
|
|
|
|
|
|
|
|
if !node.State.Running { |
|
|
|
|
|
|
|
|
|
|
|
// start node
|
|
|
|
// start node
|
|
|
|
if err := runtime.StartNode(ctx, node); err != nil { |
|
|
|
if err := runtime.StartNode(ctx, node); err != nil { |
|
|
|
log.Warningf("Failed to start node '%s': Try to start it manually", node.Name) |
|
|
|
log.Warningf("Failed to start node '%s': Try to start it manually", node.Name) |
|
|
@ -565,10 +568,14 @@ func ClusterStart(ctx context.Context, runtime k3drt.Runtime, cluster *k3d.Clust |
|
|
|
return NodeWaitForLogMessage(ctx, runtime, serverNode, k3d.ReadyLogMessageByRole[k3d.ServerRole], start) |
|
|
|
return NodeWaitForLogMessage(ctx, runtime, serverNode, k3d.ReadyLogMessageByRole[k3d.ServerRole], start) |
|
|
|
}) |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
log.Infof("Node '%s' already running", node.Name) |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// start serverlb
|
|
|
|
// start serverlb
|
|
|
|
if serverlb != nil { |
|
|
|
if serverlb != nil { |
|
|
|
|
|
|
|
if !serverlb.State.Running { |
|
|
|
log.Debugln("Starting serverlb...") |
|
|
|
log.Debugln("Starting serverlb...") |
|
|
|
if err := runtime.StartNode(ctx, serverlb); err != nil { // FIXME: we could run into a nullpointer exception here
|
|
|
|
if err := runtime.StartNode(ctx, serverlb); err != nil { // FIXME: we could run into a nullpointer exception here
|
|
|
|
log.Warningf("Failed to start serverlb '%s': Try to start it manually", serverlb.Name) |
|
|
|
log.Warningf("Failed to start serverlb '%s': Try to start it manually", serverlb.Name) |
|
|
@ -580,6 +587,9 @@ func ClusterStart(ctx context.Context, runtime k3drt.Runtime, cluster *k3d.Clust |
|
|
|
log.Debugf("Starting to wait for loadbalancer node '%s'", serverlb.Name) |
|
|
|
log.Debugf("Starting to wait for loadbalancer node '%s'", serverlb.Name) |
|
|
|
return NodeWaitForLogMessage(ctx, runtime, serverlb, k3d.ReadyLogMessageByRole[k3d.LoadBalancerRole], start) |
|
|
|
return NodeWaitForLogMessage(ctx, runtime, serverlb, k3d.ReadyLogMessageByRole[k3d.LoadBalancerRole], start) |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
log.Infof("Serverlb '%s' already running", serverlb.Name) |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if err := waitForServerWaitgroup.Wait(); err != nil { |
|
|
|
if err := waitForServerWaitgroup.Wait(); err != nil { |
|
|
|