mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 03:41:45 +00:00
Merge pull request #27432 from jsafrane/pv-events-log
Automatic merge from submit-queue Allow emitting PersistentVolume events. Similarly to Nodes, PersistentVolumes are not in any namespace and we should not block events on them. Currently, these events are rejected with `Event "nfs.145841cf9c8cfaf0" is invalid: involvedObject.namespace: Invalid value: "": does not match involvedObject`
This commit is contained in:
commit
60d4f2fe9d
@ -25,15 +25,16 @@ import (
|
|||||||
// ValidateEvent makes sure that the event makes sense.
|
// ValidateEvent makes sure that the event makes sense.
|
||||||
func ValidateEvent(event *api.Event) field.ErrorList {
|
func ValidateEvent(event *api.Event) field.ErrorList {
|
||||||
allErrs := field.ErrorList{}
|
allErrs := field.ErrorList{}
|
||||||
// There is no namespace required for node.
|
// There is no namespace required for node or persistent volume.
|
||||||
// However, older client code accidentally sets event.Namespace
|
// However, older client code accidentally sets event.Namespace
|
||||||
// to api.NamespaceDefault, so we accept that too, but "" is preferred.
|
// to api.NamespaceDefault, so we accept that too, but "" is preferred.
|
||||||
if event.InvolvedObject.Kind == "Node" &&
|
if (event.InvolvedObject.Kind == "Node" || event.InvolvedObject.Kind == "PersistentVolume") &&
|
||||||
event.Namespace != api.NamespaceDefault &&
|
event.Namespace != api.NamespaceDefault &&
|
||||||
event.Namespace != "" {
|
event.Namespace != "" {
|
||||||
allErrs = append(allErrs, field.Invalid(field.NewPath("involvedObject", "namespace"), event.InvolvedObject.Namespace, "not allowed for node"))
|
allErrs = append(allErrs, field.Invalid(field.NewPath("involvedObject", "namespace"), event.InvolvedObject.Namespace, "not allowed for node"))
|
||||||
}
|
}
|
||||||
if event.InvolvedObject.Kind != "Node" &&
|
if event.InvolvedObject.Kind != "Node" &&
|
||||||
|
event.InvolvedObject.Kind != "PersistentVolume" &&
|
||||||
event.Namespace != event.InvolvedObject.Namespace {
|
event.Namespace != event.InvolvedObject.Namespace {
|
||||||
allErrs = append(allErrs, field.Invalid(field.NewPath("involvedObject", "namespace"), event.InvolvedObject.Namespace, "does not match involvedObject"))
|
allErrs = append(allErrs, field.Invalid(field.NewPath("involvedObject", "namespace"), event.InvolvedObject.Namespace, "does not match involvedObject"))
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user