Make error messages more helpful in some e2e tests

Related to issues 34059 and 10322
This commit is contained in:
Louis Lepper 2018-08-21 07:08:26 +10:00
parent 31420467ae
commit 624a5630f2
3 changed files with 27 additions and 26 deletions

View File

@ -80,16 +80,17 @@ var _ = SIGDescribe("DNS", func() {
} }
headlessService := framework.CreateServiceSpec(dnsTestServiceName, "", true, testServiceSelector) headlessService := framework.CreateServiceSpec(dnsTestServiceName, "", true, testServiceSelector)
_, err := f.ClientSet.CoreV1().Services(f.Namespace.Name).Create(headlessService) _, err := f.ClientSet.CoreV1().Services(f.Namespace.Name).Create(headlessService)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred(), "Failed to create headless service %s", dnsTestServiceName)
defer func() { defer func() {
By("deleting the test headless service") By("deleting the test headless service")
defer GinkgoRecover() defer GinkgoRecover()
f.ClientSet.CoreV1().Services(f.Namespace.Name).Delete(headlessService.Name, nil) f.ClientSet.CoreV1().Services(f.Namespace.Name).Delete(headlessService.Name, nil)
}() }()
regularService := framework.CreateServiceSpec("test-service-2", "", false, testServiceSelector) regularServiceName := "test-service-2"
regularService := framework.CreateServiceSpec(regularServiceName, "", false, testServiceSelector)
regularService, err = f.ClientSet.CoreV1().Services(f.Namespace.Name).Create(regularService) regularService, err = f.ClientSet.CoreV1().Services(f.Namespace.Name).Create(regularService)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred(), "Failed to create regular service %s", regularServiceName)
defer func() { defer func() {
By("deleting the test service") By("deleting the test service")
defer GinkgoRecover() defer GinkgoRecover()
@ -130,7 +131,7 @@ var _ = SIGDescribe("DNS", func() {
podHostname := "dns-querier-2" podHostname := "dns-querier-2"
headlessService := framework.CreateServiceSpec(serviceName, "", true, testServiceSelector) headlessService := framework.CreateServiceSpec(serviceName, "", true, testServiceSelector)
_, err := f.ClientSet.CoreV1().Services(f.Namespace.Name).Create(headlessService) _, err := f.ClientSet.CoreV1().Services(f.Namespace.Name).Create(headlessService)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred(), "Failed to create headless service %s", serviceName)
defer func() { defer func() {
By("deleting the test headless service") By("deleting the test headless service")
defer GinkgoRecover() defer GinkgoRecover()
@ -161,7 +162,7 @@ var _ = SIGDescribe("DNS", func() {
serviceName := "dns-test-service-3" serviceName := "dns-test-service-3"
externalNameService := framework.CreateServiceSpec(serviceName, "foo.example.com", false, nil) externalNameService := framework.CreateServiceSpec(serviceName, "foo.example.com", false, nil)
_, err := f.ClientSet.CoreV1().Services(f.Namespace.Name).Create(externalNameService) _, err := f.ClientSet.CoreV1().Services(f.Namespace.Name).Create(externalNameService)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred(), "Failed to create ExternalName service %s", serviceName)
defer func() { defer func() {
By("deleting the test externalName service") By("deleting the test externalName service")
defer GinkgoRecover() defer GinkgoRecover()
@ -185,7 +186,7 @@ var _ = SIGDescribe("DNS", func() {
_, err = framework.UpdateService(f.ClientSet, f.Namespace.Name, serviceName, func(s *v1.Service) { _, err = framework.UpdateService(f.ClientSet, f.Namespace.Name, serviceName, func(s *v1.Service) {
s.Spec.ExternalName = "bar.example.com" s.Spec.ExternalName = "bar.example.com"
}) })
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred(), "Failed to change externalName of service %s", serviceName)
wheezyProbeCmd, wheezyFileName = createTargetedProbeCommand(hostFQDN, "CNAME", "wheezy") wheezyProbeCmd, wheezyFileName = createTargetedProbeCommand(hostFQDN, "CNAME", "wheezy")
jessieProbeCmd, jessieFileName = createTargetedProbeCommand(hostFQDN, "CNAME", "jessie") jessieProbeCmd, jessieFileName = createTargetedProbeCommand(hostFQDN, "CNAME", "jessie")
By("Running these commands on wheezy: " + wheezyProbeCmd + "\n") By("Running these commands on wheezy: " + wheezyProbeCmd + "\n")
@ -205,7 +206,7 @@ var _ = SIGDescribe("DNS", func() {
{Port: 80, Name: "http", Protocol: v1.ProtocolTCP}, {Port: 80, Name: "http", Protocol: v1.ProtocolTCP},
} }
}) })
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred(), "Failed to change service type to clusterIP for service %s", serviceName)
wheezyProbeCmd, wheezyFileName = createTargetedProbeCommand(hostFQDN, "A", "wheezy") wheezyProbeCmd, wheezyFileName = createTargetedProbeCommand(hostFQDN, "A", "wheezy")
jessieProbeCmd, jessieFileName = createTargetedProbeCommand(hostFQDN, "A", "jessie") jessieProbeCmd, jessieFileName = createTargetedProbeCommand(hostFQDN, "A", "jessie")
By("Running these commands on wheezy: " + wheezyProbeCmd + "\n") By("Running these commands on wheezy: " + wheezyProbeCmd + "\n")
@ -216,7 +217,7 @@ var _ = SIGDescribe("DNS", func() {
pod3 := createDNSPod(f.Namespace.Name, wheezyProbeCmd, jessieProbeCmd, dnsTestPodHostName, dnsTestServiceName) pod3 := createDNSPod(f.Namespace.Name, wheezyProbeCmd, jessieProbeCmd, dnsTestPodHostName, dnsTestServiceName)
svc, err := f.ClientSet.CoreV1().Services(f.Namespace.Name).Get(externalNameService.Name, metav1.GetOptions{}) svc, err := f.ClientSet.CoreV1().Services(f.Namespace.Name).Get(externalNameService.Name, metav1.GetOptions{})
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred(), "Failed to get service %s", externalNameService.Name)
validateTargetedProbeOutput(f, pod3, []string{wheezyFileName, jessieFileName}, svc.Spec.ClusterIP) validateTargetedProbeOutput(f, pod3, []string{wheezyFileName, jessieFileName}, svc.Spec.ClusterIP)
}) })

View File

@ -66,7 +66,7 @@ func (t *dnsTestCommon) init() {
options := metav1.ListOptions{LabelSelector: label.String()} options := metav1.ListOptions{LabelSelector: label.String()}
pods, err := t.f.ClientSet.CoreV1().Pods("kube-system").List(options) pods, err := t.f.ClientSet.CoreV1().Pods("kube-system").List(options)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred(), "Failed to list pods")
Expect(len(pods.Items)).Should(BeNumerically(">=", 1)) Expect(len(pods.Items)).Should(BeNumerically(">=", 1))
t.dnsPod = &pods.Items[0] t.dnsPod = &pods.Items[0]
@ -155,23 +155,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()) Expect(err).NotTo(HaveOccurred(), "Failed to list ConfigMaps")
if len(cmList.Items) == 0 { if len(cmList.Items) == 0 {
By(fmt.Sprintf("Creating the ConfigMap (%s:%s) %+v", t.ns, t.name, *cm)) 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()) Expect(err).NotTo(HaveOccurred(), "Failed to create ConfigMap")
} else { } else {
By(fmt.Sprintf("Updating the ConfigMap (%s:%s) to %+v", t.ns, t.name, *cm)) 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()) Expect(err).NotTo(HaveOccurred(), "Failed to update ConfigMap")
} }
} }
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()) Expect(err).NotTo(HaveOccurred(), "Failed to get DNS ConfigMap")
return pcm.Data return pcm.Data
} }
return nil return nil
@ -190,7 +190,7 @@ func (t *dnsTestCommon) deleteConfigMap() {
By(fmt.Sprintf("Deleting the ConfigMap (%s:%s)", t.ns, t.name)) 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()) Expect(err).NotTo(HaveOccurred(), "Failed to delete config map %s", t.name)
} }
func (t *dnsTestCommon) createUtilPodLabel(baseName string) { func (t *dnsTestCommon) createUtilPodLabel(baseName string) {
@ -222,9 +222,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()) Expect(err).NotTo(HaveOccurred(), "Failed to create pod %v", t.utilPod)
framework.Logf("Created pod %v", t.utilPod) framework.Logf("Created pod %v", t.utilPod)
Expect(t.f.WaitForPodRunning(t.utilPod.Name)).NotTo(HaveOccurred()) Expect(t.f.WaitForPodRunning(t.utilPod.Name)).NotTo(HaveOccurred(), "Pod failed to start running %v", t.utilPod)
t.utilService = &v1.Service{ t.utilService = &v1.Service{
TypeMeta: metav1.TypeMeta{ TypeMeta: metav1.TypeMeta{
@ -247,7 +247,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()) Expect(err).NotTo(HaveOccurred(), "Failed to create service")
framework.Logf("Created service %v", t.utilService) framework.Logf("Created service %v", t.utilService)
} }
@ -270,7 +270,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()) Expect(err).NotTo(HaveOccurred(), "Failed to delete pod %s", pod.Name)
} }
} }
@ -313,13 +313,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()) Expect(err).NotTo(HaveOccurred(), "Failed to create pod %v", t.dnsServerPod)
framework.Logf("Created pod %v", t.dnsServerPod) framework.Logf("Created pod %v", t.dnsServerPod)
Expect(t.f.WaitForPodRunning(t.dnsServerPod.Name)).NotTo(HaveOccurred()) Expect(t.f.WaitForPodRunning(t.dnsServerPod.Name)).NotTo(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()) Expect(err).NotTo(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) {

View File

@ -82,7 +82,7 @@ var _ = SIGDescribe("ClusterDns [Feature:Example]", func() {
for i := range namespaces { for i := range namespaces {
var err error var err error
namespaces[i], err = f.CreateNamespace(fmt.Sprintf("dnsexample%d", i), nil) namespaces[i], err = f.CreateNamespace(fmt.Sprintf("dnsexample%d", i), nil)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred(), "Failed to create namespace")
} }
for _, ns := range namespaces { for _, ns := range namespaces {
@ -104,7 +104,7 @@ 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()) Expect(err).NotTo(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") Expect(err).NotTo(HaveOccurred(), "waiting for all pods to respond")
framework.Logf("found %d backend pods responding in namespace %s", len(pods.Items), ns.Name) framework.Logf("found %d backend pods responding in namespace %s", len(pods.Items), ns.Name)
@ -151,7 +151,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()) Expect(err).NotTo(HaveOccurred(), "Pod %s failed to print result in logs", frontendPodName)
} }
}) })
}) })
@ -163,10 +163,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()) Expect(err).NotTo(HaveOccurred(), "Failed to open file")
defer f.Close() defer f.Close()
data, err := ioutil.ReadAll(f) data, err := ioutil.ReadAll(f)
Expect(err).NotTo(HaveOccurred()) Expect(err).NotTo(HaveOccurred(), "Failed to read from file")
podYaml := strings.Replace(string(data), old, new, 1) podYaml := strings.Replace(string(data), old, new, 1)
return podYaml return podYaml
} }