Skip to content

Commit

Permalink
fix: only report actual error statuses in health check errors
Browse files Browse the repository at this point in the history
Signed-off-by: Max Jonas Werner <mwerner@d2iq.com>
  • Loading branch information
Max Jonas Werner committed Jul 2, 2021
1 parent 14da055 commit 6304f61
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion controllers/kustomization_healthcheck.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ func (hc *KustomizeHealthCheck) Assess(pollInterval time.Duration) error {
eventsChan := hc.statusPoller.Poll(ctx, objMetadata, opts)
coll := collector.NewResourceStatusCollector(objMetadata)
statusErrs := make(map[object.ObjMetadata]error)
lastStatus := make(map[object.ObjMetadata]*event.ResourceStatus)
done := coll.ListenWithObserver(eventsChan, collector.ObserverFunc(
func(statusCollector *collector.ResourceStatusCollector, e event.Event) {
var rss []*event.ResourceStatus
Expand All @@ -69,6 +70,7 @@ func (hc *KustomizeHealthCheck) Assess(pollInterval time.Duration) error {
} else {
// delete the most recently recorded error for this resources as it's not valid, anymore now
delete(statusErrs, rs.Identifier)
lastStatus[rs.Identifier] = rs
}
rss = append(rss, rs)
}
Expand Down Expand Up @@ -97,7 +99,9 @@ func (hc *KustomizeHealthCheck) Assess(pollInterval time.Duration) error {
}
var errsArr []string
for res, err := range statusErrs {
errsArr = append(errsArr, fmt.Sprintf("%s: %s", hc.objMetadataToString(res), err))
if lastStatus[res].Status != status.CurrentStatus {
errsArr = append(errsArr, fmt.Sprintf("%s: %s", hc.objMetadataToString(res), err))
}
}
return fmt.Errorf("Health check failed for [%v]: %v", strings.Join(ids, ", "), strings.Join(errsArr, ", "))
}
Expand Down

0 comments on commit 6304f61

Please sign in to comment.