Merge pull request #111506 from sanwishe/event_validation

Correct event validation messages using the core/v1 field name `reportingComponent`
This commit is contained in:
Kubernetes Prow Robot 2022-07-31 22:00:28 -07:00 committed by GitHub
commit d046a58de4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -40,7 +40,7 @@ const (
func ValidateEventCreate(event *core.Event, requestVersion schema.GroupVersion) field.ErrorList { func ValidateEventCreate(event *core.Event, requestVersion schema.GroupVersion) field.ErrorList {
// Make sure events always pass legacy validation. // Make sure events always pass legacy validation.
allErrs := legacyValidateEvent(event) allErrs := legacyValidateEvent(event, requestVersion)
if requestVersion == v1.SchemeGroupVersion || requestVersion == eventsv1beta1.SchemeGroupVersion { if requestVersion == v1.SchemeGroupVersion || requestVersion == eventsv1beta1.SchemeGroupVersion {
// No further validation for backwards compatibility. // No further validation for backwards compatibility.
return allErrs return allErrs
@ -73,7 +73,7 @@ func ValidateEventCreate(event *core.Event, requestVersion schema.GroupVersion)
func ValidateEventUpdate(newEvent, oldEvent *core.Event, requestVersion schema.GroupVersion) field.ErrorList { func ValidateEventUpdate(newEvent, oldEvent *core.Event, requestVersion schema.GroupVersion) field.ErrorList {
// Make sure the new event always passes legacy validation. // Make sure the new event always passes legacy validation.
allErrs := legacyValidateEvent(newEvent) allErrs := legacyValidateEvent(newEvent, requestVersion)
if requestVersion == v1.SchemeGroupVersion || requestVersion == eventsv1beta1.SchemeGroupVersion { if requestVersion == v1.SchemeGroupVersion || requestVersion == eventsv1beta1.SchemeGroupVersion {
// No further validation for backwards compatibility. // No further validation for backwards compatibility.
return allErrs return allErrs
@ -119,11 +119,16 @@ func validateV1EventSeries(event *core.Event) field.ErrorList {
} }
// legacyValidateEvent makes sure that the event makes sense. // legacyValidateEvent makes sure that the event makes sense.
func legacyValidateEvent(event *core.Event) field.ErrorList { func legacyValidateEvent(event *core.Event, requestVersion schema.GroupVersion) field.ErrorList {
allErrs := field.ErrorList{} allErrs := field.ErrorList{}
// Because go // Because go
zeroTime := time.Time{} zeroTime := time.Time{}
reportingControllerFieldName := "reportingController"
if requestVersion == v1.SchemeGroupVersion {
reportingControllerFieldName = "reportingComponent"
}
// "New" Events need to have EventTime set, so it's validating old object. // "New" Events need to have EventTime set, so it's validating old object.
if event.EventTime.Time == zeroTime { if event.EventTime.Time == zeroTime {
// Make sure event.Namespace and the involvedInvolvedObject.Namespace agree // Make sure event.Namespace and the involvedInvolvedObject.Namespace agree
@ -144,9 +149,9 @@ func legacyValidateEvent(event *core.Event) field.ErrorList {
allErrs = append(allErrs, field.Invalid(field.NewPath("involvedObject", "namespace"), event.InvolvedObject.Namespace, "does not match event.namespace")) allErrs = append(allErrs, field.Invalid(field.NewPath("involvedObject", "namespace"), event.InvolvedObject.Namespace, "does not match event.namespace"))
} }
if len(event.ReportingController) == 0 { if len(event.ReportingController) == 0 {
allErrs = append(allErrs, field.Required(field.NewPath("reportingController"), "")) allErrs = append(allErrs, field.Required(field.NewPath(reportingControllerFieldName), ""))
} }
allErrs = append(allErrs, ValidateQualifiedName(event.ReportingController, field.NewPath("reportingController"))...) allErrs = append(allErrs, ValidateQualifiedName(event.ReportingController, field.NewPath(reportingControllerFieldName))...)
if len(event.ReportingInstance) == 0 { if len(event.ReportingInstance) == 0 {
allErrs = append(allErrs, field.Required(field.NewPath("reportingInstance"), "")) allErrs = append(allErrs, field.Required(field.NewPath("reportingInstance"), ""))
} }