mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-13 22:05:59 +00:00
unit test: Add extended resources to ContainerStatuses[i].Resources
Signed-off-by: Itamar Holder <iholder@redhat.com>
This commit is contained in:
parent
a482d8937b
commit
47207f9aad
@ -4588,6 +4588,20 @@ func TestConvertToAPIContainerStatusesForResources(t *testing.T) {
|
|||||||
CPU2AndMem2GAndStorage2G := CPU2AndMem2G.DeepCopy()
|
CPU2AndMem2GAndStorage2G := CPU2AndMem2G.DeepCopy()
|
||||||
CPU2AndMem2GAndStorage2G[v1.ResourceEphemeralStorage] = resource.MustParse("2Gi")
|
CPU2AndMem2GAndStorage2G[v1.ResourceEphemeralStorage] = resource.MustParse("2Gi")
|
||||||
|
|
||||||
|
addExtendedResource := func(list v1.ResourceList) v1.ResourceList {
|
||||||
|
const stubCustomResource = v1.ResourceName("dummy.io/dummy")
|
||||||
|
|
||||||
|
withExtendedResource := list.DeepCopy()
|
||||||
|
for _, resourceName := range []v1.ResourceName{v1.ResourceMemory, v1.ResourceCPU} {
|
||||||
|
if _, exists := withExtendedResource[resourceName]; !exists {
|
||||||
|
withExtendedResource[resourceName] = resource.MustParse("0")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
withExtendedResource[stubCustomResource] = resource.MustParse("1")
|
||||||
|
return withExtendedResource
|
||||||
|
}
|
||||||
|
|
||||||
testKubelet := newTestKubelet(t, false)
|
testKubelet := newTestKubelet(t, false)
|
||||||
defer testKubelet.Cleanup()
|
defer testKubelet.Cleanup()
|
||||||
kubelet := testKubelet.kubelet
|
kubelet := testKubelet.kubelet
|
||||||
@ -4734,6 +4748,75 @@ func TestConvertToAPIContainerStatusesForResources(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"BestEffort QoSPod with extended resources": {
|
||||||
|
Resources: []v1.ResourceRequirements{{Requests: addExtendedResource(v1.ResourceList{})}},
|
||||||
|
OldStatus: []v1.ContainerStatus{
|
||||||
|
{
|
||||||
|
Name: testContainerName,
|
||||||
|
Image: "img",
|
||||||
|
ImageID: "img1234",
|
||||||
|
State: v1.ContainerState{Running: &v1.ContainerStateRunning{}},
|
||||||
|
Resources: &v1.ResourceRequirements{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Expected: []v1.ContainerStatus{
|
||||||
|
{
|
||||||
|
Name: testContainerName,
|
||||||
|
ContainerID: testContainerID.String(),
|
||||||
|
Image: "img",
|
||||||
|
ImageID: "img1234",
|
||||||
|
State: v1.ContainerState{Running: &v1.ContainerStateRunning{StartedAt: metav1.NewTime(nowTime)}},
|
||||||
|
AllocatedResources: addExtendedResource(v1.ResourceList{}),
|
||||||
|
Resources: &v1.ResourceRequirements{Requests: addExtendedResource(v1.ResourceList{})},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"BurstableQoSPod with extended resources": {
|
||||||
|
Resources: []v1.ResourceRequirements{{Requests: addExtendedResource(CPU1AndMem1G)}},
|
||||||
|
OldStatus: []v1.ContainerStatus{
|
||||||
|
{
|
||||||
|
Name: testContainerName,
|
||||||
|
Image: "img",
|
||||||
|
ImageID: "img1234",
|
||||||
|
State: v1.ContainerState{Running: &v1.ContainerStateRunning{}},
|
||||||
|
Resources: &v1.ResourceRequirements{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Expected: []v1.ContainerStatus{
|
||||||
|
{
|
||||||
|
Name: testContainerName,
|
||||||
|
ContainerID: testContainerID.String(),
|
||||||
|
Image: "img",
|
||||||
|
ImageID: "img1234",
|
||||||
|
State: v1.ContainerState{Running: &v1.ContainerStateRunning{StartedAt: metav1.NewTime(nowTime)}},
|
||||||
|
AllocatedResources: addExtendedResource(CPU1AndMem1G),
|
||||||
|
Resources: &v1.ResourceRequirements{Requests: addExtendedResource(CPU1AndMem1G)},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"GuaranteedQoSPod with extended resources": {
|
||||||
|
Resources: []v1.ResourceRequirements{{Requests: addExtendedResource(CPU1AndMem1G), Limits: addExtendedResource(CPU1AndMem1G)}},
|
||||||
|
OldStatus: []v1.ContainerStatus{
|
||||||
|
{
|
||||||
|
Name: testContainerName,
|
||||||
|
Image: "img",
|
||||||
|
ImageID: "img1234",
|
||||||
|
State: v1.ContainerState{Running: &v1.ContainerStateRunning{}},
|
||||||
|
Resources: &v1.ResourceRequirements{},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Expected: []v1.ContainerStatus{
|
||||||
|
{
|
||||||
|
Name: testContainerName,
|
||||||
|
ContainerID: testContainerID.String(),
|
||||||
|
Image: "img",
|
||||||
|
ImageID: "img1234",
|
||||||
|
State: v1.ContainerState{Running: &v1.ContainerStateRunning{StartedAt: metav1.NewTime(nowTime)}},
|
||||||
|
AllocatedResources: addExtendedResource(CPU1AndMem1G),
|
||||||
|
Resources: &v1.ResourceRequirements{Requests: addExtendedResource(CPU1AndMem1G), Limits: addExtendedResource(CPU1AndMem1G)},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
} {
|
} {
|
||||||
tPod := testPod.DeepCopy()
|
tPod := testPod.DeepCopy()
|
||||||
tPod.Name = fmt.Sprintf("%s-%d", testPod.Name, idx)
|
tPod.Name = fmt.Sprintf("%s-%d", testPod.Name, idx)
|
||||||
|
Loading…
Reference in New Issue
Block a user