mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 10:51:29 +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"
|
"time"
|
||||||
|
|
||||||
"k8s.io/api/core/v1"
|
"k8s.io/api/core/v1"
|
||||||
|
"k8s.io/apimachinery/pkg/api/resource"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
"k8s.io/apimachinery/pkg/util/wait"
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
"k8s.io/kubernetes/pkg/scheduler/algorithm"
|
"k8s.io/kubernetes/pkg/scheduler/algorithm"
|
||||||
"k8s.io/kubernetes/pkg/scheduler/algorithm/predicates"
|
"k8s.io/kubernetes/pkg/scheduler/algorithm/predicates"
|
||||||
@ -575,3 +577,87 @@ func TestGenericSchedulerWithExtenders(t *testing.T) {
|
|||||||
func createNode(name string) *v1.Node {
|
func createNode(name string) *v1.Node {
|
||||||
return &v1.Node{ObjectMeta: metav1.ObjectMeta{Name: name}}
|
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