@@ -19,9 +19,11 @@ package e2e
1919import (
2020 "testing"
2121
22+ "github.com/onsi/gomega"
2223 . "github.com/onsi/gomega"
2324 mcadv1beta2 "github.com/project-codeflare/appwrapper/api/v1beta2"
2425 . "github.com/project-codeflare/codeflare-common/support"
26+ "gopkg.in/yaml.v2"
2527
2628 batchv1 "k8s.io/api/batch/v1"
2729 corev1 "k8s.io/api/core/v1"
@@ -44,6 +46,12 @@ func runMnistPyTorchAppWrapper(t *testing.T, accelerator string) {
4446
4547 // Create a namespace and localqueue in that namespace
4648 namespace := test .NewTestNamespace ()
49+
50+ test .T ().Cleanup (func () {
51+ storeLocalQueue (test , namespace )
52+ storeWorkload (test , namespace )
53+ })
54+
4755 localQueue := CreateKueueLocalQueue (test , namespace .Name , "e2e-cluster-queue" )
4856
4957 // Test configuration
@@ -171,3 +179,36 @@ func runMnistPyTorchAppWrapper(t *testing.T, accelerator string) {
171179 WithTransform (AppWrapperPhase , Equal (mcadv1beta2 .AppWrapperFailed )),
172180 ))
173181}
182+
183+ func storeLocalQueue (t Test , namespace * corev1.Namespace ) {
184+ t .T ().Helper ()
185+
186+ lqs , err := t .Client ().Kueue ().KueueV1beta1 ().LocalQueues (namespace .Name ).List (t .Ctx (), metav1.ListOptions {})
187+ t .Expect (err ).NotTo (gomega .HaveOccurred ())
188+
189+ for _ , lq := range lqs .Items {
190+ var resource map [string ]interface {}
191+ resource , err = runtime .DefaultUnstructuredConverter .ToUnstructured (& lq )
192+ t .Expect (err ).NotTo (gomega .HaveOccurred ())
193+ lqByte , err := yaml .Marshal (resource )
194+ t .Expect (err ).NotTo (gomega .HaveOccurred ())
195+
196+ WriteToOutputDir (t , lq .Name , Log , lqByte )
197+ }
198+ }
199+
200+ func storeWorkload (t Test , namespace * corev1.Namespace ) {
201+ t .T ().Helper ()
202+
203+ workloads := GetKueueWorkloads (t , namespace .Name )
204+
205+ for _ , workload := range workloads {
206+ var resource map [string ]interface {}
207+ resource , err := runtime .DefaultUnstructuredConverter .ToUnstructured (& workload )
208+ t .Expect (err ).NotTo (gomega .HaveOccurred ())
209+ workloadByte , err := yaml .Marshal (resource )
210+ t .Expect (err ).NotTo (gomega .HaveOccurred ())
211+
212+ WriteToOutputDir (t , workload .Name , Log , workloadByte )
213+ }
214+ }
0 commit comments