func deleteResource(wg *sync.WaitGroup, config testutils.RunObjectConfig, deletingTime time.Duration) { defer GinkgoRecover() defer wg.Done() sleepUpTo(deletingTime) if framework.TestContext.GarbageCollectorEnabled && config.GetKind() != extensions.Kind("Deployment") { framework.ExpectNoError(framework.DeleteResourceAndWaitForGC( config.GetClient(), config.GetKind(), config.GetNamespace(), config.GetName()), fmt.Sprintf("deleting %v %s", config.GetKind(), config.GetName())) } else { framework.ExpectNoError(framework.DeleteResourceAndPods( config.GetClient(), config.GetInternalClient(), config.GetKind(), config.GetNamespace(), config.GetName()), fmt.Sprintf("deleting %v %s", config.GetKind(), config.GetName())) } }
// Scales RC to a random size within [0.5*size, 1.5*size] and lists all the pods afterwards. // Scaling happens always based on original size, not the current size. func scaleResource(wg *sync.WaitGroup, config testutils.RunObjectConfig, scalingTime time.Duration) { defer GinkgoRecover() defer wg.Done() sleepUpTo(scalingTime) newSize := uint(rand.Intn(config.GetReplicas()) + config.GetReplicas()/2) framework.ExpectNoError(framework.ScaleResource( config.GetClient(), config.GetInternalClient(), config.GetNamespace(), config.GetName(), newSize, true, config.GetKind()), fmt.Sprintf("scaling rc %s for the first time", config.GetName())) selector := labels.SelectorFromSet(labels.Set(map[string]string{"name": config.GetName()})) options := v1.ListOptions{ LabelSelector: selector.String(), ResourceVersion: "0", } _, err := config.GetClient().Core().Pods(config.GetNamespace()).List(options) framework.ExpectNoError(err, fmt.Sprintf("listing pods from rc %v", config.GetName())) }