This is an automated email from the ASF dual-hosted git repository.
ccondit pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/yunikorn-k8shim.git
The following commit(s) were added to refs/heads/master by this push:
new 53f6f3e2 [YUNIKORN-1952] Ensure Verify_allow_preemption_tag e2e test
honors annotation on PriorityClass (#668)
53f6f3e2 is described below
commit 53f6f3e27786648115f5ab887dee63542f88ea8c
Author: wusamzong <[email protected]>
AuthorDate: Thu Oct 26 11:14:48 2023 -0500
[YUNIKORN-1952] Ensure Verify_allow_preemption_tag e2e test honors
annotation on PriorityClass (#668)
Closes: #668
Signed-off-by: Craig Condit <[email protected]>
---
test/e2e/framework/helpers/k8s/pod_conf.go | 31 +++++++++++++++-------
test/e2e/preemption/preemption_test.go | 22 +++++++--------
test/e2e/simple_preemptor/simple_preemptor_test.go | 6 ++---
3 files changed, 35 insertions(+), 24 deletions(-)
diff --git a/test/e2e/framework/helpers/k8s/pod_conf.go
b/test/e2e/framework/helpers/k8s/pod_conf.go
index 5da113ee..b8280c3b 100644
--- a/test/e2e/framework/helpers/k8s/pod_conf.go
+++ b/test/e2e/framework/helpers/k8s/pod_conf.go
@@ -39,10 +39,18 @@ type SleepPodConfig struct {
CPU int64
Mem int64
RequiredNode string
- Optedout bool
+ Optedout AllowPreemptOpted
Labels map[string]string
}
+type AllowPreemptOpted int
+
+const (
+ NotConfig AllowPreemptOpted = iota
+ Allow
+ Deny
+)
+
// TestPodConfig template for sleepPods
func InitSleepPod(conf SleepPodConfig) (*v1.Pod, error) {
// Initialize default values
@@ -88,9 +96,16 @@ func InitSleepPod(conf SleepPodConfig) (*v1.Pod, error) {
}
}
- optedOut := constants.True
- if !conf.Optedout {
- optedOut = constants.False
+ annotation := &PodAnnotation{
+ Other: map[string]string{},
+ }
+
+ switch conf.Optedout {
+ case NotConfig:
+ case Allow:
+ annotation.Other[constants.AnnotationAllowPreemption] =
constants.True
+ case Deny:
+ annotation.Other[constants.AnnotationAllowPreemption] =
constants.False
}
labels := map[string]string{
@@ -109,12 +124,8 @@ func InitSleepPod(conf SleepPodConfig) (*v1.Pod, error) {
RestartPolicy: v1.RestartPolicyNever,
DeletionGracePeriodSeconds: &secs,
Command: []string{"sleep",
strconv.Itoa(conf.Time)},
- Annotations: &PodAnnotation{
- Other: map[string]string{
- constants.AnnotationAllowPreemption: optedOut,
- },
- },
- Labels: labels,
+ Annotations: annotation,
+ Labels: labels,
Resources: &v1.ResourceRequirements{
Requests: v1.ResourceList{
"cpu":
resource.MustParse(strconv.FormatInt(conf.CPU, 10) + "m"),
diff --git a/test/e2e/preemption/preemption_test.go
b/test/e2e/preemption/preemption_test.go
index a2e65c8c..dc8585aa 100644
--- a/test/e2e/preemption/preemption_test.go
+++ b/test/e2e/preemption/preemption_test.go
@@ -162,7 +162,7 @@ var _ = ginkgo.Describe("Preemption", func() {
// Define sleepPod
sleepPodConfigs := createSandbox1SleepPodCofigs(3, 600)
- sleepPod4Config := k8s.SleepPodConfig{Name: "sleepjob4", NS:
dev, Mem: sleepPodMemLimit, Time: 600, Optedout: true, Labels:
map[string]string{"queue": "root.sandbox2"}}
+ sleepPod4Config := k8s.SleepPodConfig{Name: "sleepjob4", NS:
dev, Mem: sleepPodMemLimit, Time: 600, Optedout: k8s.Allow, Labels:
map[string]string{"queue": "root.sandbox2"}}
sleepPodConfigs = append(sleepPodConfigs, sleepPod4Config)
for _, config := range sleepPodConfigs {
@@ -225,7 +225,7 @@ var _ = ginkgo.Describe("Preemption", func() {
// Define sleepPod
sandbox1SleepPodConfigs := createSandbox1SleepPodCofigs(3, 30)
- sleepPod4Config := k8s.SleepPodConfig{Name: "sleepjob4", NS:
dev, Mem: sleepPodMemLimit, Time: 30, Optedout: true, Labels:
map[string]string{"queue": "root.sandbox2"}}
+ sleepPod4Config := k8s.SleepPodConfig{Name: "sleepjob4", NS:
dev, Mem: sleepPodMemLimit, Time: 30, Optedout: k8s.Allow, Labels:
map[string]string{"queue": "root.sandbox2"}}
// Deploy pods in root.sandbox1
for _, config := range sandbox1SleepPodConfigs {
@@ -292,7 +292,7 @@ var _ = ginkgo.Describe("Preemption", func() {
// Define sleepPod
sandbox1SleepPodConfigs := createSandbox1SleepPodCofigs(3, 30)
- sleepPod4Config := k8s.SleepPodConfig{Name: "sleepjob4", NS:
dev, Mem: sleepPodMemLimit, Time: 30, Optedout: true, Labels:
map[string]string{"queue": "root.sandbox2"}}
+ sleepPod4Config := k8s.SleepPodConfig{Name: "sleepjob4", NS:
dev, Mem: sleepPodMemLimit, Time: 30, Optedout: k8s.Allow, Labels:
map[string]string{"queue": "root.sandbox2"}}
// Deploy pods in root.sandbox1
for _, config := range sandbox1SleepPodConfigs {
@@ -367,8 +367,8 @@ var _ = ginkgo.Describe("Preemption", func() {
// Define sleepPod
sandbox1SleepPodConfigs := createSandbox1SleepPodCofigs(3, 30)
- sleepPod4Config := k8s.SleepPodConfig{Name: "sleepjob4", NS:
dev, Mem: sleepPodMemLimit, Time: 600, Optedout: true, Labels:
map[string]string{"queue": "root.low-priority"}}
- sleepPod5Config := k8s.SleepPodConfig{Name: "sleepjob5", NS:
dev, Mem: sleepPodMemLimit, Time: 600, Optedout: true, Labels:
map[string]string{"queue": "root.high-priority"}}
+ sleepPod4Config := k8s.SleepPodConfig{Name: "sleepjob4", NS:
dev, Mem: sleepPodMemLimit, Time: 600, Optedout: k8s.Allow, Labels:
map[string]string{"queue": "root.low-priority"}}
+ sleepPod5Config := k8s.SleepPodConfig{Name: "sleepjob5", NS:
dev, Mem: sleepPodMemLimit, Time: 600, Optedout: k8s.Allow, Labels:
map[string]string{"queue": "root.high-priority"}}
for _, config := range sandbox1SleepPodConfigs {
ginkgo.By("Deploy the sleep pod " + config.Name + " to
the development namespace")
@@ -483,11 +483,11 @@ var _ = ginkgo.Describe("Preemption", func() {
gomega.Ω(err).ShouldNot(HaveOccurred())
// Define sleepPod
- sleepPod1Config := k8s.SleepPodConfig{Name: "sleepjob1", NS:
dev, Mem: sleepPodMemLimit2, Time: 60, Optedout: true, Labels:
map[string]string{"queue": "root.sandbox3"}}
- sleepPod2Config := k8s.SleepPodConfig{Name: "sleepjob2", NS:
dev, Mem: sleepPodMemLimit2, Time: 60, Optedout: true, Labels:
map[string]string{"queue": "root.sandbox3"}}
- sleepPod3Config := k8s.SleepPodConfig{Name: "sleepjob3", NS:
dev, Mem: sleepPodMemLimit2, Time: 60, Optedout: false, Labels:
map[string]string{"queue": "root.sandbox4"}}
- sleepPod4Config := k8s.SleepPodConfig{Name: "sleepjob4", NS:
dev, Mem: sleepPodMemLimit2, Time: 60, Optedout: false, Labels:
map[string]string{"queue": "root.sandbox4"}}
- sleepPod5Config := k8s.SleepPodConfig{Name: "sleepjob5", NS:
dev, Mem: sleepPodMemLimit2, Time: 600, Optedout: true, Labels:
map[string]string{"queue": "root.sandbox5"}}
+ sleepPod1Config := k8s.SleepPodConfig{Name: "sleepjob1", NS:
dev, Mem: sleepPodMemLimit2, Time: 60, Optedout: k8s.NotConfig, Labels:
map[string]string{"queue": "root.sandbox3"}}
+ sleepPod2Config := k8s.SleepPodConfig{Name: "sleepjob2", NS:
dev, Mem: sleepPodMemLimit2, Time: 60, Optedout: k8s.NotConfig, Labels:
map[string]string{"queue": "root.sandbox3"}}
+ sleepPod3Config := k8s.SleepPodConfig{Name: "sleepjob3", NS:
dev, Mem: sleepPodMemLimit2, Time: 60, Optedout: k8s.NotConfig, Labels:
map[string]string{"queue": "root.sandbox4"}}
+ sleepPod4Config := k8s.SleepPodConfig{Name: "sleepjob4", NS:
dev, Mem: sleepPodMemLimit2, Time: 60, Optedout: k8s.NotConfig, Labels:
map[string]string{"queue": "root.sandbox4"}}
+ sleepPod5Config := k8s.SleepPodConfig{Name: "sleepjob5", NS:
dev, Mem: sleepPodMemLimit2, Time: 600, Optedout: k8s.NotConfig, Labels:
map[string]string{"queue": "root.sandbox5"}}
for _, config := range []k8s.SleepPodConfig{sleepPod1Config,
sleepPod2Config, sleepPod3Config, sleepPod4Config} {
ginkgo.By("Deploy the sleep pod " + config.Name + " to
the development namespace")
@@ -568,7 +568,7 @@ var _ = ginkgo.Describe("Preemption", func() {
func createSandbox1SleepPodCofigs(cnt, time int) []k8s.SleepPodConfig {
sandbox1Configs := make([]k8s.SleepPodConfig, 0, cnt)
for i := 0; i < cnt; i++ {
- sandbox1Configs = append(sandbox1Configs,
k8s.SleepPodConfig{Name: fmt.Sprintf("sleepjob%d", i+1), NS: dev, Mem:
sleepPodMemLimit, Time: time, Optedout: true, Labels:
map[string]string{"queue": "root.sandbox1"}})
+ sandbox1Configs = append(sandbox1Configs,
k8s.SleepPodConfig{Name: fmt.Sprintf("sleepjob%d", i+1), NS: dev, Mem:
sleepPodMemLimit, Time: time, Optedout: k8s.Allow, Labels:
map[string]string{"queue": "root.sandbox1"}})
}
return sandbox1Configs
}
diff --git a/test/e2e/simple_preemptor/simple_preemptor_test.go
b/test/e2e/simple_preemptor/simple_preemptor_test.go
index 9c8386f8..6de50c87 100644
--- a/test/e2e/simple_preemptor/simple_preemptor_test.go
+++ b/test/e2e/simple_preemptor/simple_preemptor_test.go
@@ -175,9 +175,9 @@ var _ = ginkgo.Describe("SimplePreemptor", func() {
sleepPod3Configs := k8s.SleepPodConfig{Name: "sleepjob3", NS:
dev, Mem: sleepPodMemLimit1, Time: 600, RequiredNode: Worker1, AppID: "test01"}
// add the same AppID to sleepPod3Configs so that
sleepPod4Configs is not the originator pod
- sleepPod4Configs := k8s.SleepPodConfig{Name: "sleepjob4", NS:
dev, Mem: sleepPodMemLimit2, Time: 600, Optedout: true, AppID: "test01"}
- sleepPod5Configs := k8s.SleepPodConfig{Name: "sleepjob5", NS:
dev, Mem: sleepPodMemLimit2, Time: 600, Optedout: false}
- sleepPod6Configs := k8s.SleepPodConfig{Name: "sleepjob6", NS:
dev, Mem: sleepPodMemLimit2, Time: 600, Optedout: false}
+ sleepPod4Configs := k8s.SleepPodConfig{Name: "sleepjob4", NS:
dev, Mem: sleepPodMemLimit2, Time: 600, Optedout: k8s.Allow, AppID: "test01"}
+ sleepPod5Configs := k8s.SleepPodConfig{Name: "sleepjob5", NS:
dev, Mem: sleepPodMemLimit2, Time: 600, Optedout: k8s.Deny}
+ sleepPod6Configs := k8s.SleepPodConfig{Name: "sleepjob6", NS:
dev, Mem: sleepPodMemLimit2, Time: 600, Optedout: k8s.Deny}
sleepPod7Configs := k8s.SleepPodConfig{Name: "sleepjob7", NS:
dev, Mem: sleepPodMemLimit2, Time: 600, RequiredNode: Worker2}
for _, config := range []k8s.SleepPodConfig{sleepPodConfigs,
sleepPod2Configs,
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]