mirror of
https://github.com/optim-enterprises-bv/kubernetes.git
synced 2025-11-01 02:38:12 +00:00
update allocated resources status validation to account for claims
This commit is contained in:
@@ -24772,7 +24772,109 @@ func TestValidateContainerStatusAllocatedResourcesStatus(t *testing.T) {
|
||||
},
|
||||
},
|
||||
wantFieldErrors: field.ErrorList{
|
||||
field.Invalid(fldPath.Index(0).Child("allocatedResourcesStatus").Index(1).Child("name"), core.ResourceName("test.device/test2"), "must match one of the container's resource requirements"),
|
||||
field.Invalid(fldPath.Index(0).Child("allocatedResourcesStatus").Index(1).Child("name"), core.ResourceName("test.device/test2"), "must match one of the container's resource requests"),
|
||||
},
|
||||
},
|
||||
|
||||
"allow claims and request that are in spec": {
|
||||
containers: []core.Container{
|
||||
{
|
||||
Name: "container-1",
|
||||
Resources: core.ResourceRequirements{
|
||||
Claims: []core.ResourceClaim{
|
||||
{
|
||||
Name: "claim.name",
|
||||
Request: "request.name",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
containerStatuses: []core.ContainerStatus{
|
||||
{
|
||||
Name: "container-1",
|
||||
AllocatedResourcesStatus: []core.ResourceStatus{
|
||||
{
|
||||
Name: "claim:claim.name/request.name",
|
||||
Resources: []core.ResourceHealth{
|
||||
{
|
||||
ResourceID: "driver/pool/device-name",
|
||||
Health: core.ResourceHealthStatusHealthy,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
wantFieldErrors: field.ErrorList{},
|
||||
},
|
||||
|
||||
"allow claims that are in spec without the request": {
|
||||
containers: []core.Container{
|
||||
{
|
||||
Name: "container-1",
|
||||
Resources: core.ResourceRequirements{
|
||||
Claims: []core.ResourceClaim{
|
||||
{
|
||||
Name: "claim.name",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
containerStatuses: []core.ContainerStatus{
|
||||
{
|
||||
Name: "container-1",
|
||||
AllocatedResourcesStatus: []core.ResourceStatus{
|
||||
{
|
||||
Name: "claim:claim.name",
|
||||
Resources: []core.ResourceHealth{
|
||||
{
|
||||
ResourceID: "driver/pool/device-name",
|
||||
Health: core.ResourceHealthStatusHealthy,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
wantFieldErrors: field.ErrorList{},
|
||||
},
|
||||
|
||||
"don't allow claims that are not in spec": {
|
||||
containers: []core.Container{
|
||||
{
|
||||
Name: "container-1",
|
||||
Resources: core.ResourceRequirements{
|
||||
Claims: []core.ResourceClaim{
|
||||
{
|
||||
Name: "other-claim.name",
|
||||
},
|
||||
},
|
||||
Requests: core.ResourceList{
|
||||
"claim.name": resource.MustParse("1"),
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
containerStatuses: []core.ContainerStatus{
|
||||
{
|
||||
Name: "container-1",
|
||||
AllocatedResourcesStatus: []core.ResourceStatus{
|
||||
{
|
||||
Name: "claim:claim.name",
|
||||
Resources: []core.ResourceHealth{
|
||||
{
|
||||
ResourceID: "driver/pool/device-name",
|
||||
Health: core.ResourceHealthStatusHealthy,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
wantFieldErrors: field.ErrorList{
|
||||
field.Invalid(fldPath.Index(0).Child("allocatedResourcesStatus").Index(0).Child("name"), core.ResourceName("claim:claim.name"), "must match one of the container's resource claims in a format 'claim:<claimName>/<request>' or 'claim:<claimName>' if request is empty"),
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user