@@ -78,12 +78,30 @@ func verifyCatalogEndpoint(ctx SpecContext, catalog, endpoint, query string) {
7878 strings .ReplaceAll (endpoint , "?" , "" ),
7979 strings .ReplaceAll (catalog , "-" , "" ))
8080
81- job := buildCurlJob (ctx , jobNamePrefix , "default" , serviceURL )
81+ // create service account object
82+ serviceAccount := & corev1.ServiceAccount {
83+ ObjectMeta : metav1.ObjectMeta {
84+ Name : jobNamePrefix ,
85+ Namespace : "default" ,
86+ },
87+ }
88+
89+ serviceAccount .SetName (jobNamePrefix )
90+ serviceAccount .SetNamespace ("default" )
91+
92+ err = k8sClient .Create (ctx , serviceAccount )
93+
94+ if err != nil && ! apierrors .IsAlreadyExists (err ) {
95+ Fail (fmt .Sprintf ("Failed to ensure ServiceAccount %s: %v" , jobNamePrefix , err ))
96+ }
97+
98+ job := buildCurlJob (jobNamePrefix , "default" , serviceURL , serviceAccount )
8299 err = k8sClient .Create (ctx , job )
83100 Expect (err ).NotTo (HaveOccurred (), "failed to create Job" )
84101
85102 DeferCleanup (func (ctx SpecContext ) {
86103 _ = k8sClient .Delete (ctx , job )
104+ _ = k8sClient .Delete (ctx , serviceAccount )
87105 })
88106
89107 By ("Waiting for Job to succeed" )
@@ -229,29 +247,7 @@ var _ = Describe("[sig-olmv1][OCPFeatureGate:NewOLM][Skipped:Disconnected] OLMv1
229247 })
230248})
231249
232- func buildCurlJob (ctx SpecContext , prefix , namespace , url string ) * batchv1.Job {
233- // create service account object
234- serviceAccount := & corev1.ServiceAccount {
235- ObjectMeta : metav1.ObjectMeta {
236- Name : prefix ,
237- Namespace : namespace ,
238- },
239- }
240-
241- serviceAccount .SetName (prefix )
242- serviceAccount .SetNamespace (namespace )
243-
244- k8sClient := env .Get ().K8sClient
245-
246- err := k8sClient .Create (ctx , serviceAccount )
247- if err != nil && ! apierrors .IsAlreadyExists (err ) {
248- Fail (fmt .Sprintf ("Failed to ensure ServiceAccount %s: %v" , prefix , err ))
249- }
250-
251- DeferCleanup (func (ctx SpecContext ) {
252- _ = k8sClient .Delete (ctx , serviceAccount )
253- })
254-
250+ func buildCurlJob (prefix , namespace , url string , serviceAccount * corev1.ServiceAccount ) * batchv1.Job {
255251 backoff := int32 (1 )
256252 // This means the k8s garbage collector will automatically delete the job 5 minutes
257253 // after it has completed or failed.
0 commit comments