Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Empty FirstTimestamp field in scheduler events #80219

Closed
krzysied opened this issue Jul 16, 2019 · 5 comments
Closed

Empty FirstTimestamp field in scheduler events #80219

krzysied opened this issue Jul 16, 2019 · 5 comments
Labels
kind/bug Categorizes issue or PR as related to a bug. sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling.

Comments

@krzysied
Copy link
Contributor

What happened:
FirstTimestamp field in scheduler event is not set (has nil value).

What you expected to happen:
This field should always be set.

How to reproduce it (as minimally and precisely as possible):
Scheduler any pod on k8s cluster (head version)

Anything else we need to know?:

Environment:

  • Kubernetes version (use kubectl version): 1.16
  • Cloud provider or hardware configuration: gce
  • OS (e.g: cat /etc/os-release):
  • Kernel (e.g. uname -a):
  • Install tools:
  • Network plugin and version (if this is a network-related bug):
  • Others:
@krzysied krzysied added the kind/bug Categorizes issue or PR as related to a bug. label Jul 16, 2019
@k8s-ci-robot k8s-ci-robot added the needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. label Jul 16, 2019
@krzysied
Copy link
Contributor Author

/sig scheduling

@k8s-ci-robot k8s-ci-robot added sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling. and removed needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Jul 16, 2019
@krzysied
Copy link
Contributor Author

Based on perfdash plot the issue started on 07/12/2019 between 06:24 PDT and 07:24 PDT.
It looks like #78447 can be a culprit here.

@krzysied
Copy link
Contributor Author

IIUC v1beta1 is converted to corev1

func Convert_v1beta1_Event_To_core_Event(in *v1beta1.Event, out *k8s_api.Event, s conversion.Scope) error {
if err := autoConvert_v1beta1_Event_To_core_Event(in, out, s); err != nil {
return err
}
if err := k8s_api_v1.Convert_v1_ObjectReference_To_core_ObjectReference(&in.Regarding, &out.InvolvedObject, s); err != nil {
return err
}
if err := k8s_api_v1.Convert_v1_EventSource_To_core_EventSource(&in.DeprecatedSource, &out.Source, s); err != nil {
return err
}
out.Message = in.Note
out.FirstTimestamp = in.DeprecatedFirstTimestamp
out.LastTimestamp = in.DeprecatedLastTimestamp
out.Count = in.DeprecatedCount
return nil

However not all deprecated fields are not set in the recorded (e.g. DeprecatedFirstTimestamp):

return &v1beta1.Event{
ObjectMeta: metav1.ObjectMeta{
Name: fmt.Sprintf("%v.%x", refRegarding.Name, t.UnixNano()),
Namespace: namespace,
},
EventTime: timestamp,
Series: nil,
ReportingController: reportingController,
ReportingInstance: reportingInstance,
Action: action,
Reason: reason,
Regarding: *refRegarding,
Related: refRelated,
Note: message,
Type: eventtype,
// TODO: remove this when we change conversion to convert eventSource
// to reportingController
DeprecatedSource: v1.EventSource{Component: reportingController},
}

@krzysied
Copy link
Contributor Author

This issue has been partially fixed on clusterloader side - kubernetes/perf-tests#649. We can now observer proper values o the perfdash plot.

@krzysied
Copy link
Contributor Author

I closed #80222.
There is nothing more to be done regarding current issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Categorizes issue or PR as related to a bug. sig/scheduling Categorizes an issue or PR as relevant to SIG Scheduling.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants