fix todo: use a better way to keep this label unique in the tests

This commit is contained in:
hangaoshuai 2018-03-02 09:33:43 +08:00
parent 2172a2a806
commit ebec856cd3

View File

@ -18,6 +18,7 @@ package apimachinery
import ( import (
"fmt" "fmt"
"sync/atomic"
"time" "time"
batchv1 "k8s.io/api/batch/v1" batchv1 "k8s.io/api/batch/v1"
@ -93,8 +94,8 @@ func getNonOrphanOptions() *metav1.DeleteOptions {
} }
var ( var (
zero = int64(0) zero = int64(0)
lablecount = int64(0)
CronJobGroupVersionResource = schema.GroupVersionResource{Group: batchv1beta1.GroupName, Version: "v1beta1", Resource: "cronjobs"} CronJobGroupVersionResource = schema.GroupVersionResource{Group: batchv1beta1.GroupName, Version: "v1beta1", Resource: "cronjobs"}
) )
@ -328,6 +329,14 @@ func newCronJob(name, schedule string) *batchv1beta1.CronJob {
} }
} }
// getUniqLabel returns a UniqLabel based on labeLkey and labelvalue.
func getUniqLabel(labelkey, labelvalue string) map[string]string {
count := atomic.AddInt64(&lablecount, 1)
uniqlabelkey := fmt.Sprintf("%s-%05d", labelkey, count)
uniqlabelvalue := fmt.Sprintf("%s-%05d", labelvalue, count)
return map[string]string{uniqlabelkey: uniqlabelvalue}
}
var _ = SIGDescribe("Garbage collector", func() { var _ = SIGDescribe("Garbage collector", func() {
f := framework.NewDefaultFramework("gc") f := framework.NewDefaultFramework("gc")
It("should delete pods created by rc when not orphaning", func() { It("should delete pods created by rc when not orphaning", func() {
@ -335,8 +344,7 @@ var _ = SIGDescribe("Garbage collector", func() {
rcClient := clientSet.CoreV1().ReplicationControllers(f.Namespace.Name) rcClient := clientSet.CoreV1().ReplicationControllers(f.Namespace.Name)
podClient := clientSet.CoreV1().Pods(f.Namespace.Name) podClient := clientSet.CoreV1().Pods(f.Namespace.Name)
rcName := "simpletest.rc" rcName := "simpletest.rc"
// TODO: find better way to keep this label unique in the test uniqLabels := getUniqLabel("gctest", "delete_pods")
uniqLabels := map[string]string{"gctest": "delete_pods"}
rc := newOwnerRC(f, rcName, 2, uniqLabels) rc := newOwnerRC(f, rcName, 2, uniqLabels)
By("create the rc") By("create the rc")
rc, err := rcClient.Create(rc) rc, err := rcClient.Create(rc)
@ -388,8 +396,7 @@ var _ = SIGDescribe("Garbage collector", func() {
rcClient := clientSet.CoreV1().ReplicationControllers(f.Namespace.Name) rcClient := clientSet.CoreV1().ReplicationControllers(f.Namespace.Name)
podClient := clientSet.CoreV1().Pods(f.Namespace.Name) podClient := clientSet.CoreV1().Pods(f.Namespace.Name)
rcName := "simpletest.rc" rcName := "simpletest.rc"
// TODO: find better way to keep this label unique in the test uniqLabels := getUniqLabel("gctest", "orphan_pods")
uniqLabels := map[string]string{"gctest": "orphan_pods"}
rc := newOwnerRC(f, rcName, estimateMaximumPods(clientSet, 10, 100), uniqLabels) rc := newOwnerRC(f, rcName, estimateMaximumPods(clientSet, 10, 100), uniqLabels)
By("create the rc") By("create the rc")
rc, err := rcClient.Create(rc) rc, err := rcClient.Create(rc)
@ -457,8 +464,7 @@ var _ = SIGDescribe("Garbage collector", func() {
rcClient := clientSet.CoreV1().ReplicationControllers(f.Namespace.Name) rcClient := clientSet.CoreV1().ReplicationControllers(f.Namespace.Name)
podClient := clientSet.CoreV1().Pods(f.Namespace.Name) podClient := clientSet.CoreV1().Pods(f.Namespace.Name)
rcName := "simpletest.rc" rcName := "simpletest.rc"
// TODO: find better way to keep this label unique in the test uniqLabels := getUniqLabel("gctest", "orphan_pods_nil_option")
uniqLabels := map[string]string{"gctest": "orphan_pods_nil_option"}
rc := newOwnerRC(f, rcName, 2, uniqLabels) rc := newOwnerRC(f, rcName, 2, uniqLabels)
By("create the rc") By("create the rc")
rc, err := rcClient.Create(rc) rc, err := rcClient.Create(rc)
@ -506,8 +512,7 @@ var _ = SIGDescribe("Garbage collector", func() {
deployClient := clientSet.ExtensionsV1beta1().Deployments(f.Namespace.Name) deployClient := clientSet.ExtensionsV1beta1().Deployments(f.Namespace.Name)
rsClient := clientSet.ExtensionsV1beta1().ReplicaSets(f.Namespace.Name) rsClient := clientSet.ExtensionsV1beta1().ReplicaSets(f.Namespace.Name)
deploymentName := "simpletest.deployment" deploymentName := "simpletest.deployment"
// TODO: find better way to keep this label unique in the test uniqLabels := getUniqLabel("gctest", "delete_rs")
uniqLabels := map[string]string{"gctest": "delete_rs"}
deployment := newOwnerDeployment(f, deploymentName, uniqLabels) deployment := newOwnerDeployment(f, deploymentName, uniqLabels)
By("create the deployment") By("create the deployment")
createdDeployment, err := deployClient.Create(deployment) createdDeployment, err := deployClient.Create(deployment)
@ -557,8 +562,7 @@ var _ = SIGDescribe("Garbage collector", func() {
deployClient := clientSet.ExtensionsV1beta1().Deployments(f.Namespace.Name) deployClient := clientSet.ExtensionsV1beta1().Deployments(f.Namespace.Name)
rsClient := clientSet.ExtensionsV1beta1().ReplicaSets(f.Namespace.Name) rsClient := clientSet.ExtensionsV1beta1().ReplicaSets(f.Namespace.Name)
deploymentName := "simpletest.deployment" deploymentName := "simpletest.deployment"
// TODO: find better way to keep this label unique in the test uniqLabels := getUniqLabel("gctest", "orphan_rs")
uniqLabels := map[string]string{"gctest": "orphan_rs"}
deployment := newOwnerDeployment(f, deploymentName, uniqLabels) deployment := newOwnerDeployment(f, deploymentName, uniqLabels)
By("create the deployment") By("create the deployment")
createdDeployment, err := deployClient.Create(deployment) createdDeployment, err := deployClient.Create(deployment)
@ -622,8 +626,7 @@ var _ = SIGDescribe("Garbage collector", func() {
rcClient := clientSet.CoreV1().ReplicationControllers(f.Namespace.Name) rcClient := clientSet.CoreV1().ReplicationControllers(f.Namespace.Name)
podClient := clientSet.CoreV1().Pods(f.Namespace.Name) podClient := clientSet.CoreV1().Pods(f.Namespace.Name)
rcName := "simpletest.rc" rcName := "simpletest.rc"
// TODO: find better way to keep this label unique in the test uniqLabels := getUniqLabel("gctest", "delete_pods_foreground")
uniqLabels := map[string]string{"gctest": "delete_pods_foreground"}
rc := newOwnerRC(f, rcName, estimateMaximumPods(clientSet, 10, 100), uniqLabels) rc := newOwnerRC(f, rcName, estimateMaximumPods(clientSet, 10, 100), uniqLabels)
By("create the rc") By("create the rc")
rc, err := rcClient.Create(rc) rc, err := rcClient.Create(rc)
@ -708,18 +711,16 @@ var _ = SIGDescribe("Garbage collector", func() {
rc1Name := "simpletest-rc-to-be-deleted" rc1Name := "simpletest-rc-to-be-deleted"
replicas := int32(estimateMaximumPods(clientSet, 10, 100)) replicas := int32(estimateMaximumPods(clientSet, 10, 100))
halfReplicas := int(replicas / 2) halfReplicas := int(replicas / 2)
// TODO: find better way to keep this label unique in the test uniqLabels_deleted := getUniqLabel("gctest_d", "valid_and_pending_owners_d")
uniqLabels := map[string]string{"gctest": "valid_and_pending_owners"} rc1 := newOwnerRC(f, rc1Name, replicas, uniqLabels_deleted)
rc1 := newOwnerRC(f, rc1Name, replicas, uniqLabels)
By("create the rc1") By("create the rc1")
rc1, err := rcClient.Create(rc1) rc1, err := rcClient.Create(rc1)
if err != nil { if err != nil {
framework.Failf("Failed to create replication controller: %v", err) framework.Failf("Failed to create replication controller: %v", err)
} }
rc2Name := "simpletest-rc-to-stay" rc2Name := "simpletest-rc-to-stay"
// TODO: find better way to keep this label unique in the test uniqLabels_stay := getUniqLabel("gctest_s", "valid_and_pending_owners_s")
uniqLabels = map[string]string{"another.key": "another.value"} rc2 := newOwnerRC(f, rc2Name, 0, uniqLabels_stay)
rc2 := newOwnerRC(f, rc2Name, 0, uniqLabels)
By("create the rc2") By("create the rc2")
rc2, err = rcClient.Create(rc2) rc2, err = rcClient.Create(rc2)
if err != nil { if err != nil {