mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
Merge pull request #95281 from SaiHarshaK/staticcheck_test
fix staticcheck failures for test/e2e and test/integration
This commit is contained in:
commit
d6c26a826a
@ -1,7 +1,6 @@
|
|||||||
cluster/images/etcd/migrate
|
cluster/images/etcd/migrate
|
||||||
pkg/controller/replicaset
|
pkg/controller/replicaset
|
||||||
pkg/kubelet/dockershim
|
pkg/kubelet/dockershim
|
||||||
test/e2e/autoscaling
|
|
||||||
test/integration/garbagecollector
|
test/integration/garbagecollector
|
||||||
test/integration/scheduler_perf
|
test/integration/scheduler_perf
|
||||||
vendor/k8s.io/apimachinery/pkg/api/apitesting/roundtrip
|
vendor/k8s.io/apimachinery/pkg/api/apitesting/roundtrip
|
||||||
|
@ -54,6 +54,7 @@ go_library(
|
|||||||
"//vendor/github.com/onsi/ginkgo:go_default_library",
|
"//vendor/github.com/onsi/ginkgo:go_default_library",
|
||||||
"//vendor/golang.org/x/oauth2/google:go_default_library",
|
"//vendor/golang.org/x/oauth2/google:go_default_library",
|
||||||
"//vendor/google.golang.org/api/monitoring/v3:go_default_library",
|
"//vendor/google.golang.org/api/monitoring/v3:go_default_library",
|
||||||
|
"//vendor/google.golang.org/api/option:go_default_library",
|
||||||
"//vendor/k8s.io/klog/v2:go_default_library",
|
"//vendor/k8s.io/klog/v2:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
@ -22,6 +22,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
gcm "google.golang.org/api/monitoring/v3"
|
gcm "google.golang.org/api/monitoring/v3"
|
||||||
|
"google.golang.org/api/option"
|
||||||
appsv1 "k8s.io/api/apps/v1"
|
appsv1 "k8s.io/api/apps/v1"
|
||||||
as "k8s.io/api/autoscaling/v2beta1"
|
as "k8s.io/api/autoscaling/v2beta1"
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
@ -233,6 +234,9 @@ func (tc *CustomMetricTestCase) Run() {
|
|||||||
|
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
client, err := google.DefaultClient(ctx, gcm.CloudPlatformScope)
|
client, err := google.DefaultClient(ctx, gcm.CloudPlatformScope)
|
||||||
|
if err != nil {
|
||||||
|
framework.Failf("Failed to initialize gcm default client, %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
// Hack for running tests locally, needed to authenticate in Stackdriver
|
// Hack for running tests locally, needed to authenticate in Stackdriver
|
||||||
// If this is your use case, create application default credentials:
|
// If this is your use case, create application default credentials:
|
||||||
@ -247,7 +251,7 @@ func (tc *CustomMetricTestCase) Run() {
|
|||||||
client := oauth2.NewClient(oauth2.NoContext, ts)
|
client := oauth2.NewClient(oauth2.NoContext, ts)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
gcmService, err := gcm.New(client)
|
gcmService, err := gcm.NewService(ctx, option.WithHTTPClient(client))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
framework.Failf("Failed to create gcm service, %v", err)
|
framework.Failf("Failed to create gcm service, %v", err)
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,6 @@ import (
|
|||||||
// These tests don't seem to be running properly in parallel: issue: #20338.
|
// These tests don't seem to be running properly in parallel: issue: #20338.
|
||||||
//
|
//
|
||||||
var _ = SIGDescribe("[Feature:HPA] Horizontal pod autoscaling (scale resource: CPU)", func() {
|
var _ = SIGDescribe("[Feature:HPA] Horizontal pod autoscaling (scale resource: CPU)", func() {
|
||||||
var rc *e2eautoscaling.ResourceConsumer
|
|
||||||
f := framework.NewDefaultFramework("horizontal-pod-autoscaling")
|
f := framework.NewDefaultFramework("horizontal-pod-autoscaling")
|
||||||
|
|
||||||
titleUp := "Should scale from 1 pod to 3 pods and from 3 to 5"
|
titleUp := "Should scale from 1 pod to 3 pods and from 3 to 5"
|
||||||
@ -38,20 +37,20 @@ var _ = SIGDescribe("[Feature:HPA] Horizontal pod autoscaling (scale resource: C
|
|||||||
SIGDescribe("[Serial] [Slow] Deployment", func() {
|
SIGDescribe("[Serial] [Slow] Deployment", func() {
|
||||||
// CPU tests via deployments
|
// CPU tests via deployments
|
||||||
ginkgo.It(titleUp, func() {
|
ginkgo.It(titleUp, func() {
|
||||||
scaleUp("test-deployment", e2eautoscaling.KindDeployment, false, rc, f)
|
scaleUp("test-deployment", e2eautoscaling.KindDeployment, false, f)
|
||||||
})
|
})
|
||||||
ginkgo.It(titleDown, func() {
|
ginkgo.It(titleDown, func() {
|
||||||
scaleDown("test-deployment", e2eautoscaling.KindDeployment, false, rc, f)
|
scaleDown("test-deployment", e2eautoscaling.KindDeployment, false, f)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
SIGDescribe("[Serial] [Slow] ReplicaSet", func() {
|
SIGDescribe("[Serial] [Slow] ReplicaSet", func() {
|
||||||
// CPU tests via ReplicaSets
|
// CPU tests via ReplicaSets
|
||||||
ginkgo.It(titleUp, func() {
|
ginkgo.It(titleUp, func() {
|
||||||
scaleUp("rs", e2eautoscaling.KindReplicaSet, false, rc, f)
|
scaleUp("rs", e2eautoscaling.KindReplicaSet, false, f)
|
||||||
})
|
})
|
||||||
ginkgo.It(titleDown, func() {
|
ginkgo.It(titleDown, func() {
|
||||||
scaleDown("rs", e2eautoscaling.KindReplicaSet, false, rc, f)
|
scaleDown("rs", e2eautoscaling.KindReplicaSet, false, f)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -59,10 +58,10 @@ var _ = SIGDescribe("[Feature:HPA] Horizontal pod autoscaling (scale resource: C
|
|||||||
SIGDescribe("[Serial] [Slow] ReplicationController", func() {
|
SIGDescribe("[Serial] [Slow] ReplicationController", func() {
|
||||||
// CPU tests via replication controllers
|
// CPU tests via replication controllers
|
||||||
ginkgo.It(titleUp+" and verify decision stability", func() {
|
ginkgo.It(titleUp+" and verify decision stability", func() {
|
||||||
scaleUp("rc", e2eautoscaling.KindRC, true, rc, f)
|
scaleUp("rc", e2eautoscaling.KindRC, true, f)
|
||||||
})
|
})
|
||||||
ginkgo.It(titleDown+" and verify decision stability", func() {
|
ginkgo.It(titleDown+" and verify decision stability", func() {
|
||||||
scaleDown("rc", e2eautoscaling.KindRC, true, rc, f)
|
scaleDown("rc", e2eautoscaling.KindRC, true, f)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -77,7 +76,7 @@ var _ = SIGDescribe("[Feature:HPA] Horizontal pod autoscaling (scale resource: C
|
|||||||
maxPods: 2,
|
maxPods: 2,
|
||||||
firstScale: 2,
|
firstScale: 2,
|
||||||
}
|
}
|
||||||
scaleTest.run("rc-light", e2eautoscaling.KindRC, rc, f)
|
scaleTest.run("rc-light", e2eautoscaling.KindRC, f)
|
||||||
})
|
})
|
||||||
ginkgo.It("Should scale from 2 pods to 1 pod [Slow]", func() {
|
ginkgo.It("Should scale from 2 pods to 1 pod [Slow]", func() {
|
||||||
scaleTest := &HPAScaleTest{
|
scaleTest := &HPAScaleTest{
|
||||||
@ -89,7 +88,7 @@ var _ = SIGDescribe("[Feature:HPA] Horizontal pod autoscaling (scale resource: C
|
|||||||
maxPods: 2,
|
maxPods: 2,
|
||||||
firstScale: 1,
|
firstScale: 1,
|
||||||
}
|
}
|
||||||
scaleTest.run("rc-light", e2eautoscaling.KindRC, rc, f)
|
scaleTest.run("rc-light", e2eautoscaling.KindRC, f)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
@ -106,7 +105,6 @@ type HPAScaleTest struct {
|
|||||||
firstScaleStasis time.Duration
|
firstScaleStasis time.Duration
|
||||||
cpuBurst int
|
cpuBurst int
|
||||||
secondScale int32
|
secondScale int32
|
||||||
secondScaleStasis time.Duration
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// run is a method which runs an HPA lifecycle, from a starting state, to an expected
|
// run is a method which runs an HPA lifecycle, from a starting state, to an expected
|
||||||
@ -114,9 +112,9 @@ type HPAScaleTest struct {
|
|||||||
// The first state change is due to the CPU being consumed initially, which HPA responds to by changing pod counts.
|
// The first state change is due to the CPU being consumed initially, which HPA responds to by changing pod counts.
|
||||||
// The second state change (optional) is due to the CPU burst parameter, which HPA again responds to.
|
// The second state change (optional) is due to the CPU burst parameter, which HPA again responds to.
|
||||||
// TODO The use of 3 states is arbitrary, we could eventually make this test handle "n" states once this test stabilizes.
|
// TODO The use of 3 states is arbitrary, we could eventually make this test handle "n" states once this test stabilizes.
|
||||||
func (scaleTest *HPAScaleTest) run(name string, kind schema.GroupVersionKind, rc *e2eautoscaling.ResourceConsumer, f *framework.Framework) {
|
func (scaleTest *HPAScaleTest) run(name string, kind schema.GroupVersionKind, f *framework.Framework) {
|
||||||
const timeToWait = 15 * time.Minute
|
const timeToWait = 15 * time.Minute
|
||||||
rc = e2eautoscaling.NewDynamicResourceConsumer(name, f.Namespace.Name, kind, scaleTest.initPods, scaleTest.totalInitialCPUUsage, 0, 0, scaleTest.perPodCPURequest, 200, f.ClientSet, f.ScalesGetter)
|
rc := e2eautoscaling.NewDynamicResourceConsumer(name, f.Namespace.Name, kind, scaleTest.initPods, scaleTest.totalInitialCPUUsage, 0, 0, scaleTest.perPodCPURequest, 200, f.ClientSet, f.ScalesGetter)
|
||||||
defer rc.CleanUp()
|
defer rc.CleanUp()
|
||||||
hpa := e2eautoscaling.CreateCPUHorizontalPodAutoscaler(rc, scaleTest.targetCPUUtilizationPercent, scaleTest.minPods, scaleTest.maxPods)
|
hpa := e2eautoscaling.CreateCPUHorizontalPodAutoscaler(rc, scaleTest.targetCPUUtilizationPercent, scaleTest.minPods, scaleTest.maxPods)
|
||||||
defer e2eautoscaling.DeleteHorizontalPodAutoscaler(rc, hpa.Name)
|
defer e2eautoscaling.DeleteHorizontalPodAutoscaler(rc, hpa.Name)
|
||||||
@ -131,7 +129,7 @@ func (scaleTest *HPAScaleTest) run(name string, kind schema.GroupVersionKind, rc
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func scaleUp(name string, kind schema.GroupVersionKind, checkStability bool, rc *e2eautoscaling.ResourceConsumer, f *framework.Framework) {
|
func scaleUp(name string, kind schema.GroupVersionKind, checkStability bool, f *framework.Framework) {
|
||||||
stasis := 0 * time.Minute
|
stasis := 0 * time.Minute
|
||||||
if checkStability {
|
if checkStability {
|
||||||
stasis = 10 * time.Minute
|
stasis = 10 * time.Minute
|
||||||
@ -148,10 +146,10 @@ func scaleUp(name string, kind schema.GroupVersionKind, checkStability bool, rc
|
|||||||
cpuBurst: 700,
|
cpuBurst: 700,
|
||||||
secondScale: 5,
|
secondScale: 5,
|
||||||
}
|
}
|
||||||
scaleTest.run(name, kind, rc, f)
|
scaleTest.run(name, kind, f)
|
||||||
}
|
}
|
||||||
|
|
||||||
func scaleDown(name string, kind schema.GroupVersionKind, checkStability bool, rc *e2eautoscaling.ResourceConsumer, f *framework.Framework) {
|
func scaleDown(name string, kind schema.GroupVersionKind, checkStability bool, f *framework.Framework) {
|
||||||
stasis := 0 * time.Minute
|
stasis := 0 * time.Minute
|
||||||
if checkStability {
|
if checkStability {
|
||||||
stasis = 10 * time.Minute
|
stasis = 10 * time.Minute
|
||||||
@ -168,5 +166,5 @@ func scaleDown(name string, kind schema.GroupVersionKind, checkStability bool, r
|
|||||||
cpuBurst: 10,
|
cpuBurst: 10,
|
||||||
secondScale: 1,
|
secondScale: 1,
|
||||||
}
|
}
|
||||||
scaleTest.run(name, kind, rc, f)
|
scaleTest.run(name, kind, f)
|
||||||
}
|
}
|
||||||
|
@ -366,17 +366,16 @@ func testCrossNamespaceReferences(t *testing.T, watchCache bool) {
|
|||||||
}
|
}
|
||||||
invalidOwnerReferences = append(invalidOwnerReferences, metav1.OwnerReference{Name: "invalid", UID: parent.UID, APIVersion: "v1", Kind: "Pod", Controller: pointer.BoolPtr(false)})
|
invalidOwnerReferences = append(invalidOwnerReferences, metav1.OwnerReference{Name: "invalid", UID: parent.UID, APIVersion: "v1", Kind: "Pod", Controller: pointer.BoolPtr(false)})
|
||||||
|
|
||||||
invalidUIDs := []types.UID{}
|
|
||||||
for i := 0; i < workers; i++ {
|
for i := 0; i < workers; i++ {
|
||||||
invalidChildType1, err := clientSet.CoreV1().ConfigMaps(namespaceA).Create(context.TODO(), &v1.ConfigMap{ObjectMeta: metav1.ObjectMeta{GenerateName: "invalid-child-", OwnerReferences: invalidOwnerReferences}}, metav1.CreateOptions{})
|
_, err := clientSet.CoreV1().ConfigMaps(namespaceA).Create(context.TODO(), &v1.ConfigMap{ObjectMeta: metav1.ObjectMeta{GenerateName: "invalid-child-", OwnerReferences: invalidOwnerReferences}}, metav1.CreateOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
invalidChildType2, err := clientSet.CoreV1().Secrets(namespaceA).Create(context.TODO(), &v1.Secret{ObjectMeta: metav1.ObjectMeta{GenerateName: "invalid-child-a-", OwnerReferences: invalidOwnerReferences}}, metav1.CreateOptions{})
|
_, err = clientSet.CoreV1().Secrets(namespaceA).Create(context.TODO(), &v1.Secret{ObjectMeta: metav1.ObjectMeta{GenerateName: "invalid-child-a-", OwnerReferences: invalidOwnerReferences}}, metav1.CreateOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
invalidChildType3, err := clientSet.CoreV1().Secrets(namespaceA).Create(context.TODO(), &v1.Secret{
|
_, err = clientSet.CoreV1().Secrets(namespaceA).Create(context.TODO(), &v1.Secret{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Labels: map[string]string{"single-bad-reference": "true"},
|
Labels: map[string]string{"single-bad-reference": "true"},
|
||||||
GenerateName: "invalid-child-b-",
|
GenerateName: "invalid-child-b-",
|
||||||
@ -386,7 +385,6 @@ func testCrossNamespaceReferences(t *testing.T, watchCache bool) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
invalidUIDs = append(invalidUIDs, invalidChildType1.UID, invalidChildType2.UID, invalidChildType3.UID)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// start GC with existing objects in place to simulate controller-manager restart
|
// start GC with existing objects in place to simulate controller-manager restart
|
||||||
@ -572,7 +570,7 @@ func TestCreateWithNonExistentOwner(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func setupRCsPods(t *testing.T, gc *garbagecollector.GarbageCollector, clientSet clientset.Interface, nameSuffix, namespace string, initialFinalizers []string, options metav1.DeleteOptions, wg *sync.WaitGroup, rcUIDs chan types.UID) {
|
func setupRCsPods(t *testing.T, gc *garbagecollector.GarbageCollector, clientSet clientset.Interface, nameSuffix, namespace string, initialFinalizers []string, options metav1.DeleteOptions, wg *sync.WaitGroup, rcUIDs chan types.UID, errs chan string) {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
rcClient := clientSet.CoreV1().ReplicationControllers(namespace)
|
rcClient := clientSet.CoreV1().ReplicationControllers(namespace)
|
||||||
podClient := clientSet.CoreV1().Pods(namespace)
|
podClient := clientSet.CoreV1().Pods(namespace)
|
||||||
@ -582,7 +580,8 @@ func setupRCsPods(t *testing.T, gc *garbagecollector.GarbageCollector, clientSet
|
|||||||
rc.ObjectMeta.Finalizers = initialFinalizers
|
rc.ObjectMeta.Finalizers = initialFinalizers
|
||||||
rc, err := rcClient.Create(context.TODO(), rc, metav1.CreateOptions{})
|
rc, err := rcClient.Create(context.TODO(), rc, metav1.CreateOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to create replication controller: %v", err)
|
errs <- fmt.Sprintf("Failed to create replication controller: %v", err)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
rcUIDs <- rc.ObjectMeta.UID
|
rcUIDs <- rc.ObjectMeta.UID
|
||||||
// create pods.
|
// create pods.
|
||||||
@ -592,7 +591,8 @@ func setupRCsPods(t *testing.T, gc *garbagecollector.GarbageCollector, clientSet
|
|||||||
pod := newPod(podName, namespace, []metav1.OwnerReference{{UID: rc.ObjectMeta.UID, Name: rc.ObjectMeta.Name}})
|
pod := newPod(podName, namespace, []metav1.OwnerReference{{UID: rc.ObjectMeta.UID, Name: rc.ObjectMeta.Name}})
|
||||||
createdPod, err := podClient.Create(context.TODO(), pod, metav1.CreateOptions{})
|
createdPod, err := podClient.Create(context.TODO(), pod, metav1.CreateOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Failed to create Pod: %v", err)
|
errs <- fmt.Sprintf("Failed to create Pod: %v", err)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
podUIDs = append(podUIDs, createdPod.ObjectMeta.UID)
|
podUIDs = append(podUIDs, createdPod.ObjectMeta.UID)
|
||||||
}
|
}
|
||||||
@ -624,12 +624,14 @@ func setupRCsPods(t *testing.T, gc *garbagecollector.GarbageCollector, clientSet
|
|||||||
return true, nil
|
return true, nil
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to observe the expected pods in the GC graph for rc %s", rcName)
|
errs <- fmt.Sprintf("failed to observe the expected pods in the GC graph for rc %s", rcName)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// delete the rc
|
// delete the rc
|
||||||
if err := rcClient.Delete(context.TODO(), rc.ObjectMeta.Name, options); err != nil {
|
if err := rcClient.Delete(context.TODO(), rc.ObjectMeta.Name, options); err != nil {
|
||||||
t.Fatalf("failed to delete replication controller: %v", err)
|
errs <- fmt.Sprintf("failed to delete replication controller: %v", err)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -672,19 +674,24 @@ func TestStressingCascadingDeletion(t *testing.T) {
|
|||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
wg.Add(collections * 5)
|
wg.Add(collections * 5)
|
||||||
rcUIDs := make(chan types.UID, collections*5)
|
rcUIDs := make(chan types.UID, collections*5)
|
||||||
|
errs := make(chan string, 5)
|
||||||
for i := 0; i < collections; i++ {
|
for i := 0; i < collections; i++ {
|
||||||
// rc is created with empty finalizers, deleted with nil delete options, pods will remain.
|
// rc is created with empty finalizers, deleted with nil delete options, pods will remain.
|
||||||
go setupRCsPods(t, gc, clientSet, "collection1-"+strconv.Itoa(i), ns.Name, []string{}, metav1.DeleteOptions{}, &wg, rcUIDs)
|
go setupRCsPods(t, gc, clientSet, "collection1-"+strconv.Itoa(i), ns.Name, []string{}, metav1.DeleteOptions{}, &wg, rcUIDs, errs)
|
||||||
// rc is created with the orphan finalizer, deleted with nil options, pods will remain.
|
// rc is created with the orphan finalizer, deleted with nil options, pods will remain.
|
||||||
go setupRCsPods(t, gc, clientSet, "collection2-"+strconv.Itoa(i), ns.Name, []string{metav1.FinalizerOrphanDependents}, metav1.DeleteOptions{}, &wg, rcUIDs)
|
go setupRCsPods(t, gc, clientSet, "collection2-"+strconv.Itoa(i), ns.Name, []string{metav1.FinalizerOrphanDependents}, metav1.DeleteOptions{}, &wg, rcUIDs, errs)
|
||||||
// rc is created with the orphan finalizer, deleted with DeleteOptions.OrphanDependents=false, pods will be deleted.
|
// rc is created with the orphan finalizer, deleted with DeleteOptions.OrphanDependents=false, pods will be deleted.
|
||||||
go setupRCsPods(t, gc, clientSet, "collection3-"+strconv.Itoa(i), ns.Name, []string{metav1.FinalizerOrphanDependents}, getNonOrphanOptions(), &wg, rcUIDs)
|
go setupRCsPods(t, gc, clientSet, "collection3-"+strconv.Itoa(i), ns.Name, []string{metav1.FinalizerOrphanDependents}, getNonOrphanOptions(), &wg, rcUIDs, errs)
|
||||||
// rc is created with empty finalizers, deleted with DeleteOptions.OrphanDependents=true, pods will remain.
|
// rc is created with empty finalizers, deleted with DeleteOptions.OrphanDependents=true, pods will remain.
|
||||||
go setupRCsPods(t, gc, clientSet, "collection4-"+strconv.Itoa(i), ns.Name, []string{}, getOrphanOptions(), &wg, rcUIDs)
|
go setupRCsPods(t, gc, clientSet, "collection4-"+strconv.Itoa(i), ns.Name, []string{}, getOrphanOptions(), &wg, rcUIDs, errs)
|
||||||
// rc is created with empty finalizers, deleted with DeleteOptions.PropagationPolicy=Orphan, pods will remain.
|
// rc is created with empty finalizers, deleted with DeleteOptions.PropagationPolicy=Orphan, pods will remain.
|
||||||
go setupRCsPods(t, gc, clientSet, "collection5-"+strconv.Itoa(i), ns.Name, []string{}, getPropagateOrphanOptions(), &wg, rcUIDs)
|
go setupRCsPods(t, gc, clientSet, "collection5-"+strconv.Itoa(i), ns.Name, []string{}, getPropagateOrphanOptions(), &wg, rcUIDs, errs)
|
||||||
}
|
}
|
||||||
wg.Wait()
|
wg.Wait()
|
||||||
|
close(errs)
|
||||||
|
for errString := range errs {
|
||||||
|
t.Fatalf(errString)
|
||||||
|
}
|
||||||
t.Logf("all pods are created, all replications controllers are created then deleted")
|
t.Logf("all pods are created, all replications controllers are created then deleted")
|
||||||
// wait for the RCs and Pods to reach the expected numbers.
|
// wait for the RCs and Pods to reach the expected numbers.
|
||||||
if err := wait.Poll(1*time.Second, 300*time.Second, func() (bool, error) {
|
if err := wait.Poll(1*time.Second, 300*time.Second, func() (bool, error) {
|
||||||
|
Loading…
Reference in New Issue
Block a user