Merge pull request #92571 from Huang-Wei/postfilter-impl-5

Polish unit tests of defaultpreemptio plugin
This commit is contained in:
Kubernetes Prow Robot 2020-07-01 23:13:47 -07:00 committed by GitHub
commit 6c917e6e48
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 763 additions and 942 deletions

View File

@ -61,19 +61,16 @@ go_test(
"//pkg/scheduler/internal/cache:go_default_library",
"//pkg/scheduler/internal/queue:go_default_library",
"//pkg/scheduler/testing:go_default_library",
"//pkg/scheduler/util:go_default_library",
"//staging/src/k8s.io/api/core/v1:go_default_library",
"//staging/src/k8s.io/api/policy/v1beta1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/wait:go_default_library",
"//staging/src/k8s.io/client-go/informers:go_default_library",
"//staging/src/k8s.io/client-go/kubernetes/fake:go_default_library",
"//staging/src/k8s.io/client-go/testing:go_default_library",
"//staging/src/k8s.io/client-go/tools/events:go_default_library",
"//staging/src/k8s.io/kube-scheduler/extender/v1:go_default_library",
"//vendor/github.com/google/go-cmp/cmp:go_default_library",
],
)

View File

@ -238,6 +238,12 @@ func (p *PodWrapper) NodeAffinityNotIn(key string, vals []string) *PodWrapper {
return p
}
// StartTime sets `t` as .status.startTime for the inner pod.
func (p *PodWrapper) StartTime(t metav1.Time) *PodWrapper {
p.Status.StartTime = &t
return p
}
// PodAffinityKind represents different kinds of PodAffinity.
type PodAffinityKind int
@ -358,6 +364,30 @@ func (p *PodWrapper) Label(k, v string) *PodWrapper {
return p
}
// Req adds a new container to the inner pod with given resource map.
func (p *PodWrapper) Req(resMap map[v1.ResourceName]string) *PodWrapper {
if len(resMap) == 0 {
return p
}
res := v1.ResourceList{}
for k, v := range resMap {
res[k] = resource.MustParse(v)
}
p.Spec.Containers = append(p.Spec.Containers, v1.Container{
Resources: v1.ResourceRequirements{
Requests: res,
},
})
return p
}
// PreemptionPolicy sets the give preemption policy to the inner pod.
func (p *PodWrapper) PreemptionPolicy(policy v1.PreemptionPolicy) *PodWrapper {
p.Spec.PreemptionPolicy = &policy
return p
}
// NodeWrapper wraps a Node inside.
type NodeWrapper struct{ v1.Node }