Skip to content

Commit 99feca6

Browse files
Refactor e2e test infrastructure with unified helpers leveraging GPU operator clientsets
Signed-off-by: Karthik Vetrivel <[email protected]>
1 parent 95acb18 commit 99feca6

File tree

13 files changed

+1286
-186
lines changed

13 files changed

+1286
-186
lines changed

tests/e2e/go.mod

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@ module github.com/NVIDIA/gpu-operator/tests/e2e
33
go 1.24.3
44

55
require (
6+
github.com/NVIDIA/gpu-operator v0.0.0-00010101000000-000000000000
67
github.com/mittwald/go-helm-client v0.12.18
78
github.com/onsi/ginkgo/v2 v2.26.0
89
github.com/onsi/gomega v1.38.2
910
k8s.io/api v0.33.2
1011
k8s.io/apimachinery v0.33.2
1112
k8s.io/client-go v0.33.2
1213
k8s.io/klog/v2 v2.130.1
14+
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397
1315
)
1416

1517
require (
@@ -21,6 +23,8 @@ require (
2123
github.com/Masterminds/semver/v3 v3.4.0 // indirect
2224
github.com/Masterminds/sprig/v3 v3.3.0 // indirect
2325
github.com/Masterminds/squirrel v1.5.4 // indirect
26+
github.com/NVIDIA/k8s-kata-manager v0.2.3 // indirect
27+
github.com/NVIDIA/k8s-operator-libs v0.0.0-20250709180754-c80af13d73e3 // indirect
2428
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
2529
github.com/blang/semver/v4 v4.0.0 // indirect
2630
github.com/chai2010/gettext-go v1.0.2 // indirect
@@ -32,6 +36,7 @@ require (
3236
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
3337
github.com/emicklei/go-restful/v3 v3.11.2 // indirect
3438
github.com/evanphx/json-patch v5.9.11+incompatible // indirect
39+
github.com/evanphx/json-patch/v5 v5.9.11 // indirect
3540
github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f // indirect
3641
github.com/fatih/color v1.16.0 // indirect
3742
github.com/fxamacker/cbor/v2 v2.8.0 // indirect
@@ -83,18 +88,16 @@ require (
8388
github.com/opencontainers/image-spec v1.1.1 // indirect
8489
github.com/peterbourgon/diskv v2.0.1+incompatible // indirect
8590
github.com/pkg/errors v0.9.1 // indirect
86-
github.com/prometheus/client_model v0.6.2 // indirect
87-
github.com/prometheus/common v0.65.0 // indirect
88-
github.com/prometheus/procfs v0.16.1 // indirect
91+
github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.83.0 // indirect
92+
github.com/regclient/regclient v0.9.2 // indirect
8993
github.com/rivo/uniseg v0.4.4 // indirect
9094
github.com/rubenv/sql-migrate v1.8.0 // indirect
9195
github.com/russross/blackfriday/v2 v2.1.0 // indirect
9296
github.com/shopspring/decimal v1.4.0 // indirect
9397
github.com/sirupsen/logrus v1.9.3 // indirect
9498
github.com/spf13/cast v1.7.0 // indirect
9599
github.com/spf13/cobra v1.9.1 // indirect
96-
github.com/spf13/pflag v1.0.6 // indirect
97-
github.com/stretchr/testify v1.11.1 // indirect
100+
github.com/spf13/pflag v1.0.7 // indirect
98101
github.com/x448/float16 v0.8.4 // indirect
99102
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
100103
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
@@ -119,7 +122,7 @@ require (
119122
golang.org/x/tools v0.37.0 // indirect
120123
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect
121124
google.golang.org/grpc v1.73.0 // indirect
122-
google.golang.org/protobuf v1.36.7 // indirect
125+
google.golang.org/protobuf v1.36.8 // indirect
123126
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
124127
gopkg.in/inf.v0 v0.9.1 // indirect
125128
gopkg.in/yaml.v3 v3.0.1 // indirect
@@ -130,14 +133,14 @@ require (
130133
k8s.io/component-base v0.33.2 // indirect
131134
k8s.io/kube-openapi v0.0.0-20250610211856-8b98d1ed966a // indirect
132135
k8s.io/kubectl v0.33.2 // indirect
133-
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 // indirect
134136
oras.land/oras-go/v2 v2.6.0 // indirect
137+
sigs.k8s.io/controller-runtime v0.21.0 // indirect
135138
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
136139
sigs.k8s.io/kustomize/api v0.19.0 // indirect
137140
sigs.k8s.io/kustomize/kyaml v0.19.0 // indirect
138141
sigs.k8s.io/randfill v1.0.0 // indirect
139142
sigs.k8s.io/structured-merge-diff/v4 v4.7.0 // indirect
140-
sigs.k8s.io/yaml v1.5.0 // indirect
143+
sigs.k8s.io/yaml v1.6.0 // indirect
141144
)
142145

143146
// Use local operator module during development

tests/e2e/go.sum

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe
2020
github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0=
2121
github.com/Masterminds/squirrel v1.5.4 h1:uUcX/aBc8O7Fg9kaISIUsHXdKuqehiXAMQTYX8afzqM=
2222
github.com/Masterminds/squirrel v1.5.4/go.mod h1:NNaOrjSoIDfDA40n7sr2tPNZRfjzjA400rg+riTZj10=
23+
github.com/NVIDIA/k8s-kata-manager v0.2.3 h1:d5+gRFqU5el/fKMXhHUaPY7haj+dbHL4nDsO/q05LBo=
24+
github.com/NVIDIA/k8s-kata-manager v0.2.3/go.mod h1:xx5OUiMsHyKbyX0JjKHqAftvqS8vx00LFn/5EaMdtB4=
25+
github.com/NVIDIA/k8s-operator-libs v0.0.0-20250709180754-c80af13d73e3 h1:vGT+oyUY7kOGLd71Cz0NfRVEep23jdd4fi+PYsZEj88=
26+
github.com/NVIDIA/k8s-operator-libs v0.0.0-20250709180754-c80af13d73e3/go.mod h1:0GPZJRwr6nY1IVhGUyzG9YfKhNFQq8UlhYe4u7jVF0U=
2327
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
2428
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
2529
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so=
@@ -71,6 +75,8 @@ github.com/emicklei/go-restful/v3 v3.11.2 h1:1onLa9DcsMYO9P+CXaL0dStDqQ2EHHXLiz+
7175
github.com/emicklei/go-restful/v3 v3.11.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
7276
github.com/evanphx/json-patch v5.9.11+incompatible h1:ixHHqfcGvxhWkniF1tWxBHA0yb4Z+d1UQi45df52xW8=
7377
github.com/evanphx/json-patch v5.9.11+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
78+
github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU=
79+
github.com/evanphx/json-patch/v5 v5.9.11/go.mod h1:3j+LviiESTElxA4p3EMKAB9HXj3/XEtnUf6OZxqIQTM=
7480
github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f h1:Wl78ApPPB2Wvf/TIe2xdyJxTlb6obmF18d8QdkxNDu4=
7581
github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f/go.mod h1:OSYXu++VVOHnXeitef/D8n/6y4QV8uLHSFXX4NeXMGc=
7682
github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
@@ -97,6 +103,8 @@ github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
97103
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
98104
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
99105
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
106+
github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ=
107+
github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg=
100108
github.com/go-openapi/jsonpointer v0.21.1 h1:whnzv/pNXtK2FbX/W9yJfRmE2gsmkfahjMKB0fZvcic=
101109
github.com/go-openapi/jsonpointer v0.21.1/go.mod h1:50I1STOfbY1ycR8jGz8DaMeLCdXiI6aDteEdRNNzpdk=
102110
github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ=
@@ -240,12 +248,14 @@ github.com/poy/onpar v1.1.2 h1:QaNrNiZx0+Nar5dLgTVp5mXkyoVFIbepjyEoGSnhbAY=
240248
github.com/poy/onpar v1.1.2/go.mod h1:6X8FLNoxyr9kkmnlqpK6LSoiOtrO6MICtWwEuWkLjzg=
241249
github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g=
242250
github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U=
243-
github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q=
244-
github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0=
251+
github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.83.0 h1:j9Ce3W6X6Tzi0QnSap+YzGwpqJLJGP/7xV6P9f86jjM=
252+
github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring v0.83.0/go.mod h1:sSxwdmprUfmRfTknPc4KIjUd2ZIc/kirw4UdXNhOauM=
253+
github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o=
254+
github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg=
245255
github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk=
246256
github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE=
247-
github.com/prometheus/common v0.65.0 h1:QDwzd+G1twt//Kwj/Ww6E9FQq1iVMmODnILtW1t2VzE=
248-
github.com/prometheus/common v0.65.0/go.mod h1:0gZns+BLRQ3V6NdaerOhMbwwRbNh9hkGINtQAsP5GS8=
257+
github.com/prometheus/common v0.66.1 h1:h5E0h5/Y8niHc5DlaLlWLArTQI7tMrsfQjHV+d9ZoGs=
258+
github.com/prometheus/common v0.66.1/go.mod h1:gcaUsgf3KfRSwHY4dIMXLPV0K/Wg1oZ8+SbZk/HH/dA=
249259
github.com/prometheus/procfs v0.16.1 h1:hZ15bTNuirocR6u0JZ6BAHHmwS1p8B4P6MRqxtzMyRg=
250260
github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is=
251261
github.com/redis/go-redis/extra/rediscmd/v9 v9.0.5 h1:EaDatTxkdHG+U3Bk4EUr+DZ7fOGwTfezUiUJMaIcaho=
@@ -254,6 +264,8 @@ github.com/redis/go-redis/extra/redisotel/v9 v9.0.5 h1:EfpWLLCyXw8PSM2/XNJLjI3Pb
254264
github.com/redis/go-redis/extra/redisotel/v9 v9.0.5/go.mod h1:WZjPDy7VNzn77AAfnAfVjZNvfJTYfPetfZk5yoSTLaQ=
255265
github.com/redis/go-redis/v9 v9.7.3 h1:YpPyAayJV+XErNsatSElgRZZVCwXX9QzkKYNvO7x0wM=
256266
github.com/redis/go-redis/v9 v9.7.3/go.mod h1:bGUrSggJ9X9GUmZpZNEOQKaANxSGgOEBRltRTZHSvrA=
267+
github.com/regclient/regclient v0.9.2 h1:5mJYY3NSV7xtBCv+Me3mbfcNJg9u7nrNt/Z6Od7QjVM=
268+
github.com/regclient/regclient v0.9.2/go.mod h1:QOi29pa84xH+AA56bQwQbzw3RZDwqHrG15KTXGeO+Q8=
257269
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
258270
github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
259271
github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
@@ -273,8 +285,9 @@ github.com/spf13/cast v1.7.0 h1:ntdiHjuueXFgm5nzDRdOS4yfT43P5Fnud6DH50rz/7w=
273285
github.com/spf13/cast v1.7.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
274286
github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo=
275287
github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0=
276-
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
277288
github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
289+
github.com/spf13/pflag v1.0.7 h1:vN6T9TfwStFPFM5XzjsvmzZkLuaLX+HS+0SeFLRgU6M=
290+
github.com/spf13/pflag v1.0.7/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
278291
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
279292
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
280293
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
@@ -355,6 +368,10 @@ go.uber.org/automaxprocs v1.6.0 h1:O3y2/QNTOdbF+e/dpXNNW7Rx2hZ4sTIPyybbxyNqTUs=
355368
go.uber.org/automaxprocs v1.6.0/go.mod h1:ifeIMSnPZuznNm6jmdzmU3/bfk01Fe2fotchwEFJ8r8=
356369
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
357370
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
371+
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
372+
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
373+
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
374+
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
358375
go.yaml.in/yaml/v2 v2.4.2 h1:DzmwEr2rDGHl7lsFgAHxmNz/1NlQ7xLIrlN2h5d1eGI=
359376
go.yaml.in/yaml/v2 v2.4.2/go.mod h1:081UH+NErpNdqlCXm3TtEran0rJZGxAYx9hb/ELlsPU=
360377
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
@@ -415,8 +432,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 h1:
415432
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
416433
google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok=
417434
google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc=
418-
google.golang.org/protobuf v1.36.7 h1:IgrO7UwFQGJdRNXH/sQux4R1Dj1WAKcLElzeeRaXV2A=
419-
google.golang.org/protobuf v1.36.7/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
435+
google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc=
436+
google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU=
420437
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
421438
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
422439
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
@@ -455,6 +472,8 @@ k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 h1:hwvWFiBzdWw1FhfY1FooPn3kzWuJ8
455472
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
456473
oras.land/oras-go/v2 v2.6.0 h1:X4ELRsiGkrbeox69+9tzTu492FMUu7zJQW6eJU+I2oc=
457474
oras.land/oras-go/v2 v2.6.0/go.mod h1:magiQDfG6H1O9APp+rOsvCPcW1GD2MM7vgnKY0Y+u1o=
475+
sigs.k8s.io/controller-runtime v0.21.0 h1:CYfjpEuicjUecRk+KAeyYh+ouUBn4llGyDYytIGcJS8=
476+
sigs.k8s.io/controller-runtime v0.21.0/go.mod h1:OSg14+F65eWqIu4DceX7k/+QRAbTTvxeQSNSOQpukWM=
458477
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 h1:gBQPwqORJ8d8/YNZWEjoZs7npUVDpVXUUOFfW6CgAqE=
459478
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg=
460479
sigs.k8s.io/kustomize/api v0.19.0 h1:F+2HB2mU1MSiR9Hp1NEgoU2q9ItNOaBJl0I4Dlus5SQ=
@@ -467,5 +486,5 @@ sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxO
467486
sigs.k8s.io/structured-merge-diff/v4 v4.7.0 h1:qPeWmscJcXP0snki5IYF79Z8xrl8ETFxgMd7wez1XkI=
468487
sigs.k8s.io/structured-merge-diff/v4 v4.7.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps=
469488
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
470-
sigs.k8s.io/yaml v1.5.0 h1:M10b2U7aEUY6hRtU870n2VTPgR5RZiL/I6Lcc2F4NUQ=
471-
sigs.k8s.io/yaml v1.5.0/go.mod h1:wZs27Rbxoai4C0f8/9urLZtZtF3avA3gKvGyPdDqTO4=
489+
sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs=
490+
sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4=

tests/e2e/gpu_operator_test.go

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ import (
2828

2929
"github.com/NVIDIA/gpu-operator/tests/e2e/framework"
3030
e2elog "github.com/NVIDIA/gpu-operator/tests/e2e/framework/logs"
31-
k8stest "github.com/NVIDIA/gpu-operator/tests/e2e/kubernetes"
32-
"github.com/NVIDIA/gpu-operator/tests/e2e/operator"
31+
32+
"github.com/NVIDIA/gpu-operator/tests/e2e/helpers"
3333
)
3434

3535
var _ = Describe(e2eTestPrefix+"-premerge-suite", func() {
@@ -38,21 +38,21 @@ var _ = Describe(e2eTestPrefix+"-premerge-suite", func() {
3838

3939
Describe("GPU Operator ClusterPolicy", func() {
4040
Context("When deploying gpu-operator", Ordered, func() {
41-
if tcfg.helmChart == "" {
42-
Fail("No helm-chart for gpu-operator specified")
43-
}
44-
4541
// Init global suite vars vars
4642
var (
47-
operatorClient *operator.Client
43+
operatorClient *helpers.OperatorClient
4844
helmReleaseName string
49-
k8sClient *k8stest.Client
45+
k8sClient *helpers.PodClient
5046
testNamespace *corev1.Namespace
5147
)
5248

5349
BeforeAll(func(ctx context.Context) {
50+
if tcfg.helmChart == "" {
51+
Fail("No helm-chart for gpu-operator specified")
52+
}
53+
5454
var err error
55-
k8sClient = k8stest.NewClient(f.ClientSet.CoreV1())
55+
k8sClient = helpers.NewPodClient(f.ClientSet.CoreV1())
5656
nsLabels := map[string]string{
5757
"e2e-run": string(framework.RunID),
5858
}
@@ -62,10 +62,10 @@ var _ = Describe(e2eTestPrefix+"-premerge-suite", func() {
6262
Fail(fmt.Sprintf("failed to create gpu operator namespace %s: %v", tcfg.namespace, err))
6363
}
6464

65-
operatorClient, err = operator.NewClient(
66-
operator.WithNamespace(testNamespace.Name),
67-
operator.WithKubeConfig(framework.TestContext.KubeConfig),
68-
operator.WithChart(tcfg.helmChart),
65+
operatorClient, err = helpers.NewOperatorClient(
66+
helpers.WithNamespace(testNamespace.Name),
67+
helpers.WithKubeConfig(framework.TestContext.KubeConfig),
68+
helpers.WithChart(tcfg.helmChart),
6969
)
7070
if err != nil {
7171
Fail(fmt.Sprintf("failed to instantiate gpu operator client: %v", err))
@@ -79,7 +79,7 @@ var _ = Describe(e2eTestPrefix+"-premerge-suite", func() {
7979
fmt.Sprintf("validator.image=%s", tcfg.validatorImage),
8080
fmt.Sprintf("validator.version=%s", tcfg.validatorVersion),
8181
}
82-
helmReleaseName, err = operatorClient.Install(ctx, values, operator.ChartOptions{
82+
helmReleaseName, err = operatorClient.Install(ctx, values, helpers.ChartOptions{
8383
CleanupOnFail: true,
8484
GenerateName: true,
8585
Timeout: 5 * time.Minute,
@@ -157,8 +157,12 @@ var _ = Describe(e2eTestPrefix+"-premerge-suite", func() {
157157
hasRestarts, err := k8sClient.EnsureNoPodRestarts(ctx, pod.Name, pod.Namespace)
158158
Expect(err).NotTo(HaveOccurred())
159159
if !hasRestarts {
160-
errLogs := k8sClient.GetPodLogs(ctx, pod)
161-
e2elog.Logf("printing logs from the pod %s/%s: %s", pod.Namespace, pod.Name, errLogs)
160+
errLogs, err := k8sClient.GetPodLogs(ctx, pod)
161+
if err != nil {
162+
e2elog.Logf("WARN: failed to retrieve logs from pod %s/%s: %v", pod.Namespace, pod.Name, err)
163+
} else {
164+
e2elog.Logf("printing logs from the pod %s/%s: %s", pod.Namespace, pod.Name, errLogs)
165+
}
162166
e2elog.Failf("pod %s/%s has unexpected restarts", pod.Namespace, pod.Name)
163167
}
164168
}

0 commit comments

Comments
 (0)