@@ -2263,12 +2263,26 @@ var _ = Describe("Install Plan", func() {
2263
2263
Permissions : permissions ,
2264
2264
ClusterPermissions : clusterPermissions ,
2265
2265
}
2266
- csv .Spec .InstallStrategy = operatorsv1alpha1.NamedInstallStrategy {
2267
- StrategyName : operatorsv1alpha1 .InstallStrategyNameDeployment ,
2268
- StrategySpec : modifiedDetails ,
2269
- }
2270
- _ , err = crc .OperatorsV1alpha1 ().ClusterServiceVersions (generatedNamespace .GetName ()).Update (context .Background (), csv , metav1.UpdateOptions {})
2271
- require .NoError (GinkgoT (), err )
2266
+
2267
+ // wrapping the csv update in an eventually helps eliminate a flake in this test
2268
+ // it can happen that the csv changes in the meantime (e.g. reconciler adds a condition)
2269
+ // and the update fails with a conflict
2270
+ Eventually (func () error {
2271
+ csv , err := crc .OperatorsV1alpha1 ().ClusterServiceVersions (generatedNamespace .GetName ()).Get (context .Background (), csv .GetName (), metav1.GetOptions {})
2272
+ if err != nil {
2273
+ return nil
2274
+ }
2275
+
2276
+ // update spec
2277
+ csv .Spec .InstallStrategy = operatorsv1alpha1.NamedInstallStrategy {
2278
+ StrategyName : operatorsv1alpha1 .InstallStrategyNameDeployment ,
2279
+ StrategySpec : modifiedDetails ,
2280
+ }
2281
+
2282
+ // update csv
2283
+ _ , err = crc .OperatorsV1alpha1 ().ClusterServiceVersions (generatedNamespace .GetName ()).Update (context .Background (), csv , metav1.UpdateOptions {})
2284
+ return err
2285
+ }).Should (Succeed ())
2272
2286
2273
2287
By (`Wait for csv to update` )
2274
2288
_ , err = fetchCSV (crc , generatedNamespace .GetName (), csv .GetName (), csvSucceededChecker )
0 commit comments