Skip to content

Commit 4d16abc

Browse files
authored
Merge pull request #1406 from gianlucam76/crash-fix
(bug) fix a crash when ConfigurationGroup Status is empty
2 parents b9a6dd9 + 441b82a commit 4d16abc

File tree

3 files changed

+8
-5
lines changed

3 files changed

+8
-5
lines changed

api/v1beta1/zz_generated.deepcopy.go

Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

controllers/handlers_helm.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,7 @@ func undeployHelmChartsInPullMode(ctx context.Context, c client.Client, clusterS
372372
}
373373
} else {
374374
// if the status is deployed it means pre/post delete hooks have been deployed. So proceed undeploying
375-
if status != nil && *status.DeploymentStatus == libsveltosv1beta1.FeatureStatusProvisioned {
375+
if status != nil && status.DeploymentStatus != nil && *status.DeploymentStatus == libsveltosv1beta1.FeatureStatusProvisioned {
376376
if isLeavePolicies(clusterSummary, logger) {
377377
logger.V(logs.LogInfo).Info("ClusterProfile StopMatchingBehavior set to LeavePolicies")
378378
}
@@ -385,10 +385,10 @@ func undeployHelmChartsInPullMode(ctx context.Context, c client.Client, clusterS
385385
return pullmode.RemoveDeployedResources(ctx, getManagementClusterClient(), clusterSummary.Spec.ClusterNamespace,
386386
clusterSummary.Spec.ClusterName, configv1beta1.ClusterSummaryKind, clusterSummary.Name,
387387
string(libsveltosv1beta1.FeatureHelm), logger, setters...)
388-
} else if status != nil && *status.DeploymentStatus == libsveltosv1beta1.FeatureStatusProvisioning {
388+
} else if status != nil && status.DeploymentStatus != nil && *status.DeploymentStatus == libsveltosv1beta1.FeatureStatusProvisioning {
389389
logger.V(logs.LogInfo).Info("Applier is handling delete hooks")
390390
return nil
391-
} else if status != nil && *status.DeploymentStatus == libsveltosv1beta1.FeatureStatusFailed {
391+
} else if status != nil && status.DeploymentStatus != nil && *status.DeploymentStatus == libsveltosv1beta1.FeatureStatusFailed {
392392
msg := "Applier failed."
393393
if status.FailureMessage != nil {
394394
msg += fmt.Sprintf("Failure message: %s", *status.FailureMessage)

controllers/resourcesummary_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,8 @@ func prepareCluster() *clusterv1.Cluster {
178178
Expect(testEnv.Create(context.TODO(), cluster)).To(Succeed())
179179
Expect(testEnv.Create(context.TODO(), machine)).To(Succeed())
180180
Expect(waitForObject(context.TODO(), testEnv.Client, ns)).To(Succeed())
181+
Expect(waitForObject(context.TODO(), testEnv.Client, cluster)).To(Succeed())
182+
Expect(waitForObject(context.TODO(), testEnv.Client, machine)).To(Succeed())
181183

182184
initialized := true
183185
cluster.Status.Initialization.ControlPlaneInitialized = &initialized

0 commit comments

Comments
 (0)