diff --git a/pkg/printers/internalversion/printers.go b/pkg/printers/internalversion/printers.go index d1b878872ba..67974c6da12 100644 --- a/pkg/printers/internalversion/printers.go +++ b/pkg/printers/internalversion/printers.go @@ -1605,6 +1605,9 @@ func printEvent(obj *api.Event, options printers.GenerateOptions) ([]metav1.Tabl firstTimestamp := translateTimestampSince(obj.FirstTimestamp) lastTimestamp := translateTimestampSince(obj.LastTimestamp) + if obj.LastTimestamp.IsZero() { + lastTimestamp = firstTimestamp + } var target string if len(obj.InvolvedObject.Name) > 0 { diff --git a/pkg/printers/internalversion/printers_test.go b/pkg/printers/internalversion/printers_test.go index a45ad60d169..ff73ae6c10e 100644 --- a/pkg/printers/internalversion/printers_test.go +++ b/pkg/printers/internalversion/printers_test.go @@ -136,6 +136,29 @@ func TestPrintEvent(t *testing.T) { // Columns: Last Seen, Type, Reason, Object, Subobject, Message, First Seen, Count, Name expected: []metav1.TableRow{{Cells: []interface{}{"2d", "Warning", "Event Reason", "deployment/Deployment Name", "spec.containers{foo}", "kubelet, Node1", "Message Data", "3d", int64(6), "event2"}}}, }, + // Basic event, w/o LastTimestamp set + { + event: api.Event{ + Source: api.EventSource{ + Component: "kubelet", + Host: "Node1", + }, + InvolvedObject: api.ObjectReference{ + Kind: "Deployment", + Name: "Deployment Name", + FieldPath: "spec.containers{foo}", + }, + Reason: "Event Reason", + Message: "Message Data", + FirstTimestamp: metav1.Time{Time: time.Now().UTC().AddDate(0, 0, -3)}, + Count: 1, + Type: api.EventTypeWarning, + ObjectMeta: metav1.ObjectMeta{Name: "event3"}, + }, + options: printers.GenerateOptions{Wide: true}, + // Columns: Last Seen, Type, Reason, Object, Subobject, Message, First Seen, Count, Name + expected: []metav1.TableRow{{Cells: []interface{}{"3d", "Warning", "Event Reason", "deployment/Deployment Name", "spec.containers{foo}", "kubelet, Node1", "Message Data", "3d", int64(1), "event3"}}}, + }, } for i, test := range tests {