Skip to content

Commit 32c7c37

Browse files
e2e: use utils.GetFormattedErrorAndLog for logging demo pods
this makes a demo pod's log get printed only when the pod did not run sucessfully Signed-off-by: Hyeongju Johannes Lee <[email protected]>
1 parent 4b26ead commit 32c7c37

File tree

6 files changed

+29
-50
lines changed

6 files changed

+29
-50
lines changed

test/e2e/dlb/dlb.go

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222

2323
"github.com/intel/intel-device-plugins-for-kubernetes/test/e2e/utils"
2424
"github.com/onsi/ginkgo/v2"
25+
"github.com/onsi/gomega"
2526
v1 "k8s.io/api/core/v1"
2627
"k8s.io/apimachinery/pkg/labels"
2728
"k8s.io/kubernetes/test/e2e/framework"
@@ -119,15 +120,7 @@ func runDemoApp(ctx context.Context, function, yaml string, f *framework.Framewo
119120
e2ekubectl.RunKubectlOrDie(f.Namespace.Name, "apply", "-f", demoPath)
120121

121122
ginkgo.By("waiting for the DLB demo to succeed")
122-
e2epod.NewPodClient(f).WaitForSuccess(ctx, podName, 200*time.Second)
123123

124-
ginkgo.By("getting workload log")
125-
126-
log, err := e2epod.GetPodLogs(ctx, f.ClientSet, f.Namespace.Name, podName, podName)
127-
128-
if err != nil {
129-
framework.Failf("unable to get log from pod: %v", err)
130-
}
131-
132-
framework.Logf("log output: %s", log)
124+
err := e2epod.WaitForPodSuccessInNamespaceTimeout(ctx, f.ClientSet, podName, f.Namespace.Name, 200*time.Second)
125+
gomega.Expect(err).To(gomega.BeNil(), utils.GetPodLogs(ctx, f, podName, podName))
133126
}

test/e2e/dsa/dsa.go

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121

2222
"github.com/intel/intel-device-plugins-for-kubernetes/test/e2e/utils"
2323
"github.com/onsi/ginkgo/v2"
24+
"github.com/onsi/gomega"
2425
"k8s.io/apimachinery/pkg/labels"
2526
"k8s.io/kubernetes/test/e2e/framework"
2627
e2edebug "k8s.io/kubernetes/test/e2e/framework/debug"
@@ -106,16 +107,8 @@ func describe() {
106107
e2ekubectl.RunKubectlOrDie(f.Namespace.Name, "apply", "-f", demoPath)
107108

108109
ginkgo.By("waiting for the DSA demo to succeed")
109-
e2epod.NewPodClient(f).WaitForSuccess(ctx, podName, 200*time.Second)
110-
111-
ginkgo.By("getting workload log")
112-
log, err := e2epod.GetPodLogs(ctx, f.ClientSet, f.Namespace.Name, podName, podName)
113-
114-
if err != nil {
115-
framework.Failf("unable to get log from pod: %v", err)
116-
}
117-
118-
framework.Logf("log output: %s", log)
110+
err := e2epod.WaitForPodSuccessInNamespaceTimeout(ctx, f.ClientSet, podName, f.Namespace.Name, 200*time.Second)
111+
gomega.Expect(err).To(gomega.BeNil(), utils.GetPodLogs(ctx, f, podName, podName))
119112
})
120113
})
121114
})

test/e2e/fpga/fpga.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424

2525
"github.com/intel/intel-device-plugins-for-kubernetes/test/e2e/utils"
2626
"github.com/onsi/ginkgo/v2"
27+
"github.com/onsi/gomega"
2728
v1 "k8s.io/api/core/v1"
2829
"k8s.io/apimachinery/pkg/api/resource"
2930
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -97,7 +98,7 @@ func runTestCase(ctx context.Context, fmw *framework.Framework, pluginKustomizat
9798

9899
ginkgo.By("checking if the resource is allocatable")
99100

100-
if err := utils.WaitForNodesWithResource(ctx, fmw.ClientSet, resource, 30*time.Second); err != nil {
101+
if err = utils.WaitForNodesWithResource(ctx, fmw.ClientSet, resource, 30*time.Second); err != nil {
101102
framework.Failf("unable to wait for nodes to have positive allocatable resource: %v", err)
102103
}
103104

@@ -109,11 +110,9 @@ func runTestCase(ctx context.Context, fmw *framework.Framework, pluginKustomizat
109110
pod := createPod(ctx, fmw, fmt.Sprintf("fpgaplugin-%s-%s-%s-correct", pluginMode, cmd1, cmd2), resource, image, []string{cmd1, "-S0"})
110111

111112
ginkgo.By("waiting the pod to finish successfully")
112-
e2epod.NewPodClient(fmw).WaitForSuccess(ctx, pod.ObjectMeta.Name, 60*time.Second)
113-
// If WaitForSuccess fails, ginkgo doesn't show the logs of the failed container.
114-
// Replacing WaitForSuccess with WaitForFinish + 'kubelet logs' would show the logs
115-
//fmw.PodClient().WaitForFinish(pod.ObjectMeta.Name, 60*time.Second)
116-
//framework.RunKubectlOrDie(fmw.Namespace.Name, "logs", pod.ObjectMeta.Name)
113+
114+
err = e2epod.WaitForPodSuccessInNamespaceTimeout(ctx, fmw.ClientSet, pod.ObjectMeta.Name, fmw.Namespace.Name, 60*time.Second)
115+
gomega.Expect(err).To(gomega.BeNil(), utils.GetPodLogs(ctx, fmw, pod.ObjectMeta.Name, "testcontainer"))
117116

118117
ginkgo.By("submitting a pod requesting incorrect FPGA resources")
119118

test/e2e/iaa/iaa.go

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121

2222
"github.com/intel/intel-device-plugins-for-kubernetes/test/e2e/utils"
2323
"github.com/onsi/ginkgo/v2"
24+
"github.com/onsi/gomega"
2425
"k8s.io/apimachinery/pkg/labels"
2526
"k8s.io/kubernetes/test/e2e/framework"
2627
e2edebug "k8s.io/kubernetes/test/e2e/framework/debug"
@@ -106,16 +107,8 @@ func describe() {
106107
e2ekubectl.RunKubectlOrDie(f.Namespace.Name, "apply", "-f", demoPath)
107108

108109
ginkgo.By("waiting for the IAA demo to succeed")
109-
e2epod.NewPodClient(f).WaitForSuccess(ctx, podName, 300*time.Second)
110-
111-
ginkgo.By("getting workload log")
112-
log, err := e2epod.GetPodLogs(ctx, f.ClientSet, f.Namespace.Name, podName, podName)
113-
114-
if err != nil {
115-
framework.Failf("unable to get log from pod: %v", err)
116-
}
117-
118-
framework.Logf("log output: %s", log)
110+
err := e2epod.WaitForPodSuccessInNamespaceTimeout(ctx, f.ClientSet, podName, f.Namespace.Name, 300*time.Second)
111+
gomega.Expect(err).To(gomega.BeNil(), utils.GetPodLogs(ctx, f, podName, podName))
119112
})
120113
})
121114
})

test/e2e/qat/qatplugin_dpdk.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import (
2222

2323
"github.com/intel/intel-device-plugins-for-kubernetes/test/e2e/utils"
2424
"github.com/onsi/ginkgo/v2"
25+
"github.com/onsi/gomega"
2526
v1 "k8s.io/api/core/v1"
2627
"k8s.io/apimachinery/pkg/api/resource"
2728
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -38,6 +39,7 @@ const (
3839
compressTestYaml = "deployments/qat_dpdk_app/test-compress1/kustomization.yaml"
3940
cryptoTestYaml = "deployments/qat_dpdk_app/test-crypto1/kustomization.yaml"
4041
cryptoTestGen4Yaml = "deployments/qat_dpdk_app/test-crypto1-gen4/kustomization.yaml"
42+
demoPodContainerName = "crypto-perf"
4143
)
4244

4345
const (
@@ -135,12 +137,8 @@ func describeQatDpdkPlugin() {
135137
e2ekubectl.RunKubectlOrDie(f.Namespace.Name, "apply", "-k", filepath.Dir(cryptoTestGen4YamlPath))
136138

137139
ginkgo.By("waiting the crypto pod to finish successfully")
138-
139-
e2epod.NewPodClient(f).WaitForSuccess(ctx, "qat-dpdk-test-crypto-perf-tc1-gen4", 300*time.Second)
140-
141-
output, _ := e2epod.GetPodLogs(ctx, f.ClientSet, f.Namespace.Name, "qat-dpdk-test-crypto-perf-tc1-gen4", "crypto-perf")
142-
143-
framework.Logf("crypto-perf output:\n %s", output)
140+
err := e2epod.WaitForPodSuccessInNamespaceTimeout(ctx, f.ClientSet, "qat-dpdk-test-crypto-perf-tc1-gen4", f.Namespace.Name, 300*time.Second)
141+
gomega.Expect(err).To(gomega.BeNil(), utils.GetPodLogs(ctx, f, "qat-dpdk-test-crypto-perf-tc1-gen4", "crypto-perf"))
144142
})
145143
})
146144

@@ -169,15 +167,19 @@ func describeQatDpdkPlugin() {
169167
e2ekubectl.RunKubectlOrDie(f.Namespace.Name, "apply", "-k", filepath.Dir(cryptoTestYamlPath))
170168

171169
ginkgo.By("waiting the crypto pod to finish successfully")
172-
e2epod.NewPodClient(f).WaitForSuccess(ctx, "qat-dpdk-test-crypto-perf-tc1", 60*time.Second)
170+
demoPodName := "qat-dpdk-test-crypto-perf-tc1"
171+
err := e2epod.WaitForPodSuccessInNamespaceTimeout(ctx, f.ClientSet, demoPodName, f.Namespace.Name, 60*time.Second)
172+
gomega.Expect(err).To(gomega.BeNil(), utils.GetPodLogs(ctx, f, demoPodName, demoPodContainerName))
173173
})
174174

175175
ginkgo.It("deploys a compress pod requesting QAT resources", func(ctx context.Context) {
176176
ginkgo.By("submitting a compress pod requesting QAT resources")
177177
e2ekubectl.RunKubectlOrDie(f.Namespace.Name, "apply", "-k", filepath.Dir(compressTestYamlPath))
178178

179179
ginkgo.By("waiting the compress pod to finish successfully")
180-
e2epod.NewPodClient(f).WaitForSuccess(ctx, "qat-dpdk-test-compress-perf-tc1", 60*time.Second)
180+
demoPodName := "qat-dpdk-test-compress-perf-tc1"
181+
err := e2epod.WaitForPodSuccessInNamespaceTimeout(ctx, f.ClientSet, demoPodName, f.Namespace.Name, 60*time.Second)
182+
gomega.Expect(err).To(gomega.BeNil(), utils.GetPodLogs(ctx, f, demoPodName, demoPodContainerName))
181183
})
182184
})
183185
}
@@ -210,9 +212,7 @@ func runCpaSampleCode(ctx context.Context, f *framework.Framework, runTests int,
210212
framework.ExpectNoError(err, "pod Create API error")
211213

212214
ginkgo.By("waiting the cpa_sample_code pod for the resource" + resourceName.String() + "to finish successfully")
213-
e2epod.NewPodClient(f).WaitForSuccess(ctx, pod.ObjectMeta.Name, 300*time.Second)
214-
215-
output, _ := e2epod.GetPodLogs(ctx, f.ClientSet, f.Namespace.Name, pod.ObjectMeta.Name, pod.Spec.Containers[0].Name)
216215

217-
framework.Logf("cpa_sample_code output:\n %s", output)
216+
err = e2epod.WaitForPodSuccessInNamespaceTimeout(ctx, f.ClientSet, pod.ObjectMeta.Name, f.Namespace.Name, 300*time.Second)
217+
gomega.Expect(err).To(gomega.BeNil(), utils.GetPodLogs(ctx, f, pod.ObjectMeta.Name, pod.Spec.Containers[0].Name))
218218
}

test/e2e/sgx/sgx.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121

2222
"github.com/intel/intel-device-plugins-for-kubernetes/test/e2e/utils"
2323
"github.com/onsi/ginkgo/v2"
24+
"github.com/onsi/gomega"
2425
v1 "k8s.io/api/core/v1"
2526
"k8s.io/apimachinery/pkg/api/resource"
2627
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -115,8 +116,8 @@ func describe() {
115116
framework.ExpectNoError(err, "pod Create API error")
116117

117118
ginkgo.By("waiting the pod to finish successfully")
118-
119-
e2epod.NewPodClient(f).WaitForSuccess(ctx, pod.ObjectMeta.Name, 60*time.Second)
119+
err = e2epod.WaitForPodSuccessInNamespaceTimeout(ctx, f.ClientSet, pod.ObjectMeta.Name, f.Namespace.Name, 60*time.Second)
120+
gomega.Expect(err).To(gomega.BeNil(), utils.GetPodLogs(ctx, f, pod.ObjectMeta.Name, "testcontainer"))
120121
})
121122
})
122123

0 commit comments

Comments
 (0)