mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 19:01:49 +00:00
Merge pull request #81842 from verb/range-scheduler
Add test for HTTPExtender.IsInterested
This commit is contained in:
commit
12e6930d8a
@ -23,7 +23,9 @@ import (
|
||||
"time"
|
||||
|
||||
"k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/resource"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/util/sets"
|
||||
"k8s.io/apimachinery/pkg/util/wait"
|
||||
"k8s.io/kubernetes/pkg/scheduler/algorithm"
|
||||
"k8s.io/kubernetes/pkg/scheduler/algorithm/predicates"
|
||||
@ -575,3 +577,87 @@ func TestGenericSchedulerWithExtenders(t *testing.T) {
|
||||
func createNode(name string) *v1.Node {
|
||||
return &v1.Node{ObjectMeta: metav1.ObjectMeta{Name: name}}
|
||||
}
|
||||
|
||||
func TestIsInterested(t *testing.T) {
|
||||
mem := &HTTPExtender{
|
||||
managedResources: sets.NewString(),
|
||||
}
|
||||
mem.managedResources.Insert("memory")
|
||||
|
||||
for _, tc := range []struct {
|
||||
label string
|
||||
extender *HTTPExtender
|
||||
pod *v1.Pod
|
||||
want bool
|
||||
}{
|
||||
{
|
||||
label: "Empty managed resources",
|
||||
extender: &HTTPExtender{
|
||||
managedResources: sets.NewString(),
|
||||
},
|
||||
pod: &v1.Pod{},
|
||||
want: true,
|
||||
},
|
||||
{
|
||||
label: "Managed memory, empty resources",
|
||||
extender: mem,
|
||||
pod: &v1.Pod{
|
||||
Spec: v1.PodSpec{
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "app",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
want: false,
|
||||
},
|
||||
{
|
||||
label: "Managed memory, container memory",
|
||||
extender: mem,
|
||||
pod: &v1.Pod{
|
||||
Spec: v1.PodSpec{
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "app",
|
||||
Resources: v1.ResourceRequirements{
|
||||
Requests: v1.ResourceList{"memory": resource.Quantity{}},
|
||||
Limits: v1.ResourceList{"memory": resource.Quantity{}},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
want: true,
|
||||
},
|
||||
{
|
||||
label: "Managed memory, init container memory",
|
||||
extender: mem,
|
||||
pod: &v1.Pod{
|
||||
Spec: v1.PodSpec{
|
||||
Containers: []v1.Container{
|
||||
{
|
||||
Name: "app",
|
||||
},
|
||||
},
|
||||
InitContainers: []v1.Container{
|
||||
{
|
||||
Name: "init",
|
||||
Resources: v1.ResourceRequirements{
|
||||
Requests: v1.ResourceList{"memory": resource.Quantity{}},
|
||||
Limits: v1.ResourceList{"memory": resource.Quantity{}},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
want: true,
|
||||
},
|
||||
} {
|
||||
t.Run(tc.label, func(t *testing.T) {
|
||||
if got := tc.extender.IsInterested(tc.pod); got != tc.want {
|
||||
t.Fatalf("IsInterested(%v) = %v, wanted %v", tc.pod, got, tc.want)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user