Skip to content

Commit

Permalink
Fix printing with continue-on-error
Browse files Browse the repository at this point in the history
  • Loading branch information
mortent committed Feb 19, 2021
1 parent 2e29183 commit 48cd555
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 10 deletions.
23 changes: 15 additions & 8 deletions cmd/printers/events/formatter.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,13 @@ func (ef *formatter) FormatApplyEvent(ae event.ApplyEvent, as *list.ApplyStats,
case event.ApplyEventResourceUpdate:
gk := ae.Identifier.GroupKind
name := ae.Identifier.Name
ef.print("%s %s", resourceIDToString(gk, name),
strings.ToLower(ae.Operation.String()))
if ae.Error != nil {
ef.print("%s failed: %s", resourceIDToString(gk, name),
ae.Error.Error())
} else {
ef.print("%s %s", resourceIDToString(gk, name),
strings.ToLower(ae.Operation.String()))
}
}
return nil
}
Expand All @@ -68,12 +73,13 @@ func (ef *formatter) FormatPruneEvent(pe event.PruneEvent, ps *list.PruneStats)
gk := pe.Identifier.GroupKind
switch pe.Operation {
case event.Pruned:
ef.print("%s %s", resourceIDToString(gk, pe.Identifier.Name), "pruned")
ef.print("%s pruned", resourceIDToString(gk, pe.Identifier.Name))
case event.PruneSkipped:
ef.print("%s %s", resourceIDToString(gk, pe.Identifier.Name), "prune skipped")
ef.print("%s prune skipped", resourceIDToString(gk, pe.Identifier.Name))
}
case event.PruneEventFailed:
ef.print("%s %s", resourceIDToString(pe.Identifier.GroupKind, pe.Identifier.Name), "prune failed")
ef.print("%s prune failed: %s", resourceIDToString(pe.Identifier.GroupKind, pe.Identifier.Name),
pe.Error.Error())
}
return nil
}
Expand All @@ -88,12 +94,13 @@ func (ef *formatter) FormatDeleteEvent(de event.DeleteEvent, ds *list.DeleteStat
name := getName(obj)
switch de.Operation {
case event.Deleted:
ef.print("%s %s", resourceIDToString(gvk.GroupKind(), name), "deleted")
ef.print("%s deleted", resourceIDToString(gvk.GroupKind(), name))
case event.DeleteSkipped:
ef.print("%s %s", resourceIDToString(gvk.GroupKind(), name), "delete skipped")
ef.print("%s delete skipped", resourceIDToString(gvk.GroupKind(), name))
}
case event.DeleteEventFailed:
ef.print("%s %s", resourceIDToString(de.Identifier.GroupKind, de.Identifier.Name), "deletion failed")
ef.print("%s deletion failed: %s", resourceIDToString(de.Identifier.GroupKind, de.Identifier.Name),
de.Error.Error())
}
return nil
}
Expand Down
9 changes: 7 additions & 2 deletions cmd/printers/json/formatter.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,18 @@ func (jf *formatter) FormatApplyEvent(ae event.ApplyEvent, as *list.ApplyStats,
}
case event.ApplyEventResourceUpdate:
gk := ae.Identifier.GroupKind
return jf.printEvent("apply", "resourceApplied", map[string]interface{}{
eventInfo := map[string]interface{}{
"group": gk.Group,
"kind": gk.Kind,
"namespace": ae.Identifier.Namespace,
"name": ae.Identifier.Name,
"operation": ae.Operation.String(),
})
}
if ae.Error != nil {
eventInfo["error"] = ae.Error.Error()
}

return jf.printEvent("apply", "resourceApplied", eventInfo)
}
return nil
}
Expand Down
4 changes: 4 additions & 0 deletions pkg/print/list/base.go
Original file line number Diff line number Diff line change
Expand Up @@ -178,5 +178,9 @@ func (b *BaseListPrinter) Print(ch <-chan event.Event, previewStrategy common.Dr
}
}
}
failedSum := applyStats.Failed + pruneStats.Failed + deleteStats.Failed
if failedSum > 0 {
return fmt.Errorf("%d resources failed", failedSum)
}
return nil
}

0 comments on commit 48cd555

Please sign in to comment.