@@ -267,6 +267,50 @@ metadata:
267
267
e2eConfig .GetIntervals (bootstrapClusterProxy .GetName (), "wait-controllers" )... )
268
268
})
269
269
270
+ It ("should successfully create and delete an IPAMProvider" , func () {
271
+ bootstrapCluster := bootstrapClusterProxy .GetClient ()
272
+ ipamProvider := & operatorv1.IPAMProvider {
273
+ ObjectMeta : metav1.ObjectMeta {
274
+ Name : ipamProviderName ,
275
+ Namespace : operatorNamespace ,
276
+ },
277
+ Spec : operatorv1.IPAMProviderSpec {
278
+ ProviderSpec : operatorv1.ProviderSpec {
279
+ FetchConfig : & operatorv1.FetchConfiguration {
280
+ URL : ipamProviderURL ,
281
+ },
282
+ },
283
+ },
284
+ }
285
+ deployment := & appsv1.Deployment {ObjectMeta : metav1.ObjectMeta {
286
+ Name : ipamProviderDeploymentName ,
287
+ Namespace : operatorNamespace ,
288
+ }}
289
+ Expect (bootstrapCluster .Create (ctx , ipamProvider )).To (Succeed ())
290
+
291
+ By ("Waiting for the ipam provider deployment to be ready" )
292
+ framework .WaitForDeploymentsAvailable (ctx , framework.WaitForDeploymentsAvailableInput {
293
+ Getter : bootstrapCluster ,
294
+ Deployment : deployment ,
295
+ }, e2eConfig .GetIntervals (bootstrapClusterProxy .GetName (), "wait-controllers" )... )
296
+
297
+ By ("Waiting for the ipam provider to be ready" )
298
+ WaitFor (ctx , For (ipamProvider ).In (bootstrapCluster ).ToSatisfy (
299
+ HaveStatusCondition (& ipamProvider .Status .Conditions , operatorv1 .ProviderInstalledCondition )),
300
+ e2eConfig .GetIntervals (bootstrapClusterProxy .GetName (), "wait-controllers" )... )
301
+
302
+ By ("Waiting for status.IntalledVersion to be set" )
303
+ WaitFor (ctx , For (ipamProvider ).In (bootstrapCluster ).ToSatisfy (func () bool {
304
+ return ptr .Equal (ipamProvider .Status .InstalledVersion , & ipamProvider .Spec .Version )
305
+ }), e2eConfig .GetIntervals (bootstrapClusterProxy .GetName (), "wait-controllers" )... )
306
+
307
+ Expect (bootstrapCluster .Delete (ctx , ipamProvider )).To (Succeed ())
308
+
309
+ By ("Waiting for the ipam provider deployment to be deleted" )
310
+ WaitForDelete (ctx , For (deployment ).In (bootstrapCluster ),
311
+ e2eConfig .GetIntervals (bootstrapClusterProxy .GetName (), "wait-controllers" )... )
312
+ })
313
+
270
314
It ("should successfully upgrade a CoreProvider (v1.5.4 -> latest)" , func () {
271
315
bootstrapCluster := bootstrapClusterProxy .GetClient ()
272
316
coreProvider := & operatorv1.CoreProvider {ObjectMeta : metav1.ObjectMeta {
0 commit comments