You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
lib,pkg: provide detailed errors for workload failures
waitFor{Deployment,Daemonset} now return UpdateError's so that the sync cycle can include detailed errors.
deployment:
- when replicafailure condition is true, returns WorkloadNotProgressing update error.
- when available condition is false or progressing is true, returns WorkloadNotAvailable update error.
daemonset:
It returns WorkloadNotAvailbale update error whenever the daemonset has not rolled out.
Nested: fmt.Errorf("deployment %s is not available; updated replicas=%d of %d, available replicas=%d of %d", iden, d.Status.UpdatedReplicas, d.Status.Replicas, d.Status.AvailableReplicas, d.Status.Replicas),
138
+
Reason: "WorkloadNotAvailable",
139
+
Message: fmt.Sprintf("deployment %s is not available %s: %s", iden, availableCondition.Reason, availableCondition.Message),
Nested: fmt.Errorf("deployment %s is progressing; updated replicas=%d of %d, available replicas=%d of %d", iden, d.Status.UpdatedReplicas, d.Status.Replicas, d.Status.AvailableReplicas, d.Status.Replicas),
148
+
Reason: "WorkloadNotAvailable",
149
+
Message: fmt.Sprintf("deployment %s is progressing %s: %s", iden, progressingCondition.Reason, progressingCondition.Message),
150
+
Name: iden,
112
151
}
152
+
returnfalse, nil
113
153
}
114
154
115
-
klog.V(4).Infof("Deployment %s is not ready. status: (replicas: %d, updated: %d, ready: %d, unavailable: %d%s)",
116
-
d.Name,
117
-
d.Status.Replicas,
118
-
d.Status.UpdatedReplicas,
119
-
d.Status.ReadyReplicas,
120
-
d.Status.UnavailableReplicas,
121
-
strings.Join(deploymentConditions, ""))
155
+
klog.Errorf("deployment %s is in unknown state", iden)
klog.V(4).Infof("Daemonset %s is not ready. status: (desired: %d, updated: %d, ready: %d, unavailable: %d)", d.Name, d.Status.DesiredNumberScheduled, d.Status.UpdatedNumberScheduled, d.Status.NumberReady, d.Status.NumberAvailable)
254
+
lastErr=&payload.UpdateError{
255
+
Nested: fmt.Errorf("daemonset %s is progressing; updated replicas=%d of %d, available replicas=%d of %d", iden, d.Status.UpdatedNumberScheduled, d.Status.DesiredNumberScheduled, d.Status.NumberAvailable, d.Status.DesiredNumberScheduled),
256
+
Reason: "WorkloadNotAvailable",
257
+
Message: fmt.Sprintf("daemonset %s is progressing", iden),
0 commit comments