diff --git a/test/e2e/kubernetes/kubernetes_test.go b/test/e2e/kubernetes/kubernetes_test.go index 0486ae3a72..dcbb570cc8 100644 --- a/test/e2e/kubernetes/kubernetes_test.go +++ b/test/e2e/kubernetes/kubernetes_test.go @@ -1018,16 +1018,26 @@ var _ = Describe("Azure Container Cluster using the Kubernetes Orchestrator", fu It("should have functional container networking DNS", func() { By("Ensuring that we have functional DNS resolution from a linux container") - j, err := job.CreateJobFromFileDeleteIfExists(filepath.Join(WorkloadDir, "validate-dns-linux.yaml"), "validate-dns-linux", "default", 3*time.Second, cfg.Timeout) + validateDNSLinuxName := "validate-dns-linux" + validateDNSLinuxNamespace := "default" + j, err := job.CreateJobFromFileDeleteIfExists(filepath.Join(WorkloadDir, fmt.Sprintf("%s.yaml", validateDNSLinuxName)), validateDNSLinuxName, validateDNSLinuxNamespace, 3*time.Second, cfg.Timeout) Expect(err).NotTo(HaveOccurred()) ready, err := j.WaitOnSucceeded(sleepBetweenRetriesWhenWaitingForPodReady, validateDNSTimeout) if err != nil { - pod.PrintPodsLogs("validate-dns-linux", "default", 5*time.Second, 1*time.Minute) - } - delErr := j.Delete(util.DefaultDeleteRetries) - if delErr != nil { - fmt.Printf("could not delete job %s\n", j.Metadata.Name) - fmt.Println(delErr) + pod.PrintPodsLogs(validateDNSLinuxName, validateDNSLinuxNamespace, 5*time.Second, 1*time.Minute) + pods, err := pod.GetAllByPrefixWithRetry(validateDNSLinuxName, validateDNSLinuxNamespace, 3*time.Second, cfg.Timeout) + Expect(err).NotTo(HaveOccurred()) + for _, p := range pods { + out, err := p.Exec("--", "cat", "/etc/resolv.conf") + log.Printf("%s\n", string(out)) + Expect(err).NotTo(HaveOccurred()) + out, err = p.Exec("--", "ifconfig") + log.Printf("%s\n", string(out)) + Expect(err).NotTo(HaveOccurred()) + out, err = p.Exec("--", "nc", "-vz", eng.ExpandedDefinition.Properties.OrchestratorProfile.KubernetesConfig.DNSServiceIP, "53") + log.Printf("%s\n", string(out)) + Expect(err).NotTo(HaveOccurred()) + } } Expect(err).NotTo(HaveOccurred()) Expect(ready).To(Equal(true)) @@ -1042,11 +1052,6 @@ var _ = Describe("Azure Container Cluster using the Kubernetes Orchestrator", fu if err != nil { pod.PrintPodsLogs("validate-dns-windows", "default", 5*time.Second, 1*time.Minute) } - delErr = j.Delete(util.DefaultDeleteRetries) - if delErr != nil { - fmt.Printf("could not delete job %s\n", j.Metadata.Name) - fmt.Println(delErr) - } Expect(err).NotTo(HaveOccurred()) Expect(ready).To(Equal(true)) } diff --git a/test/e2e/kubernetes/pod/pod.go b/test/e2e/kubernetes/pod/pod.go index db8e0d5350..1434ff3d6e 100644 --- a/test/e2e/kubernetes/pod/pod.go +++ b/test/e2e/kubernetes/pod/pod.go @@ -294,7 +294,7 @@ func GetAll(namespace string) (*List, error) { } // GetWithRetry gets a pod, allowing for retries -func GetWithRetry(podPrefix, namespace string, sleep, timeout time.Duration) (*Pod, error) { +func GetWithRetry(podName, namespace string, sleep, timeout time.Duration) (*Pod, error) { ctx, cancel := context.WithTimeout(context.Background(), timeout) defer cancel() ch := make(chan GetResult) @@ -306,7 +306,7 @@ func GetWithRetry(podPrefix, namespace string, sleep, timeout time.Duration) (*P case <-ctx.Done(): return default: - ch <- GetAsync(podPrefix, namespace) + ch <- GetAsync(podName, namespace) time.Sleep(sleep) } }