KEP-3619: fix field path in validating ContainerUsers in PodStatusUpdate

This commit is contained in:
Shingo Omura 2025-02-17 15:21:48 +09:00
parent 2a0e51825b
commit 64a4e34989
No known key found for this signature in database
2 changed files with 6 additions and 6 deletions

View File

@ -8624,10 +8624,10 @@ func validateContainerStatusUsers(containerStatuses []core.ContainerStatus, fldP
switch osName {
case core.Windows:
if containerUser.Linux != nil {
allErrors = append(allErrors, field.Forbidden(fldPath.Index(i).Child("linux"), "cannot be set for a windows pod"))
allErrors = append(allErrors, field.Forbidden(fldPath.Index(i).Child("user").Child("linux"), "cannot be set for a windows pod"))
}
case core.Linux:
allErrors = append(allErrors, validateLinuxContainerUser(containerUser.Linux, fldPath.Index(i).Child("linux"))...)
allErrors = append(allErrors, validateLinuxContainerUser(containerUser.Linux, fldPath.Index(i).Child("user").Child("linux"))...)
}
}
return allErrors

View File

@ -25707,9 +25707,9 @@ func TestValidatePodStatusUpdateWithSupplementalGroupsPolicy(t *testing.T) {
},
}},
wantFieldErrors: field.ErrorList{
field.Invalid(field.NewPath("[0].linux.uid"), badUID, "must be between 0 and 2147483647, inclusive"),
field.Invalid(field.NewPath("[0].linux.gid"), badGID, "must be between 0 and 2147483647, inclusive"),
field.Invalid(field.NewPath("[0].linux.supplementalGroups[0]"), badGID, "must be between 0 and 2147483647, inclusive"),
field.Invalid(field.NewPath("[0].user.linux.uid"), badUID, "must be between 0 and 2147483647, inclusive"),
field.Invalid(field.NewPath("[0].user.linux.gid"), badGID, "must be between 0 and 2147483647, inclusive"),
field.Invalid(field.NewPath("[0].user.linux.supplementalGroups[0]"), badGID, "must be between 0 and 2147483647, inclusive"),
},
},
"user.linux must not be set in windows": {
@ -25720,7 +25720,7 @@ func TestValidatePodStatusUpdateWithSupplementalGroupsPolicy(t *testing.T) {
},
}},
wantFieldErrors: field.ErrorList{
field.Forbidden(field.NewPath("[0].linux"), "cannot be set for a windows pod"),
field.Forbidden(field.NewPath("[0].user.linux"), "cannot be set for a windows pod"),
},
},
}