Commit 515f8342 authored by SataQiu's avatar SataQiu

fix golint failures of test/e2e/network

parent e9af72c6
...@@ -608,7 +608,6 @@ test/e2e/chaosmonkey ...@@ -608,7 +608,6 @@ test/e2e/chaosmonkey
test/e2e/common test/e2e/common
test/e2e/framework test/e2e/framework
test/e2e/lifecycle/bootstrap test/e2e/lifecycle/bootstrap
test/e2e/network
test/e2e/node test/e2e/node
test/e2e/scalability test/e2e/scalability
test/e2e/scheduling test/e2e/scheduling
......
...@@ -35,8 +35,8 @@ import ( ...@@ -35,8 +35,8 @@ import (
e2elog "k8s.io/kubernetes/test/e2e/framework/log" e2elog "k8s.io/kubernetes/test/e2e/framework/log"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
. "github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
. "github.com/onsi/gomega" "github.com/onsi/gomega"
) )
type dnsTestCommon struct { type dnsTestCommon struct {
...@@ -62,14 +62,14 @@ func newDNSTestCommon() dnsTestCommon { ...@@ -62,14 +62,14 @@ func newDNSTestCommon() dnsTestCommon {
} }
func (t *dnsTestCommon) init() { func (t *dnsTestCommon) init() {
By("Finding a DNS pod") ginkgo.By("Finding a DNS pod")
label := labels.SelectorFromSet(labels.Set(map[string]string{"k8s-app": "kube-dns"})) label := labels.SelectorFromSet(labels.Set(map[string]string{"k8s-app": "kube-dns"}))
options := metav1.ListOptions{LabelSelector: label.String()} options := metav1.ListOptions{LabelSelector: label.String()}
namespace := "kube-system" namespace := "kube-system"
pods, err := t.f.ClientSet.CoreV1().Pods(namespace).List(options) pods, err := t.f.ClientSet.CoreV1().Pods(namespace).List(options)
Expect(err).NotTo(HaveOccurred(), "failed to list pods in namespace: %s", namespace) gomega.Expect(err).NotTo(gomega.HaveOccurred(), "failed to list pods in namespace: %s", namespace)
Expect(len(pods.Items)).Should(BeNumerically(">=", 1)) gomega.Expect(len(pods.Items)).Should(gomega.BeNumerically(">=", 1))
t.dnsPod = &pods.Items[0] t.dnsPod = &pods.Items[0]
e2elog.Logf("Using DNS pod: %v", t.dnsPod.Name) e2elog.Logf("Using DNS pod: %v", t.dnsPod.Name)
...@@ -157,23 +157,23 @@ func (t *dnsTestCommon) setConfigMap(cm *v1.ConfigMap) { ...@@ -157,23 +157,23 @@ func (t *dnsTestCommon) setConfigMap(cm *v1.ConfigMap) {
}.AsSelector().String(), }.AsSelector().String(),
} }
cmList, err := t.c.CoreV1().ConfigMaps(t.ns).List(options) cmList, err := t.c.CoreV1().ConfigMaps(t.ns).List(options)
Expect(err).NotTo(HaveOccurred(), "failed to list ConfigMaps in namespace: %s", t.ns) gomega.Expect(err).NotTo(gomega.HaveOccurred(), "failed to list ConfigMaps in namespace: %s", t.ns)
if len(cmList.Items) == 0 { if len(cmList.Items) == 0 {
By(fmt.Sprintf("Creating the ConfigMap (%s:%s) %+v", t.ns, t.name, *cm)) ginkgo.By(fmt.Sprintf("Creating the ConfigMap (%s:%s) %+v", t.ns, t.name, *cm))
_, err := t.c.CoreV1().ConfigMaps(t.ns).Create(cm) _, err := t.c.CoreV1().ConfigMaps(t.ns).Create(cm)
Expect(err).NotTo(HaveOccurred(), "failed to create ConfigMap (%s:%s) %+v", t.ns, t.name, *cm) gomega.Expect(err).NotTo(gomega.HaveOccurred(), "failed to create ConfigMap (%s:%s) %+v", t.ns, t.name, *cm)
} else { } else {
By(fmt.Sprintf("Updating the ConfigMap (%s:%s) to %+v", t.ns, t.name, *cm)) ginkgo.By(fmt.Sprintf("Updating the ConfigMap (%s:%s) to %+v", t.ns, t.name, *cm))
_, err := t.c.CoreV1().ConfigMaps(t.ns).Update(cm) _, err := t.c.CoreV1().ConfigMaps(t.ns).Update(cm)
Expect(err).NotTo(HaveOccurred(), "failed to update ConfigMap (%s:%s) to %+v", t.ns, t.name, *cm) gomega.Expect(err).NotTo(gomega.HaveOccurred(), "failed to update ConfigMap (%s:%s) to %+v", t.ns, t.name, *cm)
} }
} }
func (t *dnsTestCommon) fetchDNSConfigMapData() map[string]string { func (t *dnsTestCommon) fetchDNSConfigMapData() map[string]string {
if t.name == "coredns" { if t.name == "coredns" {
pcm, err := t.c.CoreV1().ConfigMaps(metav1.NamespaceSystem).Get(t.name, metav1.GetOptions{}) pcm, err := t.c.CoreV1().ConfigMaps(metav1.NamespaceSystem).Get(t.name, metav1.GetOptions{})
Expect(err).NotTo(HaveOccurred(), "failed to get DNS ConfigMap: %s", t.name) gomega.Expect(err).NotTo(gomega.HaveOccurred(), "failed to get DNS ConfigMap: %s", t.name)
return pcm.Data return pcm.Data
} }
return nil return nil
...@@ -189,10 +189,10 @@ func (t *dnsTestCommon) restoreDNSConfigMap(configMapData map[string]string) { ...@@ -189,10 +189,10 @@ func (t *dnsTestCommon) restoreDNSConfigMap(configMapData map[string]string) {
} }
func (t *dnsTestCommon) deleteConfigMap() { func (t *dnsTestCommon) deleteConfigMap() {
By(fmt.Sprintf("Deleting the ConfigMap (%s:%s)", t.ns, t.name)) ginkgo.By(fmt.Sprintf("Deleting the ConfigMap (%s:%s)", t.ns, t.name))
t.cm = nil t.cm = nil
err := t.c.CoreV1().ConfigMaps(t.ns).Delete(t.name, nil) err := t.c.CoreV1().ConfigMaps(t.ns).Delete(t.name, nil)
Expect(err).NotTo(HaveOccurred(), "failed to delete config map: %s", t.name) gomega.Expect(err).NotTo(gomega.HaveOccurred(), "failed to delete config map: %s", t.name)
} }
func (t *dnsTestCommon) createUtilPodLabel(baseName string) { func (t *dnsTestCommon) createUtilPodLabel(baseName string) {
...@@ -224,9 +224,9 @@ func (t *dnsTestCommon) createUtilPodLabel(baseName string) { ...@@ -224,9 +224,9 @@ func (t *dnsTestCommon) createUtilPodLabel(baseName string) {
var err error var err error
t.utilPod, err = t.c.CoreV1().Pods(t.f.Namespace.Name).Create(t.utilPod) t.utilPod, err = t.c.CoreV1().Pods(t.f.Namespace.Name).Create(t.utilPod)
Expect(err).NotTo(HaveOccurred(), "failed to create pod: %v", t.utilPod) gomega.Expect(err).NotTo(gomega.HaveOccurred(), "failed to create pod: %v", t.utilPod)
e2elog.Logf("Created pod %v", t.utilPod) e2elog.Logf("Created pod %v", t.utilPod)
Expect(t.f.WaitForPodRunning(t.utilPod.Name)).NotTo(HaveOccurred(), "pod failed to start running: %v", t.utilPod) gomega.Expect(t.f.WaitForPodRunning(t.utilPod.Name)).NotTo(gomega.HaveOccurred(), "pod failed to start running: %v", t.utilPod)
t.utilService = &v1.Service{ t.utilService = &v1.Service{
TypeMeta: metav1.TypeMeta{ TypeMeta: metav1.TypeMeta{
...@@ -249,7 +249,7 @@ func (t *dnsTestCommon) createUtilPodLabel(baseName string) { ...@@ -249,7 +249,7 @@ func (t *dnsTestCommon) createUtilPodLabel(baseName string) {
} }
t.utilService, err = t.c.CoreV1().Services(t.f.Namespace.Name).Create(t.utilService) t.utilService, err = t.c.CoreV1().Services(t.f.Namespace.Name).Create(t.utilService)
Expect(err).NotTo(HaveOccurred(), "failed to create service: %s/%s", t.f.Namespace.Name, t.utilService.ObjectMeta.Name) gomega.Expect(err).NotTo(gomega.HaveOccurred(), "failed to create service: %s/%s", t.f.Namespace.Name, t.utilService.ObjectMeta.Name)
e2elog.Logf("Created service %v", t.utilService) e2elog.Logf("Created service %v", t.utilService)
} }
...@@ -272,7 +272,7 @@ func (t *dnsTestCommon) deleteCoreDNSPods() { ...@@ -272,7 +272,7 @@ func (t *dnsTestCommon) deleteCoreDNSPods() {
for _, pod := range pods.Items { for _, pod := range pods.Items {
err = podClient.Delete(pod.Name, metav1.NewDeleteOptions(0)) err = podClient.Delete(pod.Name, metav1.NewDeleteOptions(0))
Expect(err).NotTo(HaveOccurred(), "failed to delete pod: %s", pod.Name) gomega.Expect(err).NotTo(gomega.HaveOccurred(), "failed to delete pod: %s", pod.Name)
} }
} }
...@@ -315,13 +315,13 @@ func (t *dnsTestCommon) createDNSPodFromObj(pod *v1.Pod) { ...@@ -315,13 +315,13 @@ func (t *dnsTestCommon) createDNSPodFromObj(pod *v1.Pod) {
var err error var err error
t.dnsServerPod, err = t.c.CoreV1().Pods(t.f.Namespace.Name).Create(t.dnsServerPod) t.dnsServerPod, err = t.c.CoreV1().Pods(t.f.Namespace.Name).Create(t.dnsServerPod)
Expect(err).NotTo(HaveOccurred(), "failed to create pod: %v", t.dnsServerPod) gomega.Expect(err).NotTo(gomega.HaveOccurred(), "failed to create pod: %v", t.dnsServerPod)
e2elog.Logf("Created pod %v", t.dnsServerPod) e2elog.Logf("Created pod %v", t.dnsServerPod)
Expect(t.f.WaitForPodRunning(t.dnsServerPod.Name)).NotTo(HaveOccurred(), "pod failed to start running: %v", t.dnsServerPod) gomega.Expect(t.f.WaitForPodRunning(t.dnsServerPod.Name)).NotTo(gomega.HaveOccurred(), "pod failed to start running: %v", t.dnsServerPod)
t.dnsServerPod, err = t.c.CoreV1().Pods(t.f.Namespace.Name).Get( t.dnsServerPod, err = t.c.CoreV1().Pods(t.f.Namespace.Name).Get(
t.dnsServerPod.Name, metav1.GetOptions{}) t.dnsServerPod.Name, metav1.GetOptions{})
Expect(err).NotTo(HaveOccurred(), "failed to get pod: %s", t.dnsServerPod.Name) gomega.Expect(err).NotTo(gomega.HaveOccurred(), "failed to get pod: %s", t.dnsServerPod.Name)
} }
func (t *dnsTestCommon) createDNSServer(aRecords map[string]string) { func (t *dnsTestCommon) createDNSServer(aRecords map[string]string) {
...@@ -539,30 +539,30 @@ func assertFilesContain(fileNames []string, fileDir string, pod *v1.Pod, client ...@@ -539,30 +539,30 @@ func assertFilesContain(fileNames []string, fileDir string, pod *v1.Pod, client
e2elog.Logf("Lookups using %s/%s failed for: %v\n", pod.Namespace, pod.Name, failed) e2elog.Logf("Lookups using %s/%s failed for: %v\n", pod.Namespace, pod.Name, failed)
return false, nil return false, nil
})) }))
Expect(len(failed)).To(Equal(0)) gomega.Expect(len(failed)).To(gomega.Equal(0))
} }
func validateDNSResults(f *framework.Framework, pod *v1.Pod, fileNames []string) { func validateDNSResults(f *framework.Framework, pod *v1.Pod, fileNames []string) {
By("submitting the pod to kubernetes") ginkgo.By("submitting the pod to kubernetes")
podClient := f.ClientSet.CoreV1().Pods(f.Namespace.Name) podClient := f.ClientSet.CoreV1().Pods(f.Namespace.Name)
defer func() { defer func() {
By("deleting the pod") ginkgo.By("deleting the pod")
defer GinkgoRecover() defer ginkgo.GinkgoRecover()
podClient.Delete(pod.Name, metav1.NewDeleteOptions(0)) podClient.Delete(pod.Name, metav1.NewDeleteOptions(0))
}() }()
if _, err := podClient.Create(pod); err != nil { if _, err := podClient.Create(pod); err != nil {
framework.Failf("Failed to create pod %s/%s: %v", pod.Namespace, pod.Name, err) framework.Failf("ginkgo.Failed to create pod %s/%s: %v", pod.Namespace, pod.Name, err)
} }
framework.ExpectNoError(f.WaitForPodRunning(pod.Name)) framework.ExpectNoError(f.WaitForPodRunning(pod.Name))
By("retrieving the pod") ginkgo.By("retrieving the pod")
pod, err := podClient.Get(pod.Name, metav1.GetOptions{}) pod, err := podClient.Get(pod.Name, metav1.GetOptions{})
if err != nil { if err != nil {
framework.Failf("Failed to get pod %s/%s: %v", pod.Namespace, pod.Name, err) framework.Failf("ginkgo.Failed to get pod %s/%s: %v", pod.Namespace, pod.Name, err)
} }
// Try to find results for each expected name. // Try to find results for each expected name.
By("looking for the results for each expected name from probers") ginkgo.By("looking for the results for each expected name from probers")
assertFilesExist(fileNames, "results", pod, f.ClientSet) assertFilesExist(fileNames, "results", pod, f.ClientSet)
// TODO: probe from the host, too. // TODO: probe from the host, too.
...@@ -571,26 +571,26 @@ func validateDNSResults(f *framework.Framework, pod *v1.Pod, fileNames []string) ...@@ -571,26 +571,26 @@ func validateDNSResults(f *framework.Framework, pod *v1.Pod, fileNames []string)
} }
func validateTargetedProbeOutput(f *framework.Framework, pod *v1.Pod, fileNames []string, value string) { func validateTargetedProbeOutput(f *framework.Framework, pod *v1.Pod, fileNames []string, value string) {
By("submitting the pod to kubernetes") ginkgo.By("submitting the pod to kubernetes")
podClient := f.ClientSet.CoreV1().Pods(f.Namespace.Name) podClient := f.ClientSet.CoreV1().Pods(f.Namespace.Name)
defer func() { defer func() {
By("deleting the pod") ginkgo.By("deleting the pod")
defer GinkgoRecover() defer ginkgo.GinkgoRecover()
podClient.Delete(pod.Name, metav1.NewDeleteOptions(0)) podClient.Delete(pod.Name, metav1.NewDeleteOptions(0))
}() }()
if _, err := podClient.Create(pod); err != nil { if _, err := podClient.Create(pod); err != nil {
framework.Failf("Failed to create pod %s/%s: %v", pod.Namespace, pod.Name, err) framework.Failf("ginkgo.Failed to create pod %s/%s: %v", pod.Namespace, pod.Name, err)
} }
framework.ExpectNoError(f.WaitForPodRunning(pod.Name)) framework.ExpectNoError(f.WaitForPodRunning(pod.Name))
By("retrieving the pod") ginkgo.By("retrieving the pod")
pod, err := podClient.Get(pod.Name, metav1.GetOptions{}) pod, err := podClient.Get(pod.Name, metav1.GetOptions{})
if err != nil { if err != nil {
framework.Failf("Failed to get pod %s/%s: %v", pod.Namespace, pod.Name, err) framework.Failf("ginkgo.Failed to get pod %s/%s: %v", pod.Namespace, pod.Name, err)
} }
// Try to find the expected value for each expected name. // Try to find the expected value for each expected name.
By("looking for the results for each expected name from probers") ginkgo.By("looking for the results for each expected name from probers")
assertFilesContain(fileNames, "results", pod, f.ClientSet, true, value) assertFilesContain(fileNames, "results", pod, f.ClientSet, true, value)
e2elog.Logf("DNS probes using %s succeeded\n", pod.Name) e2elog.Logf("DNS probes using %s succeeded\n", pod.Name)
......
...@@ -24,7 +24,7 @@ import ( ...@@ -24,7 +24,7 @@ import (
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
. "github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
type dnsFederationsConfigMapTest struct { type dnsFederationsConfigMapTest struct {
...@@ -45,7 +45,7 @@ var _ = SIGDescribe("DNS configMap federations [Feature:Federation]", func() { ...@@ -45,7 +45,7 @@ var _ = SIGDescribe("DNS configMap federations [Feature:Federation]", func() {
t := &dnsFederationsConfigMapTest{dnsTestCommon: newDNSTestCommon()} t := &dnsFederationsConfigMapTest{dnsTestCommon: newDNSTestCommon()}
It("should be able to change federation configuration [Slow][Serial]", func() { ginkgo.It("should be able to change federation configuration [Slow][Serial]", func() {
t.c = t.f.ClientSet t.c = t.f.ClientSet
t.run() t.run()
}) })
...@@ -96,17 +96,17 @@ func (t *dnsFederationsConfigMapTest) run() { ...@@ -96,17 +96,17 @@ func (t *dnsFederationsConfigMapTest) run() {
}`, framework.TestContext.ClusterDNSDomain, framework.TestContext.ClusterDNSDomain)} }`, framework.TestContext.ClusterDNSDomain, framework.TestContext.ClusterDNSDomain)}
valid2m := map[string]string{t.labels[1]: "xyz.com"} valid2m := map[string]string{t.labels[1]: "xyz.com"}
By("default -> valid1") ginkgo.By("default -> valid1")
t.setConfigMap(&v1.ConfigMap{Data: valid1}, valid1m, true) t.setConfigMap(&v1.ConfigMap{Data: valid1}, valid1m, true)
t.deleteCoreDNSPods() t.deleteCoreDNSPods()
t.validate(framework.TestContext.ClusterDNSDomain) t.validate(framework.TestContext.ClusterDNSDomain)
By("valid1 -> valid2") ginkgo.By("valid1 -> valid2")
t.setConfigMap(&v1.ConfigMap{Data: valid2}, valid2m, true) t.setConfigMap(&v1.ConfigMap{Data: valid2}, valid2m, true)
t.deleteCoreDNSPods() t.deleteCoreDNSPods()
t.validate(framework.TestContext.ClusterDNSDomain) t.validate(framework.TestContext.ClusterDNSDomain)
By("valid2 -> default") ginkgo.By("valid2 -> default")
t.setConfigMap(&v1.ConfigMap{Data: originalConfigMapData}, nil, false) t.setConfigMap(&v1.ConfigMap{Data: originalConfigMapData}, nil, false)
t.deleteCoreDNSPods() t.deleteCoreDNSPods()
t.validate(framework.TestContext.ClusterDNSDomain) t.validate(framework.TestContext.ClusterDNSDomain)
...@@ -121,27 +121,27 @@ func (t *dnsFederationsConfigMapTest) run() { ...@@ -121,27 +121,27 @@ func (t *dnsFederationsConfigMapTest) run() {
valid2m := map[string]string{t.labels[1]: "xyz"} valid2m := map[string]string{t.labels[1]: "xyz"}
invalid := map[string]string{"federations": "invalid.map=xyz"} invalid := map[string]string{"federations": "invalid.map=xyz"}
By("empty -> valid1") ginkgo.By("empty -> valid1")
t.setConfigMap(&v1.ConfigMap{Data: valid1}, valid1m, true) t.setConfigMap(&v1.ConfigMap{Data: valid1}, valid1m, true)
t.validate(framework.TestContext.ClusterDNSDomain) t.validate(framework.TestContext.ClusterDNSDomain)
By("valid1 -> valid2") ginkgo.By("valid1 -> valid2")
t.setConfigMap(&v1.ConfigMap{Data: valid2}, valid2m, true) t.setConfigMap(&v1.ConfigMap{Data: valid2}, valid2m, true)
t.validate(framework.TestContext.ClusterDNSDomain) t.validate(framework.TestContext.ClusterDNSDomain)
By("valid2 -> invalid") ginkgo.By("valid2 -> invalid")
t.setConfigMap(&v1.ConfigMap{Data: invalid}, nil, false) t.setConfigMap(&v1.ConfigMap{Data: invalid}, nil, false)
t.validate(framework.TestContext.ClusterDNSDomain) t.validate(framework.TestContext.ClusterDNSDomain)
By("invalid -> valid1") ginkgo.By("invalid -> valid1")
t.setConfigMap(&v1.ConfigMap{Data: valid1}, valid1m, true) t.setConfigMap(&v1.ConfigMap{Data: valid1}, valid1m, true)
t.validate(framework.TestContext.ClusterDNSDomain) t.validate(framework.TestContext.ClusterDNSDomain)
By("valid1 -> deleted") ginkgo.By("valid1 -> deleted")
t.deleteConfigMap() t.deleteConfigMap()
t.validate(framework.TestContext.ClusterDNSDomain) t.validate(framework.TestContext.ClusterDNSDomain)
By("deleted -> invalid") ginkgo.By("deleted -> invalid")
t.setConfigMap(&v1.ConfigMap{Data: invalid}, nil, false) t.setConfigMap(&v1.ConfigMap{Data: invalid}, nil, false)
t.validate(framework.TestContext.ClusterDNSDomain) t.validate(framework.TestContext.ClusterDNSDomain)
} }
...@@ -151,7 +151,7 @@ func (t *dnsFederationsConfigMapTest) validate(dnsDomain string) { ...@@ -151,7 +151,7 @@ func (t *dnsFederationsConfigMapTest) validate(dnsDomain string) {
federations := t.fedMap federations := t.fedMap
if len(federations) == 0 { if len(federations) == 0 {
By(fmt.Sprintf("Validating federation labels %v do not exist", t.labels)) ginkgo.By(fmt.Sprintf("Validating federation labels %v do not exist", t.labels))
for _, label := range t.labels { for _, label := range t.labels {
var federationDNS = fmt.Sprintf("e2e-dns-configmap.%s.%s.svc.%s.", var federationDNS = fmt.Sprintf("e2e-dns-configmap.%s.%s.svc.%s.",
...@@ -173,7 +173,7 @@ func (t *dnsFederationsConfigMapTest) validate(dnsDomain string) { ...@@ -173,7 +173,7 @@ func (t *dnsFederationsConfigMapTest) validate(dnsDomain string) {
// Check local mapping. Checking a remote mapping requires // Check local mapping. Checking a remote mapping requires
// creating an arbitrary DNS record which is not possible at the // creating an arbitrary DNS record which is not possible at the
// moment. // moment.
By(fmt.Sprintf("Validating federation record %v", label)) ginkgo.By(fmt.Sprintf("Validating federation record %v", label))
predicate := func(actual []string) bool { predicate := func(actual []string) bool {
for _, v := range actual { for _, v := range actual {
if v == localDNS { if v == localDNS {
...@@ -407,16 +407,16 @@ func (t *dnsExternalNameTest) run(isIPv6 bool) { ...@@ -407,16 +407,16 @@ func (t *dnsExternalNameTest) run(isIPv6 bool) {
serviceName := "dns-externalname-upstream-test" serviceName := "dns-externalname-upstream-test"
externalNameService := framework.CreateServiceSpec(serviceName, googleDNSHostname, false, nil) externalNameService := framework.CreateServiceSpec(serviceName, googleDNSHostname, false, nil)
if _, err := f.ClientSet.CoreV1().Services(f.Namespace.Name).Create(externalNameService); err != nil { if _, err := f.ClientSet.CoreV1().Services(f.Namespace.Name).Create(externalNameService); err != nil {
Fail(fmt.Sprintf("Failed when creating service: %v", err)) ginkgo.Fail(fmt.Sprintf("ginkgo.Failed when creating service: %v", err))
} }
serviceNameLocal := "dns-externalname-upstream-local" serviceNameLocal := "dns-externalname-upstream-local"
externalNameServiceLocal := framework.CreateServiceSpec(serviceNameLocal, fooHostname, false, nil) externalNameServiceLocal := framework.CreateServiceSpec(serviceNameLocal, fooHostname, false, nil)
if _, err := f.ClientSet.CoreV1().Services(f.Namespace.Name).Create(externalNameServiceLocal); err != nil { if _, err := f.ClientSet.CoreV1().Services(f.Namespace.Name).Create(externalNameServiceLocal); err != nil {
Fail(fmt.Sprintf("Failed when creating service: %v", err)) ginkgo.Fail(fmt.Sprintf("ginkgo.Failed when creating service: %v", err))
} }
defer func() { defer func() {
By("deleting the test externalName service") ginkgo.By("deleting the test externalName service")
defer GinkgoRecover() defer ginkgo.GinkgoRecover()
f.ClientSet.CoreV1().Services(f.Namespace.Name).Delete(externalNameService.Name, nil) f.ClientSet.CoreV1().Services(f.Namespace.Name).Delete(externalNameService.Name, nil)
f.ClientSet.CoreV1().Services(f.Namespace.Name).Delete(externalNameServiceLocal.Name, nil) f.ClientSet.CoreV1().Services(f.Namespace.Name).Delete(externalNameServiceLocal.Name, nil)
}() }()
...@@ -482,28 +482,28 @@ func (t *dnsExternalNameTest) run(isIPv6 bool) { ...@@ -482,28 +482,28 @@ func (t *dnsExternalNameTest) run(isIPv6 bool) {
var _ = SIGDescribe("DNS configMap nameserver [IPv4]", func() { var _ = SIGDescribe("DNS configMap nameserver [IPv4]", func() {
Context("Change stubDomain", func() { ginkgo.Context("Change stubDomain", func() {
nsTest := &dnsNameserverTest{dnsTestCommon: newDNSTestCommon()} nsTest := &dnsNameserverTest{dnsTestCommon: newDNSTestCommon()}
It("should be able to change stubDomain configuration [Slow][Serial]", func() { ginkgo.It("should be able to change stubDomain configuration [Slow][Serial]", func() {
nsTest.c = nsTest.f.ClientSet nsTest.c = nsTest.f.ClientSet
nsTest.run(false) nsTest.run(false)
}) })
}) })
Context("Forward PTR lookup", func() { ginkgo.Context("Forward PTR lookup", func() {
fwdTest := &dnsPtrFwdTest{dnsTestCommon: newDNSTestCommon()} fwdTest := &dnsPtrFwdTest{dnsTestCommon: newDNSTestCommon()}
It("should forward PTR records lookup to upstream nameserver [Slow][Serial]", func() { ginkgo.It("should forward PTR records lookup to upstream nameserver [Slow][Serial]", func() {
fwdTest.c = fwdTest.f.ClientSet fwdTest.c = fwdTest.f.ClientSet
fwdTest.run(false) fwdTest.run(false)
}) })
}) })
Context("Forward external name lookup", func() { ginkgo.Context("Forward external name lookup", func() {
externalNameTest := &dnsExternalNameTest{dnsTestCommon: newDNSTestCommon()} externalNameTest := &dnsExternalNameTest{dnsTestCommon: newDNSTestCommon()}
It("should forward externalname lookup to upstream nameserver [Slow][Serial]", func() { ginkgo.It("should forward externalname lookup to upstream nameserver [Slow][Serial]", func() {
externalNameTest.c = externalNameTest.f.ClientSet externalNameTest.c = externalNameTest.f.ClientSet
externalNameTest.run(false) externalNameTest.run(false)
}) })
...@@ -512,28 +512,28 @@ var _ = SIGDescribe("DNS configMap nameserver [IPv4]", func() { ...@@ -512,28 +512,28 @@ var _ = SIGDescribe("DNS configMap nameserver [IPv4]", func() {
var _ = SIGDescribe("DNS configMap nameserver [Feature:Networking-IPv6]", func() { var _ = SIGDescribe("DNS configMap nameserver [Feature:Networking-IPv6]", func() {
Context("Change stubDomain", func() { ginkgo.Context("Change stubDomain", func() {
nsTest := &dnsNameserverTest{dnsTestCommon: newDNSTestCommon()} nsTest := &dnsNameserverTest{dnsTestCommon: newDNSTestCommon()}
It("should be able to change stubDomain configuration [Slow][Serial]", func() { ginkgo.It("should be able to change stubDomain configuration [Slow][Serial]", func() {
nsTest.c = nsTest.f.ClientSet nsTest.c = nsTest.f.ClientSet
nsTest.run(true) nsTest.run(true)
}) })
}) })
Context("Forward PTR lookup", func() { ginkgo.Context("Forward PTR lookup", func() {
fwdTest := &dnsPtrFwdTest{dnsTestCommon: newDNSTestCommon()} fwdTest := &dnsPtrFwdTest{dnsTestCommon: newDNSTestCommon()}
It("should forward PTR records lookup to upstream nameserver [Slow][Serial]", func() { ginkgo.It("should forward PTR records lookup to upstream nameserver [Slow][Serial]", func() {
fwdTest.c = fwdTest.f.ClientSet fwdTest.c = fwdTest.f.ClientSet
fwdTest.run(true) fwdTest.run(true)
}) })
}) })
Context("Forward external name lookup", func() { ginkgo.Context("Forward external name lookup", func() {
externalNameTest := &dnsExternalNameTest{dnsTestCommon: newDNSTestCommon()} externalNameTest := &dnsExternalNameTest{dnsTestCommon: newDNSTestCommon()}
It("should forward externalname lookup to upstream nameserver [Slow][Serial]", func() { ginkgo.It("should forward externalname lookup to upstream nameserver [Slow][Serial]", func() {
externalNameTest.c = externalNameTest.f.ClientSet externalNameTest.c = externalNameTest.f.ClientSet
externalNameTest.run(true) externalNameTest.run(true)
}) })
......
...@@ -30,7 +30,7 @@ import ( ...@@ -30,7 +30,7 @@ import (
e2elog "k8s.io/kubernetes/test/e2e/framework/log" e2elog "k8s.io/kubernetes/test/e2e/framework/log"
testutils "k8s.io/kubernetes/test/utils" testutils "k8s.io/kubernetes/test/utils"
. "github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
const ( const (
...@@ -43,7 +43,7 @@ const ( ...@@ -43,7 +43,7 @@ const (
var _ = SIGDescribe("[Feature:PerformanceDNS][Serial]", func() { var _ = SIGDescribe("[Feature:PerformanceDNS][Serial]", func() {
f := framework.NewDefaultFramework("performancedns") f := framework.NewDefaultFramework("performancedns")
BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.ExpectNoError(framework.WaitForAllNodesSchedulable(f.ClientSet, framework.TestContext.NodeSchedulableTimeout)) framework.ExpectNoError(framework.WaitForAllNodesSchedulable(f.ClientSet, framework.TestContext.NodeSchedulableTimeout))
framework.WaitForAllNodesHealthy(f.ClientSet, time.Minute) framework.WaitForAllNodesHealthy(f.ClientSet, time.Minute)
...@@ -52,7 +52,7 @@ var _ = SIGDescribe("[Feature:PerformanceDNS][Serial]", func() { ...@@ -52,7 +52,7 @@ var _ = SIGDescribe("[Feature:PerformanceDNS][Serial]", func() {
}) })
// answers dns for service - creates the maximum number of services, and then check dns record for one // answers dns for service - creates the maximum number of services, and then check dns record for one
It("Should answer DNS query for maximum number of services per cluster", func() { ginkgo.It("Should answer DNS query for maximum number of services per cluster", func() {
// get integer ceiling of maxServicesPerCluster / maxServicesPerNamespace // get integer ceiling of maxServicesPerCluster / maxServicesPerNamespace
numNs := (maxServicesPerCluster + maxServicesPerNamespace - 1) / maxServicesPerNamespace numNs := (maxServicesPerCluster + maxServicesPerNamespace - 1) / maxServicesPerNamespace
...@@ -64,7 +64,7 @@ var _ = SIGDescribe("[Feature:PerformanceDNS][Serial]", func() { ...@@ -64,7 +64,7 @@ var _ = SIGDescribe("[Feature:PerformanceDNS][Serial]", func() {
services := generateServicesInNamespaces(namespaces, maxServicesPerCluster) services := generateServicesInNamespaces(namespaces, maxServicesPerCluster)
createService := func(i int) { createService := func(i int) {
defer GinkgoRecover() defer ginkgo.GinkgoRecover()
framework.ExpectNoError(testutils.CreateServiceWithRetries(f.ClientSet, services[i].Namespace, services[i])) framework.ExpectNoError(testutils.CreateServiceWithRetries(f.ClientSet, services[i].Namespace, services[i]))
} }
e2elog.Logf("Creating %v test services", maxServicesPerCluster) e2elog.Logf("Creating %v test services", maxServicesPerCluster)
......
...@@ -32,8 +32,8 @@ import ( ...@@ -32,8 +32,8 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2elog "k8s.io/kubernetes/test/e2e/framework/log" e2elog "k8s.io/kubernetes/test/e2e/framework/log"
. "github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
. "github.com/onsi/gomega" "github.com/onsi/gomega"
) )
const ( const (
...@@ -52,11 +52,11 @@ var _ = SIGDescribe("ClusterDns [Feature:Example]", func() { ...@@ -52,11 +52,11 @@ var _ = SIGDescribe("ClusterDns [Feature:Example]", func() {
f := framework.NewDefaultFramework("cluster-dns") f := framework.NewDefaultFramework("cluster-dns")
var c clientset.Interface var c clientset.Interface
BeforeEach(func() { ginkgo.BeforeEach(func() {
c = f.ClientSet c = f.ClientSet
}) })
It("should create pod that uses dns", func() { ginkgo.It("should create pod that uses dns", func() {
mkpath := func(file string) string { mkpath := func(file string) string {
return filepath.Join(os.Getenv("GOPATH"), "src/k8s.io/examples/staging/cluster-dns", file) return filepath.Join(os.Getenv("GOPATH"), "src/k8s.io/examples/staging/cluster-dns", file)
} }
...@@ -84,7 +84,7 @@ var _ = SIGDescribe("ClusterDns [Feature:Example]", func() { ...@@ -84,7 +84,7 @@ var _ = SIGDescribe("ClusterDns [Feature:Example]", func() {
var err error var err error
namespaceName := fmt.Sprintf("dnsexample%d", i) namespaceName := fmt.Sprintf("dnsexample%d", i)
namespaces[i], err = f.CreateNamespace(namespaceName, nil) namespaces[i], err = f.CreateNamespace(namespaceName, nil)
Expect(err).NotTo(HaveOccurred(), "failed to create namespace: %s", namespaceName) gomega.Expect(err).NotTo(gomega.HaveOccurred(), "failed to create namespace: %s", namespaceName)
} }
for _, ns := range namespaces { for _, ns := range namespaces {
...@@ -106,13 +106,13 @@ var _ = SIGDescribe("ClusterDns [Feature:Example]", func() { ...@@ -106,13 +106,13 @@ var _ = SIGDescribe("ClusterDns [Feature:Example]", func() {
label := labels.SelectorFromSet(labels.Set(map[string]string{"name": backendRcName})) label := labels.SelectorFromSet(labels.Set(map[string]string{"name": backendRcName}))
options := metav1.ListOptions{LabelSelector: label.String()} options := metav1.ListOptions{LabelSelector: label.String()}
pods, err := c.CoreV1().Pods(ns.Name).List(options) pods, err := c.CoreV1().Pods(ns.Name).List(options)
Expect(err).NotTo(HaveOccurred(), "failed to list pods in namespace: %s", ns.Name) gomega.Expect(err).NotTo(gomega.HaveOccurred(), "failed to list pods in namespace: %s", ns.Name)
err = framework.PodsResponding(c, ns.Name, backendPodName, false, pods) err = framework.PodsResponding(c, ns.Name, backendPodName, false, pods)
Expect(err).NotTo(HaveOccurred(), "waiting for all pods to respond") gomega.Expect(err).NotTo(gomega.HaveOccurred(), "waiting for all pods to respond")
e2elog.Logf("found %d backend pods responding in namespace %s", len(pods.Items), ns.Name) e2elog.Logf("found %d backend pods responding in namespace %s", len(pods.Items), ns.Name)
err = framework.ServiceResponding(c, ns.Name, backendSvcName) err = framework.ServiceResponding(c, ns.Name, backendSvcName)
Expect(err).NotTo(HaveOccurred(), "waiting for the service to respond") gomega.Expect(err).NotTo(gomega.HaveOccurred(), "waiting for the service to respond")
} }
// Now another tricky part: // Now another tricky part:
...@@ -134,7 +134,7 @@ var _ = SIGDescribe("ClusterDns [Feature:Example]", func() { ...@@ -134,7 +134,7 @@ var _ = SIGDescribe("ClusterDns [Feature:Example]", func() {
queryDNS := fmt.Sprintf(queryDNSPythonTemplate, backendSvcName+"."+namespaces[0].Name) queryDNS := fmt.Sprintf(queryDNSPythonTemplate, backendSvcName+"."+namespaces[0].Name)
_, err = framework.LookForStringInPodExec(namespaces[0].Name, podName, []string{"python", "-c", queryDNS}, "ok", dnsReadyTimeout) _, err = framework.LookForStringInPodExec(namespaces[0].Name, podName, []string{"python", "-c", queryDNS}, "ok", dnsReadyTimeout)
Expect(err).NotTo(HaveOccurred(), "waiting for output from pod exec") gomega.Expect(err).NotTo(gomega.HaveOccurred(), "waiting for output from pod exec")
updatedPodYaml := prepareResourceWithReplacedString(frontendPodYaml, fmt.Sprintf("dns-backend.development.svc.%s", framework.TestContext.ClusterDNSDomain), fmt.Sprintf("dns-backend.%s.svc.%s", namespaces[0].Name, framework.TestContext.ClusterDNSDomain)) updatedPodYaml := prepareResourceWithReplacedString(frontendPodYaml, fmt.Sprintf("dns-backend.development.svc.%s", framework.TestContext.ClusterDNSDomain), fmt.Sprintf("dns-backend.%s.svc.%s", namespaces[0].Name, framework.TestContext.ClusterDNSDomain))
...@@ -153,7 +153,7 @@ var _ = SIGDescribe("ClusterDns [Feature:Example]", func() { ...@@ -153,7 +153,7 @@ var _ = SIGDescribe("ClusterDns [Feature:Example]", func() {
// wait for pods to print their result // wait for pods to print their result
for _, ns := range namespaces { for _, ns := range namespaces {
_, err := framework.LookForStringInLog(ns.Name, frontendPodName, frontendPodContainerName, podOutput, framework.PodStartTimeout) _, err := framework.LookForStringInLog(ns.Name, frontendPodName, frontendPodContainerName, podOutput, framework.PodStartTimeout)
Expect(err).NotTo(HaveOccurred(), "pod %s failed to print result in logs", frontendPodName) gomega.Expect(err).NotTo(gomega.HaveOccurred(), "pod %s failed to print result in logs", frontendPodName)
} }
}) })
}) })
...@@ -165,10 +165,10 @@ func getNsCmdFlag(ns *v1.Namespace) string { ...@@ -165,10 +165,10 @@ func getNsCmdFlag(ns *v1.Namespace) string {
// pass enough context with the 'old' parameter so that it replaces what your really intended. // pass enough context with the 'old' parameter so that it replaces what your really intended.
func prepareResourceWithReplacedString(inputFile, old, new string) string { func prepareResourceWithReplacedString(inputFile, old, new string) string {
f, err := os.Open(inputFile) f, err := os.Open(inputFile)
Expect(err).NotTo(HaveOccurred(), "failed to open file: %s", inputFile) gomega.Expect(err).NotTo(gomega.HaveOccurred(), "failed to open file: %s", inputFile)
defer f.Close() defer f.Close()
data, err := ioutil.ReadAll(f) data, err := ioutil.ReadAll(f)
Expect(err).NotTo(HaveOccurred(), "failed to read from file: %s", inputFile) gomega.Expect(err).NotTo(gomega.HaveOccurred(), "failed to read from file: %s", inputFile)
podYaml := strings.Replace(string(data), old, new, 1) podYaml := strings.Replace(string(data), old, new, 1)
return podYaml return podYaml
} }
...@@ -18,6 +18,7 @@ package network ...@@ -18,6 +18,7 @@ package network
import "github.com/onsi/ginkgo" import "github.com/onsi/ginkgo"
// SIGDescribe annotates the test with the SIG label.
func SIGDescribe(text string, body func()) bool { func SIGDescribe(text string, body func()) bool {
return ginkgo.Describe("[sig-network] "+text, body) return ginkgo.Describe("[sig-network] "+text, body)
} }
...@@ -20,26 +20,26 @@ import ( ...@@ -20,26 +20,26 @@ import (
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/e2e/network/scale" "k8s.io/kubernetes/test/e2e/network/scale"
. "github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
var _ = SIGDescribe("Loadbalancing: L7 Scalability", func() { var _ = SIGDescribe("Loadbalancing: L7 Scalability", func() {
defer GinkgoRecover() defer ginkgo.GinkgoRecover()
var ( var (
ns string ns string
) )
f := framework.NewDefaultFramework("ingress-scale") f := framework.NewDefaultFramework("ingress-scale")
BeforeEach(func() { ginkgo.BeforeEach(func() {
ns = f.Namespace.Name ns = f.Namespace.Name
}) })
Describe("GCE [Slow] [Serial] [Feature:IngressScale]", func() { ginkgo.Describe("GCE [Slow] [Serial] [Feature:IngressScale]", func() {
var ( var (
scaleFramework *scale.IngressScaleFramework scaleFramework *scale.IngressScaleFramework
) )
BeforeEach(func() { ginkgo.BeforeEach(func() {
framework.SkipUnlessProviderIs("gce", "gke") framework.SkipUnlessProviderIs("gce", "gke")
scaleFramework = scale.NewIngressScaleFramework(f.ClientSet, ns, framework.TestContext.CloudConfig) scaleFramework = scale.NewIngressScaleFramework(f.ClientSet, ns, framework.TestContext.CloudConfig)
...@@ -48,13 +48,13 @@ var _ = SIGDescribe("Loadbalancing: L7 Scalability", func() { ...@@ -48,13 +48,13 @@ var _ = SIGDescribe("Loadbalancing: L7 Scalability", func() {
} }
}) })
AfterEach(func() { ginkgo.AfterEach(func() {
if errs := scaleFramework.CleanupScaleTest(); len(errs) != 0 { if errs := scaleFramework.CleanupScaleTest(); len(errs) != 0 {
framework.Failf("Unexpected error while cleaning up ingress scale test: %v", errs) framework.Failf("Unexpected error while cleaning up ingress scale test: %v", errs)
} }
}) })
It("Creating and updating ingresses should happen promptly with small/medium/large amount of ingresses", func() { ginkgo.It("Creating and updating ingresses should happen promptly with small/medium/large amount of ingresses", func() {
if errs := scaleFramework.RunScaleTest(); len(errs) != 0 { if errs := scaleFramework.RunScaleTest(); len(errs) != 0 {
framework.Failf("Unexpected error while running ingress scale test: %v", errs) framework.Failf("Unexpected error while running ingress scale test: %v", errs)
} }
......
...@@ -33,8 +33,8 @@ import ( ...@@ -33,8 +33,8 @@ import (
"k8s.io/kubernetes/test/images/net/nat" "k8s.io/kubernetes/test/images/net/nat"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
. "github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
. "github.com/onsi/gomega" "github.com/onsi/gomega"
) )
var kubeProxyE2eImage = imageutils.GetE2EImage(imageutils.Net) var kubeProxyE2eImage = imageutils.GetE2EImage(imageutils.Net)
...@@ -49,7 +49,7 @@ var _ = SIGDescribe("Network", func() { ...@@ -49,7 +49,7 @@ var _ = SIGDescribe("Network", func() {
fr := framework.NewDefaultFramework("network") fr := framework.NewDefaultFramework("network")
It("should set TCP CLOSE_WAIT timeout", func() { ginkgo.It("should set TCP CLOSE_WAIT timeout", func() {
nodes := framework.GetReadySchedulableNodesOrDie(fr.ClientSet) nodes := framework.GetReadySchedulableNodesOrDie(fr.ClientSet)
ips := framework.CollectAddresses(nodes, v1.NodeInternalIP) ips := framework.CollectAddresses(nodes, v1.NodeInternalIP)
...@@ -145,21 +145,21 @@ var _ = SIGDescribe("Network", func() { ...@@ -145,21 +145,21 @@ var _ = SIGDescribe("Network", func() {
}, },
} }
By(fmt.Sprintf( ginkgo.By(fmt.Sprintf(
"Launching a server daemon on node %v (node ip: %v, image: %v)", "Launching a server daemon on node %v (node ip: %v, image: %v)",
serverNodeInfo.name, serverNodeInfo.name,
serverNodeInfo.nodeIP, serverNodeInfo.nodeIP,
kubeProxyE2eImage)) kubeProxyE2eImage))
fr.PodClient().CreateSync(serverPodSpec) fr.PodClient().CreateSync(serverPodSpec)
By(fmt.Sprintf( ginkgo.By(fmt.Sprintf(
"Launching a client daemon on node %v (node ip: %v, image: %v)", "Launching a client daemon on node %v (node ip: %v, image: %v)",
clientNodeInfo.name, clientNodeInfo.name,
clientNodeInfo.nodeIP, clientNodeInfo.nodeIP,
kubeProxyE2eImage)) kubeProxyE2eImage))
fr.PodClient().CreateSync(clientPodSpec) fr.PodClient().CreateSync(clientPodSpec)
By("Make client connect") ginkgo.By("Make client connect")
options := nat.CloseWaitClientOptions{ options := nat.CloseWaitClientOptions{
RemoteAddr: fmt.Sprintf("%v:%v", RemoteAddr: fmt.Sprintf("%v:%v",
...@@ -179,7 +179,7 @@ var _ = SIGDescribe("Network", func() { ...@@ -179,7 +179,7 @@ var _ = SIGDescribe("Network", func() {
<-time.After(time.Duration(1) * time.Second) <-time.After(time.Duration(1) * time.Second)
By("Checking /proc/net/nf_conntrack for the timeout") ginkgo.By("Checking /proc/net/nf_conntrack for the timeout")
// If test flakes occur here, then this check should be performed // If test flakes occur here, then this check should be performed
// in a loop as there may be a race with the client connecting. // in a loop as there may be a race with the client connecting.
e2essh.IssueSSHCommandWithResult( e2essh.IssueSSHCommandWithResult(
...@@ -214,8 +214,8 @@ var _ = SIGDescribe("Network", func() { ...@@ -214,8 +214,8 @@ var _ = SIGDescribe("Network", func() {
e2elog.Logf("conntrack entry timeout was: %v, expected: %v", e2elog.Logf("conntrack entry timeout was: %v, expected: %v",
timeoutSeconds, expectedTimeoutSeconds) timeoutSeconds, expectedTimeoutSeconds)
Expect(math.Abs(float64(timeoutSeconds - expectedTimeoutSeconds))).Should( gomega.Expect(math.Abs(float64(timeoutSeconds - expectedTimeoutSeconds))).Should(
BeNumerically("<", (epsilonSeconds))) gomega.BeNumerically("<", (epsilonSeconds)))
}) })
// Regression test for #74839, where: // Regression test for #74839, where:
...@@ -223,7 +223,7 @@ var _ = SIGDescribe("Network", func() { ...@@ -223,7 +223,7 @@ var _ = SIGDescribe("Network", func() {
// a problem where spurious retransmits in a long-running TCP connection to a service // a problem where spurious retransmits in a long-running TCP connection to a service
// IP could result in the connection being closed with the error "Connection reset by // IP could result in the connection being closed with the error "Connection reset by
// peer" // peer"
It("should resolve connrection reset issue #74839 [Slow]", func() { ginkgo.It("should resolve connrection reset issue #74839 [Slow]", func() {
serverLabel := map[string]string{ serverLabel := map[string]string{
"app": "boom-server", "app": "boom-server",
} }
...@@ -265,7 +265,7 @@ var _ = SIGDescribe("Network", func() { ...@@ -265,7 +265,7 @@ var _ = SIGDescribe("Network", func() {
_, err := fr.ClientSet.CoreV1().Pods(fr.Namespace.Name).Create(serverPod) _, err := fr.ClientSet.CoreV1().Pods(fr.Namespace.Name).Create(serverPod)
framework.ExpectNoError(err) framework.ExpectNoError(err)
By("Server pod created") ginkgo.By("Server pod created")
svc := &v1.Service{ svc := &v1.Service{
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
...@@ -284,7 +284,7 @@ var _ = SIGDescribe("Network", func() { ...@@ -284,7 +284,7 @@ var _ = SIGDescribe("Network", func() {
_, err = fr.ClientSet.CoreV1().Services(fr.Namespace.Name).Create(svc) _, err = fr.ClientSet.CoreV1().Services(fr.Namespace.Name).Create(svc)
framework.ExpectNoError(err) framework.ExpectNoError(err)
By("Server service created") ginkgo.By("Server service created")
pod := &v1.Pod{ pod := &v1.Pod{
ObjectMeta: metav1.ObjectMeta{ ObjectMeta: metav1.ObjectMeta{
...@@ -319,13 +319,13 @@ var _ = SIGDescribe("Network", func() { ...@@ -319,13 +319,13 @@ var _ = SIGDescribe("Network", func() {
_, err = fr.ClientSet.CoreV1().Pods(fr.Namespace.Name).Create(pod) _, err = fr.ClientSet.CoreV1().Pods(fr.Namespace.Name).Create(pod)
framework.ExpectNoError(err) framework.ExpectNoError(err)
By("Client pod created") ginkgo.By("Client pod created")
for i := 0; i < 20; i++ { for i := 0; i < 20; i++ {
time.Sleep(3 * time.Second) time.Sleep(3 * time.Second)
resultPod, err := fr.ClientSet.CoreV1().Pods(fr.Namespace.Name).Get(serverPod.Name, metav1.GetOptions{}) resultPod, err := fr.ClientSet.CoreV1().Pods(fr.Namespace.Name).Get(serverPod.Name, metav1.GetOptions{})
framework.ExpectNoError(err) framework.ExpectNoError(err)
Expect(resultPod.Status.ContainerStatuses[0].LastTerminationState.Terminated).Should(BeNil()) gomega.Expect(resultPod.Status.ContainerStatuses[0].LastTerminationState.Terminated).Should(gomega.BeNil())
} }
}) })
}) })
...@@ -33,8 +33,8 @@ import ( ...@@ -33,8 +33,8 @@ import (
"k8s.io/kubernetes/test/e2e/framework/providers/gce" "k8s.io/kubernetes/test/e2e/framework/providers/gce"
gcecloud "k8s.io/legacy-cloud-providers/gce" gcecloud "k8s.io/legacy-cloud-providers/gce"
. "github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
. "github.com/onsi/gomega" "github.com/onsi/gomega"
) )
var _ = SIGDescribe("Services [Feature:GCEAlphaFeature][Slow]", func() { var _ = SIGDescribe("Services [Feature:GCEAlphaFeature][Slow]", func() {
...@@ -43,14 +43,14 @@ var _ = SIGDescribe("Services [Feature:GCEAlphaFeature][Slow]", func() { ...@@ -43,14 +43,14 @@ var _ = SIGDescribe("Services [Feature:GCEAlphaFeature][Slow]", func() {
var cs clientset.Interface var cs clientset.Interface
serviceLBNames := []string{} serviceLBNames := []string{}
BeforeEach(func() { ginkgo.BeforeEach(func() {
// This test suite requires the GCE environment. // This test suite requires the GCE environment.
framework.SkipUnlessProviderIs("gce") framework.SkipUnlessProviderIs("gce")
cs = f.ClientSet cs = f.ClientSet
}) })
AfterEach(func() { ginkgo.AfterEach(func() {
if CurrentGinkgoTestDescription().Failed { if ginkgo.CurrentGinkgoTestDescription().Failed {
framework.DescribeSvc(f.Namespace.Name) framework.DescribeSvc(f.Namespace.Name)
} }
for _, lb := range serviceLBNames { for _, lb := range serviceLBNames {
...@@ -60,7 +60,7 @@ var _ = SIGDescribe("Services [Feature:GCEAlphaFeature][Slow]", func() { ...@@ -60,7 +60,7 @@ var _ = SIGDescribe("Services [Feature:GCEAlphaFeature][Slow]", func() {
//reset serviceLBNames //reset serviceLBNames
serviceLBNames = []string{} serviceLBNames = []string{}
}) })
It("should be able to create and tear down a standard-tier load balancer [Slow]", func() { ginkgo.It("should be able to create and tear down a standard-tier load balancer [Slow]", func() {
lagTimeout := framework.LoadBalancerLagTimeoutDefault lagTimeout := framework.LoadBalancerLagTimeoutDefault
createTimeout := framework.GetServiceLoadBalancerCreationTimeout(cs) createTimeout := framework.GetServiceLoadBalancerCreationTimeout(cs)
...@@ -68,19 +68,19 @@ var _ = SIGDescribe("Services [Feature:GCEAlphaFeature][Slow]", func() { ...@@ -68,19 +68,19 @@ var _ = SIGDescribe("Services [Feature:GCEAlphaFeature][Slow]", func() {
ns := f.Namespace.Name ns := f.Namespace.Name
jig := framework.NewServiceTestJig(cs, svcName) jig := framework.NewServiceTestJig(cs, svcName)
By("creating a pod to be part of the service " + svcName) ginkgo.By("creating a pod to be part of the service " + svcName)
jig.RunOrFail(ns, nil) jig.RunOrFail(ns, nil)
// Test 1: create a standard tiered LB for the Service. // Test 1: create a standard tiered LB for the Service.
By("creating a Service of type LoadBalancer using the standard network tier") ginkgo.By("creating a Service of type LoadBalancer using the standard network tier")
svc := jig.CreateTCPServiceOrFail(ns, func(svc *v1.Service) { svc := jig.CreateTCPServiceOrFail(ns, func(svc *v1.Service) {
svc.Spec.Type = v1.ServiceTypeLoadBalancer svc.Spec.Type = v1.ServiceTypeLoadBalancer
setNetworkTier(svc, string(gcecloud.NetworkTierAnnotationStandard)) setNetworkTier(svc, string(gcecloud.NetworkTierAnnotationStandard))
}) })
// Verify that service has been updated properly. // Verify that service has been updated properly.
svcTier, err := gcecloud.GetServiceNetworkTier(svc) svcTier, err := gcecloud.GetServiceNetworkTier(svc)
Expect(err).NotTo(HaveOccurred()) gomega.Expect(err).NotTo(gomega.HaveOccurred())
Expect(svcTier).To(Equal(cloud.NetworkTierStandard)) gomega.Expect(svcTier).To(gomega.Equal(cloud.NetworkTierStandard))
// Record the LB name for test cleanup. // Record the LB name for test cleanup.
serviceLBNames = append(serviceLBNames, cloudprovider.DefaultLoadBalancerName(svc)) serviceLBNames = append(serviceLBNames, cloudprovider.DefaultLoadBalancerName(svc))
...@@ -88,26 +88,26 @@ var _ = SIGDescribe("Services [Feature:GCEAlphaFeature][Slow]", func() { ...@@ -88,26 +88,26 @@ var _ = SIGDescribe("Services [Feature:GCEAlphaFeature][Slow]", func() {
ingressIP := waitAndVerifyLBWithTier(jig, ns, svcName, "", createTimeout, lagTimeout) ingressIP := waitAndVerifyLBWithTier(jig, ns, svcName, "", createTimeout, lagTimeout)
// Test 2: re-create a LB of a different tier for the updated Service. // Test 2: re-create a LB of a different tier for the updated Service.
By("updating the Service to use the premium (default) tier") ginkgo.By("updating the Service to use the premium (default) tier")
svc = jig.UpdateServiceOrFail(ns, svcName, func(svc *v1.Service) { svc = jig.UpdateServiceOrFail(ns, svcName, func(svc *v1.Service) {
clearNetworkTier(svc) clearNetworkTier(svc)
}) })
// Verify that service has been updated properly. // Verify that service has been updated properly.
svcTier, err = gcecloud.GetServiceNetworkTier(svc) svcTier, err = gcecloud.GetServiceNetworkTier(svc)
Expect(err).NotTo(HaveOccurred()) gomega.Expect(err).NotTo(gomega.HaveOccurred())
Expect(svcTier).To(Equal(cloud.NetworkTierDefault)) gomega.Expect(svcTier).To(gomega.Equal(cloud.NetworkTierDefault))
// Wait until the ingress IP changes. Each tier has its own pool of // Wait until the ingress IP changes. Each tier has its own pool of
// IPs, so changing tiers implies changing IPs. // IPs, so changing tiers implies changing IPs.
ingressIP = waitAndVerifyLBWithTier(jig, ns, svcName, ingressIP, createTimeout, lagTimeout) ingressIP = waitAndVerifyLBWithTier(jig, ns, svcName, ingressIP, createTimeout, lagTimeout)
// Test 3: create a standard-tierd LB with a user-requested IP. // Test 3: create a standard-tierd LB with a user-requested IP.
By("reserving a static IP for the load balancer") ginkgo.By("reserving a static IP for the load balancer")
requestedAddrName := fmt.Sprintf("e2e-ext-lb-net-tier-%s", framework.RunID) requestedAddrName := fmt.Sprintf("e2e-ext-lb-net-tier-%s", framework.RunID)
gceCloud, err := gce.GetGCECloud() gceCloud, err := gce.GetGCECloud()
Expect(err).NotTo(HaveOccurred()) gomega.Expect(err).NotTo(gomega.HaveOccurred())
requestedIP, err := reserveAlphaRegionalAddress(gceCloud, requestedAddrName, cloud.NetworkTierStandard) requestedIP, err := reserveAlphaRegionalAddress(gceCloud, requestedAddrName, cloud.NetworkTierStandard)
Expect(err).NotTo(HaveOccurred(), "failed to reserve a STANDARD tiered address") gomega.Expect(err).NotTo(gomega.HaveOccurred(), "failed to reserve a STANDARD tiered address")
defer func() { defer func() {
if requestedAddrName != "" { if requestedAddrName != "" {
// Release GCE static address - this is not kube-managed and will not be automatically released. // Release GCE static address - this is not kube-managed and will not be automatically released.
...@@ -116,19 +116,19 @@ var _ = SIGDescribe("Services [Feature:GCEAlphaFeature][Slow]", func() { ...@@ -116,19 +116,19 @@ var _ = SIGDescribe("Services [Feature:GCEAlphaFeature][Slow]", func() {
} }
} }
}() }()
Expect(err).NotTo(HaveOccurred()) gomega.Expect(err).NotTo(gomega.HaveOccurred())
e2elog.Logf("Allocated static IP to be used by the load balancer: %q", requestedIP) e2elog.Logf("Allocated static IP to be used by the load balancer: %q", requestedIP)
By("updating the Service to use the standard tier with a requested IP") ginkgo.By("updating the Service to use the standard tier with a requested IP")
svc = jig.UpdateServiceOrFail(ns, svc.Name, func(svc *v1.Service) { svc = jig.UpdateServiceOrFail(ns, svc.Name, func(svc *v1.Service) {
svc.Spec.LoadBalancerIP = requestedIP svc.Spec.LoadBalancerIP = requestedIP
setNetworkTier(svc, string(gcecloud.NetworkTierAnnotationStandard)) setNetworkTier(svc, string(gcecloud.NetworkTierAnnotationStandard))
}) })
// Verify that service has been updated properly. // Verify that service has been updated properly.
Expect(svc.Spec.LoadBalancerIP).To(Equal(requestedIP)) gomega.Expect(svc.Spec.LoadBalancerIP).To(gomega.Equal(requestedIP))
svcTier, err = gcecloud.GetServiceNetworkTier(svc) svcTier, err = gcecloud.GetServiceNetworkTier(svc)
Expect(err).NotTo(HaveOccurred()) gomega.Expect(err).NotTo(gomega.HaveOccurred())
Expect(svcTier).To(Equal(cloud.NetworkTierStandard)) gomega.Expect(svcTier).To(gomega.Equal(cloud.NetworkTierStandard))
// Wait until the ingress IP changes and verifies the LB. // Wait until the ingress IP changes and verifies the LB.
ingressIP = waitAndVerifyLBWithTier(jig, ns, svcName, ingressIP, createTimeout, lagTimeout) ingressIP = waitAndVerifyLBWithTier(jig, ns, svcName, ingressIP, createTimeout, lagTimeout)
...@@ -150,10 +150,10 @@ func waitAndVerifyLBWithTier(jig *framework.ServiceTestJig, ns, svcName, existin ...@@ -150,10 +150,10 @@ func waitAndVerifyLBWithTier(jig *framework.ServiceTestJig, ns, svcName, existin
lbIngress := &svc.Status.LoadBalancer.Ingress[0] lbIngress := &svc.Status.LoadBalancer.Ingress[0]
ingressIP := framework.GetIngressPoint(lbIngress) ingressIP := framework.GetIngressPoint(lbIngress)
By("running sanity and reachability checks") ginkgo.By("running sanity and reachability checks")
if svc.Spec.LoadBalancerIP != "" { if svc.Spec.LoadBalancerIP != "" {
// Verify that the new ingress IP is the requested IP if it's set. // Verify that the new ingress IP is the requested IP if it's set.
Expect(ingressIP).To(Equal(svc.Spec.LoadBalancerIP)) gomega.Expect(ingressIP).To(gomega.Equal(svc.Spec.LoadBalancerIP))
} }
jig.SanityCheckService(svc, v1.ServiceTypeLoadBalancer) jig.SanityCheckService(svc, v1.ServiceTypeLoadBalancer)
// If the IP has been used by previous test, sometimes we get the lingering // If the IP has been used by previous test, sometimes we get the lingering
...@@ -163,10 +163,10 @@ func waitAndVerifyLBWithTier(jig *framework.ServiceTestJig, ns, svcName, existin ...@@ -163,10 +163,10 @@ func waitAndVerifyLBWithTier(jig *framework.ServiceTestJig, ns, svcName, existin
// Verify the network tier matches the desired. // Verify the network tier matches the desired.
svcNetTier, err := gcecloud.GetServiceNetworkTier(svc) svcNetTier, err := gcecloud.GetServiceNetworkTier(svc)
Expect(err).NotTo(HaveOccurred()) gomega.Expect(err).NotTo(gomega.HaveOccurred())
netTier, err := getLBNetworkTierByIP(ingressIP) netTier, err := getLBNetworkTierByIP(ingressIP)
Expect(err).NotTo(HaveOccurred(), "failed to get the network tier of the load balancer") gomega.Expect(err).NotTo(gomega.HaveOccurred(), "failed to get the network tier of the load balancer")
Expect(netTier).To(Equal(svcNetTier)) gomega.Expect(netTier).To(gomega.Equal(svcNetTier))
return ingressIP return ingressIP
} }
......
...@@ -22,8 +22,8 @@ import ( ...@@ -22,8 +22,8 @@ import (
"math" "math"
"time" "time"
. "github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
. "github.com/onsi/gomega" "github.com/onsi/gomega"
v1 "k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
e2elog "k8s.io/kubernetes/test/e2e/framework/log" e2elog "k8s.io/kubernetes/test/e2e/framework/log"
...@@ -54,12 +54,12 @@ func networkingIPerfTest(isIPv6 bool) { ...@@ -54,12 +54,12 @@ func networkingIPerfTest(isIPv6 bool) {
familyStr = "-V " familyStr = "-V "
} }
It(fmt.Sprintf("should transfer ~ 1GB onto the service endpoint %v servers (maximum of %v clients)", numServer, numClient), func() { ginkgo.It(fmt.Sprintf("should transfer ~ 1GB onto the service endpoint %v servers (maximum of %v clients)", numServer, numClient), func() {
nodes := framework.GetReadySchedulableNodesOrDie(f.ClientSet) nodes := framework.GetReadySchedulableNodesOrDie(f.ClientSet)
totalPods := len(nodes.Items) totalPods := len(nodes.Items)
// for a single service, we expect to divide bandwidth between the network. Very crude estimate. // for a single service, we expect to divide bandwidth between the network. Very crude estimate.
expectedBandwidth := int(float64(maxBandwidthBits) / float64(totalPods)) expectedBandwidth := int(float64(maxBandwidthBits) / float64(totalPods))
Expect(totalPods).NotTo(Equal(0)) gomega.Expect(totalPods).NotTo(gomega.Equal(0))
appName := "iperf-e2e" appName := "iperf-e2e"
_, err := f.CreateServiceForSimpleAppWithPods( _, err := f.CreateServiceForSimpleAppWithPods(
8001, 8001,
......
...@@ -29,8 +29,8 @@ import ( ...@@ -29,8 +29,8 @@ import (
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
. "github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
// . "github.com/onsi/gomega"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
) )
...@@ -94,11 +94,11 @@ var ( ...@@ -94,11 +94,11 @@ var (
// Produces a pod spec that passes nip as NODE_IP env var using downward API // Produces a pod spec that passes nip as NODE_IP env var using downward API
func newTestPod(nodename string, nip string) *v1.Pod { func newTestPod(nodename string, nip string) *v1.Pod {
pod := testPod pod := testPod
node_ip := v1.EnvVar{ nodeIP := v1.EnvVar{
Name: "NODE_IP", Name: "NODE_IP",
Value: nip, Value: nip,
} }
pod.Spec.Containers[0].Env = append(pod.Spec.Containers[0].Env, node_ip) pod.Spec.Containers[0].Env = append(pod.Spec.Containers[0].Env, nodeIP)
pod.Spec.NodeName = nodename pod.Spec.NodeName = nodename
return &pod return &pod
} }
...@@ -135,12 +135,12 @@ func checknosnatURL(proxy, pip string, ips []string) string { ...@@ -135,12 +135,12 @@ func checknosnatURL(proxy, pip string, ips []string) string {
// We use the [Feature:NoSNAT] tag so that most jobs will skip this test by default. // We use the [Feature:NoSNAT] tag so that most jobs will skip this test by default.
var _ = SIGDescribe("NoSNAT [Feature:NoSNAT] [Slow]", func() { var _ = SIGDescribe("NoSNAT [Feature:NoSNAT] [Slow]", func() {
f := framework.NewDefaultFramework("no-snat-test") f := framework.NewDefaultFramework("no-snat-test")
It("Should be able to send traffic between Pods without SNAT", func() { ginkgo.It("Should be able to send traffic between Pods without SNAT", func() {
cs := f.ClientSet cs := f.ClientSet
pc := cs.CoreV1().Pods(f.Namespace.Name) pc := cs.CoreV1().Pods(f.Namespace.Name)
nc := cs.CoreV1().Nodes() nc := cs.CoreV1().Nodes()
By("creating a test pod on each Node") ginkgo.By("creating a test pod on each Node")
nodes, err := nc.List(metav1.ListOptions{}) nodes, err := nc.List(metav1.ListOptions{})
framework.ExpectNoError(err) framework.ExpectNoError(err)
if len(nodes.Items) == 0 { if len(nodes.Items) == 0 {
...@@ -167,7 +167,7 @@ var _ = SIGDescribe("NoSNAT [Feature:NoSNAT] [Slow]", func() { ...@@ -167,7 +167,7 @@ var _ = SIGDescribe("NoSNAT [Feature:NoSNAT] [Slow]", func() {
// on the master, but do allow this on the nodes. // on the master, but do allow this on the nodes.
node, err := getSchedulable(nodes.Items) node, err := getSchedulable(nodes.Items)
framework.ExpectNoError(err) framework.ExpectNoError(err)
By("creating a no-snat-test-proxy Pod on Node " + node.Name + " port " + strconv.Itoa(testProxyPort) + ginkgo.By("creating a no-snat-test-proxy Pod on Node " + node.Name + " port " + strconv.Itoa(testProxyPort) +
" so we can target our test Pods through this Node's ExternalIP") " so we can target our test Pods through this Node's ExternalIP")
extIP, err := getIP(v1.NodeExternalIP, node) extIP, err := getIP(v1.NodeExternalIP, node)
...@@ -177,7 +177,7 @@ var _ = SIGDescribe("NoSNAT [Feature:NoSNAT] [Slow]", func() { ...@@ -177,7 +177,7 @@ var _ = SIGDescribe("NoSNAT [Feature:NoSNAT] [Slow]", func() {
_, err = pc.Create(newTestProxyPod(node.Name)) _, err = pc.Create(newTestProxyPod(node.Name))
framework.ExpectNoError(err) framework.ExpectNoError(err)
By("waiting for all of the no-snat-test pods to be scheduled and running") ginkgo.By("waiting for all of the no-snat-test pods to be scheduled and running")
err = wait.PollImmediate(10*time.Second, 1*time.Minute, func() (bool, error) { err = wait.PollImmediate(10*time.Second, 1*time.Minute, func() (bool, error) {
pods, err := pc.List(metav1.ListOptions{LabelSelector: "no-snat-test"}) pods, err := pc.List(metav1.ListOptions{LabelSelector: "no-snat-test"})
if err != nil { if err != nil {
...@@ -197,7 +197,7 @@ var _ = SIGDescribe("NoSNAT [Feature:NoSNAT] [Slow]", func() { ...@@ -197,7 +197,7 @@ var _ = SIGDescribe("NoSNAT [Feature:NoSNAT] [Slow]", func() {
}) })
framework.ExpectNoError(err) framework.ExpectNoError(err)
By("waiting for the no-snat-test-proxy Pod to be scheduled and running") ginkgo.By("waiting for the no-snat-test-proxy Pod to be scheduled and running")
err = wait.PollImmediate(10*time.Second, 1*time.Minute, func() (bool, error) { err = wait.PollImmediate(10*time.Second, 1*time.Minute, func() (bool, error) {
pod, err := pc.Get("no-snat-test-proxy", metav1.GetOptions{}) pod, err := pc.Get("no-snat-test-proxy", metav1.GetOptions{})
if err != nil { if err != nil {
...@@ -213,7 +213,7 @@ var _ = SIGDescribe("NoSNAT [Feature:NoSNAT] [Slow]", func() { ...@@ -213,7 +213,7 @@ var _ = SIGDescribe("NoSNAT [Feature:NoSNAT] [Slow]", func() {
}) })
framework.ExpectNoError(err) framework.ExpectNoError(err)
By("sending traffic from each pod to the others and checking that SNAT does not occur") ginkgo.By("sending traffic from each pod to the others and checking that SNAT does not occur")
pods, err := pc.List(metav1.ListOptions{LabelSelector: "no-snat-test"}) pods, err := pc.List(metav1.ListOptions{LabelSelector: "no-snat-test"})
framework.ExpectNoError(err) framework.ExpectNoError(err)
......
...@@ -38,8 +38,8 @@ import ( ...@@ -38,8 +38,8 @@ import (
testutils "k8s.io/kubernetes/test/utils" testutils "k8s.io/kubernetes/test/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
. "github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
. "github.com/onsi/gomega" "github.com/onsi/gomega"
) )
const ( const (
...@@ -55,7 +55,7 @@ const ( ...@@ -55,7 +55,7 @@ const (
var _ = SIGDescribe("Proxy", func() { var _ = SIGDescribe("Proxy", func() {
version := "v1" version := "v1"
Context("version "+version, func() { ginkgo.Context("version "+version, func() {
options := framework.Options{ options := framework.Options{
ClientQPS: -1.0, ClientQPS: -1.0,
} }
...@@ -116,12 +116,12 @@ var _ = SIGDescribe("Proxy", func() { ...@@ -116,12 +116,12 @@ var _ = SIGDescribe("Proxy", func() {
}, },
}, },
}) })
Expect(err).NotTo(HaveOccurred()) gomega.Expect(err).NotTo(gomega.HaveOccurred())
// Make an RC with a single pod. The 'porter' image is // Make an RC with a single pod. The 'porter' image is
// a simple server which serves the values of the // a simple server which serves the values of the
// environmental variables below. // environmental variables below.
By("starting an echo server on multiple ports") ginkgo.By("starting an echo server on multiple ports")
pods := []*v1.Pod{} pods := []*v1.Pod{}
cfg := testutils.RCConfig{ cfg := testutils.RCConfig{
Client: f.ClientSet, Client: f.ClientSet,
...@@ -160,10 +160,10 @@ var _ = SIGDescribe("Proxy", func() { ...@@ -160,10 +160,10 @@ var _ = SIGDescribe("Proxy", func() {
Labels: labels, Labels: labels,
CreatedPods: &pods, CreatedPods: &pods,
} }
Expect(framework.RunRC(cfg)).NotTo(HaveOccurred()) gomega.Expect(framework.RunRC(cfg)).NotTo(gomega.HaveOccurred())
defer framework.DeleteRCAndWaitForGC(f.ClientSet, f.Namespace.Name, cfg.Name) defer framework.DeleteRCAndWaitForGC(f.ClientSet, f.Namespace.Name, cfg.Name)
Expect(endpoints.WaitForEndpoint(f.ClientSet, f.Namespace.Name, service.Name)).NotTo(HaveOccurred()) gomega.Expect(endpoints.WaitForEndpoint(f.ClientSet, f.Namespace.Name, service.Name)).NotTo(gomega.HaveOccurred())
// table constructors // table constructors
// Try proxying through the service and directly to through the pod. // Try proxying through the service and directly to through the pod.
...@@ -212,7 +212,7 @@ var _ = SIGDescribe("Proxy", func() { ...@@ -212,7 +212,7 @@ var _ = SIGDescribe("Proxy", func() {
e2elog.Logf("setup took %v, starting test cases", d) e2elog.Logf("setup took %v, starting test cases", d)
numberTestCases := len(expectations) numberTestCases := len(expectations)
totalAttempts := numberTestCases * proxyAttempts totalAttempts := numberTestCases * proxyAttempts
By(fmt.Sprintf("running %v cases, %v attempts per case, %v total attempts", numberTestCases, proxyAttempts, totalAttempts)) ginkgo.By(fmt.Sprintf("running %v cases, %v attempts per case, %v total attempts", numberTestCases, proxyAttempts, totalAttempts))
for i := 0; i < proxyAttempts; i++ { for i := 0; i < proxyAttempts; i++ {
wg.Add(numberTestCases) wg.Add(numberTestCases)
...@@ -297,25 +297,25 @@ func pickNode(cs clientset.Interface) (string, error) { ...@@ -297,25 +297,25 @@ func pickNode(cs clientset.Interface) (string, error) {
func nodeProxyTest(f *framework.Framework, prefix, nodeDest string) { func nodeProxyTest(f *framework.Framework, prefix, nodeDest string) {
node, err := pickNode(f.ClientSet) node, err := pickNode(f.ClientSet)
Expect(err).NotTo(HaveOccurred()) gomega.Expect(err).NotTo(gomega.HaveOccurred())
// TODO: Change it to test whether all requests succeeded when requests // TODO: Change it to test whether all requests succeeded when requests
// not reaching Kubelet issue is debugged. // not reaching Kubelet issue is debugged.
serviceUnavailableErrors := 0 serviceUnavailableErrors := 0
for i := 0; i < proxyAttempts; i++ { for i := 0; i < proxyAttempts; i++ {
_, status, d, err := doProxy(f, prefix+node+nodeDest, i) _, status, d, err := doProxy(f, prefix+node+nodeDest, i)
if status == http.StatusServiceUnavailable { if status == http.StatusServiceUnavailable {
e2elog.Logf("Failed proxying node logs due to service unavailable: %v", err) e2elog.Logf("ginkgo.Failed proxying node logs due to service unavailable: %v", err)
time.Sleep(time.Second) time.Sleep(time.Second)
serviceUnavailableErrors++ serviceUnavailableErrors++
} else { } else {
Expect(err).NotTo(HaveOccurred()) gomega.Expect(err).NotTo(gomega.HaveOccurred())
Expect(status).To(Equal(http.StatusOK)) gomega.Expect(status).To(gomega.Equal(http.StatusOK))
Expect(d).To(BeNumerically("<", proxyHTTPCallTimeout)) gomega.Expect(d).To(gomega.BeNumerically("<", proxyHTTPCallTimeout))
} }
} }
if serviceUnavailableErrors > 0 { if serviceUnavailableErrors > 0 {
e2elog.Logf("error: %d requests to proxy node logs failed", serviceUnavailableErrors) e2elog.Logf("error: %d requests to proxy node logs failed", serviceUnavailableErrors)
} }
maxFailures := int(math.Floor(0.1 * float64(proxyAttempts))) maxFailures := int(math.Floor(0.1 * float64(proxyAttempts)))
Expect(serviceUnavailableErrors).To(BeNumerically("<", maxFailures)) gomega.Expect(serviceUnavailableErrors).To(gomega.BeNumerically("<", maxFailures))
} }
...@@ -35,7 +35,7 @@ import ( ...@@ -35,7 +35,7 @@ import (
testutils "k8s.io/kubernetes/test/utils" testutils "k8s.io/kubernetes/test/utils"
imageutils "k8s.io/kubernetes/test/utils/image" imageutils "k8s.io/kubernetes/test/utils/image"
. "github.com/onsi/ginkgo" "github.com/onsi/ginkgo"
) )
type durations []time.Duration type durations []time.Duration
...@@ -161,7 +161,7 @@ func runServiceLatencies(f *framework.Framework, inParallel, total int, acceptab ...@@ -161,7 +161,7 @@ func runServiceLatencies(f *framework.Framework, inParallel, total int, acceptab
blocker := make(chan struct{}, inParallel) blocker := make(chan struct{}, inParallel)
for i := 0; i < total; i++ { for i := 0; i < total; i++ {
go func() { go func() {
defer GinkgoRecover() defer ginkgo.GinkgoRecover()
blocker <- struct{}{} blocker <- struct{}{}
defer func() { <-blocker }() defer func() { <-blocker }()
if d, err := singleServiceLatency(f, cfg.Name, endpointQueries); err != nil { if d, err := singleServiceLatency(f, cfg.Name, endpointQueries); err != nil {
......
...@@ -28,6 +28,7 @@ import ( ...@@ -28,6 +28,7 @@ import (
e2elog "k8s.io/kubernetes/test/e2e/framework/log" e2elog "k8s.io/kubernetes/test/e2e/framework/log"
) )
// IPerfResults is a struct that stores some IPerfResult
type IPerfResults struct { type IPerfResults struct {
BandwidthMap map[string]int64 BandwidthMap map[string]int64
} }
...@@ -62,8 +63,8 @@ func (i *IPerfResults) ToTSV() string { ...@@ -62,8 +63,8 @@ func (i *IPerfResults) ToTSV() string {
var buffer bytes.Buffer var buffer bytes.Buffer
for node, bandwidth := range i.BandwidthMap { for node, bandwidth := range i.BandwidthMap {
asJson, _ := json.Marshal(node) asJSON, _ := json.Marshal(node)
buffer.WriteString("\t " + string(asJson) + "\t " + fmt.Sprintf("%E", float64(bandwidth))) buffer.WriteString("\t " + string(asJSON) + "\t " + fmt.Sprintf("%E", float64(bandwidth)))
} }
return buffer.String() return buffer.String()
} }
...@@ -88,6 +89,7 @@ func NewIPerf(csvLine string) *IPerfResult { ...@@ -88,6 +89,7 @@ func NewIPerf(csvLine string) *IPerfResult {
return &i return &i
} }
// StrSlice represents a string slice
type StrSlice []string type StrSlice []string
func (s StrSlice) get(i int) string { func (s StrSlice) get(i int) string {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment