Skip to content

Commit ccea8de

Browse files
authored
feat: break early if installation object has fatal error (#622)
break early if installation object has fatal error
1 parent 965a58b commit ccea8de

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

pkg/kubeutils/kubeutils.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,10 +141,21 @@ func WaitForInstallation(ctx context.Context, cli client.Client, writer *spinner
141141
}
142142
lasterr = fmt.Errorf("installation state is %q (%q)", lastInstall.Status.State, lastInstall.Status.Reason)
143143

144+
if lastInstall.Status.State == embeddedclusterv1beta1.InstallationStateFailed {
145+
return false, fmt.Errorf("installation failed: %s", lastInstall.Status.Reason)
146+
}
147+
148+
if lastInstall.Status.State == embeddedclusterv1beta1.InstallationStateHelmChartUpdateFailure {
149+
return false, fmt.Errorf("helm chart installation failed: %s", lastInstall.Status.Reason)
150+
}
151+
144152
return false, nil
145153
},
146154
); err != nil {
147-
return fmt.Errorf("timed out waiting for the installation to finish: %v", lasterr)
155+
if wait.Interrupted(err) {
156+
return fmt.Errorf("timed out waiting for the installation to finish: %v", lasterr)
157+
}
158+
return fmt.Errorf("error waiting for installation: %v", err)
148159
}
149160
return nil
150161
}

0 commit comments

Comments
 (0)