mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 12:15:52 +00:00
Merge pull request #112223 from astraw99/fix-ownerRef-validate
Fix ownerRef controller validate err msg
This commit is contained in:
commit
9349688d40
@ -91,15 +91,16 @@ func validateOwnerReference(ownerReference metav1.OwnerReference, fldPath *field
|
|||||||
// ValidateOwnerReferences validates that a set of owner references are correctly defined.
|
// ValidateOwnerReferences validates that a set of owner references are correctly defined.
|
||||||
func ValidateOwnerReferences(ownerReferences []metav1.OwnerReference, fldPath *field.Path) field.ErrorList {
|
func ValidateOwnerReferences(ownerReferences []metav1.OwnerReference, fldPath *field.Path) field.ErrorList {
|
||||||
allErrs := field.ErrorList{}
|
allErrs := field.ErrorList{}
|
||||||
controllerName := ""
|
firstControllerName := ""
|
||||||
for _, ref := range ownerReferences {
|
for _, ref := range ownerReferences {
|
||||||
allErrs = append(allErrs, validateOwnerReference(ref, fldPath)...)
|
allErrs = append(allErrs, validateOwnerReference(ref, fldPath)...)
|
||||||
if ref.Controller != nil && *ref.Controller {
|
if ref.Controller != nil && *ref.Controller {
|
||||||
if controllerName != "" {
|
curControllerName := ref.Kind + "/" + ref.Name
|
||||||
|
if firstControllerName != "" {
|
||||||
allErrs = append(allErrs, field.Invalid(fldPath, ownerReferences,
|
allErrs = append(allErrs, field.Invalid(fldPath, ownerReferences,
|
||||||
fmt.Sprintf("Only one reference can have Controller set to true. Found \"true\" in references for %v and %v", controllerName, ref.Name)))
|
fmt.Sprintf("Only one reference can have Controller set to true. Found \"true\" in references for %v and %v", firstControllerName, curControllerName)))
|
||||||
} else {
|
} else {
|
||||||
controllerName = ref.Name
|
firstControllerName = curControllerName
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -163,34 +163,34 @@ func TestValidateObjectMetaOwnerReferences(t *testing.T) {
|
|||||||
ownerReferences: []metav1.OwnerReference{
|
ownerReferences: []metav1.OwnerReference{
|
||||||
{
|
{
|
||||||
APIVersion: "customresourceVersion",
|
APIVersion: "customresourceVersion",
|
||||||
Kind: "customresourceKind",
|
Kind: "customresourceKind1",
|
||||||
Name: "name",
|
Name: "name",
|
||||||
UID: "1",
|
UID: "1",
|
||||||
Controller: &falseVar,
|
Controller: &falseVar,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
APIVersion: "customresourceVersion",
|
APIVersion: "customresourceVersion",
|
||||||
Kind: "customresourceKind",
|
Kind: "customresourceKind2",
|
||||||
Name: "name",
|
Name: "name",
|
||||||
UID: "2",
|
UID: "2",
|
||||||
Controller: &trueVar,
|
Controller: &trueVar,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
APIVersion: "customresourceVersion",
|
APIVersion: "customresourceVersion",
|
||||||
Kind: "customresourceKind",
|
Kind: "customresourceKind3",
|
||||||
Name: "name",
|
Name: "name",
|
||||||
UID: "3",
|
UID: "3",
|
||||||
Controller: &trueVar,
|
Controller: &trueVar,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
APIVersion: "customresourceVersion",
|
APIVersion: "customresourceVersion",
|
||||||
Kind: "customresourceKind",
|
Kind: "customresourceKind4",
|
||||||
Name: "name",
|
Name: "name",
|
||||||
UID: "4",
|
UID: "4",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
expectError: true,
|
expectError: true,
|
||||||
expectedErrorMessage: "Only one reference can have Controller set to true",
|
expectedErrorMessage: "Only one reference can have Controller set to true. Found \"true\" in references for customresourceKind2/name and customresourceKind3/name",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user