mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-07 03:03:59 +00:00
Fix local isolation for pod requesting only scratch
This commit is contained in:
parent
761e079ed1
commit
3cecb070ca
@ -584,7 +584,7 @@ func PodFitsResources(pod *v1.Pod, meta interface{}, nodeInfo *schedulercache.No
|
|||||||
// We couldn't parse metadata - fallback to computing it.
|
// We couldn't parse metadata - fallback to computing it.
|
||||||
podRequest = GetResourceRequest(pod)
|
podRequest = GetResourceRequest(pod)
|
||||||
}
|
}
|
||||||
if podRequest.MilliCPU == 0 && podRequest.Memory == 0 && podRequest.NvidiaGPU == 0 && podRequest.StorageOverlay == 0 && len(podRequest.OpaqueIntResources) == 0 {
|
if podRequest.MilliCPU == 0 && podRequest.Memory == 0 && podRequest.NvidiaGPU == 0 && podRequest.StorageOverlay == 0 && podRequest.StorageScratch == 0 && len(podRequest.OpaqueIntResources) == 0 {
|
||||||
return len(predicateFails) == 0, predicateFails, nil
|
return len(predicateFails) == 0, predicateFails, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -453,7 +453,7 @@ func TestPodFitsResources(t *testing.T) {
|
|||||||
nodeInfo: schedulercache.NewNodeInfo(
|
nodeInfo: schedulercache.NewNodeInfo(
|
||||||
newResourcePod(schedulercache.Resource{MilliCPU: 2, Memory: 2, StorageOverlay: 5})),
|
newResourcePod(schedulercache.Resource{MilliCPU: 2, Memory: 2, StorageOverlay: 5})),
|
||||||
fits: false,
|
fits: false,
|
||||||
test: "request exceeds allocatable",
|
test: "request exceeds allocatable overlay storage resource",
|
||||||
reasons: []algorithm.PredicateFailureReason{
|
reasons: []algorithm.PredicateFailureReason{
|
||||||
NewInsufficientResourceError(v1.ResourceStorageScratch, 18, 5, 20),
|
NewInsufficientResourceError(v1.ResourceStorageScratch, 18, 5, 20),
|
||||||
},
|
},
|
||||||
@ -463,7 +463,7 @@ func TestPodFitsResources(t *testing.T) {
|
|||||||
nodeInfo: schedulercache.NewNodeInfo(
|
nodeInfo: schedulercache.NewNodeInfo(
|
||||||
newResourcePod(schedulercache.Resource{MilliCPU: 2, Memory: 2, StorageOverlay: 5})),
|
newResourcePod(schedulercache.Resource{MilliCPU: 2, Memory: 2, StorageOverlay: 5})),
|
||||||
fits: false,
|
fits: false,
|
||||||
test: "request exceeds allocatable",
|
test: "request exceeds allocatable overlay storage resource",
|
||||||
reasons: []algorithm.PredicateFailureReason{
|
reasons: []algorithm.PredicateFailureReason{
|
||||||
NewInsufficientResourceError(v1.ResourceStorageScratch, 18, 5, 20),
|
NewInsufficientResourceError(v1.ResourceStorageScratch, 18, 5, 20),
|
||||||
},
|
},
|
||||||
@ -480,6 +480,18 @@ func TestPodFitsResources(t *testing.T) {
|
|||||||
NewInsufficientResourceError(v1.ResourceStorageScratch, 25, 5, 20),
|
NewInsufficientResourceError(v1.ResourceStorageScratch, 25, 5, 20),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
pod: newResourcePod(schedulercache.Resource{}),
|
||||||
|
emptyDirLimit: 25,
|
||||||
|
storageMedium: v1.StorageMediumDefault,
|
||||||
|
nodeInfo: schedulercache.NewNodeInfo(
|
||||||
|
newResourcePod(schedulercache.Resource{MilliCPU: 2, Memory: 2, StorageOverlay: 5})),
|
||||||
|
fits: false,
|
||||||
|
test: "storage scratchrequest exceeds allocatable",
|
||||||
|
reasons: []algorithm.PredicateFailureReason{
|
||||||
|
NewInsufficientResourceError(v1.ResourceStorageScratch, 25, 5, 20),
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
pod: newResourcePod(schedulercache.Resource{MilliCPU: 1, Memory: 1, StorageOverlay: 10}),
|
pod: newResourcePod(schedulercache.Resource{MilliCPU: 1, Memory: 1, StorageOverlay: 10}),
|
||||||
emptyDirLimit: 15,
|
emptyDirLimit: 15,
|
||||||
@ -487,10 +499,7 @@ func TestPodFitsResources(t *testing.T) {
|
|||||||
nodeInfo: schedulercache.NewNodeInfo(
|
nodeInfo: schedulercache.NewNodeInfo(
|
||||||
newResourcePod(schedulercache.Resource{MilliCPU: 2, Memory: 2, StorageOverlay: 5})),
|
newResourcePod(schedulercache.Resource{MilliCPU: 2, Memory: 2, StorageOverlay: 5})),
|
||||||
fits: true,
|
fits: true,
|
||||||
test: "storage scratchrequest exceeds allocatable",
|
test: "pod fit with memory medium",
|
||||||
reasons: []algorithm.PredicateFailureReason{
|
|
||||||
NewInsufficientResourceError(v1.ResourceStorageScratch, 25, 5, 20),
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user