Skip to content

Commit 9768d61

Browse files
author
Per Goncalves da Silva
committed
make installplan test case more robust to update conflict errors
Signed-off-by: Per Goncalves da Silva <[email protected]>
1 parent 11a0414 commit 9768d61

File tree

1 file changed

+20
-6
lines changed

1 file changed

+20
-6
lines changed

test/e2e/installplan_e2e_test.go

+20-6
Original file line numberDiff line numberDiff line change
@@ -2263,12 +2263,26 @@ var _ = Describe("Install Plan", func() {
22632263
Permissions: permissions,
22642264
ClusterPermissions: clusterPermissions,
22652265
}
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())
22722286

22732287
By(`Wait for csv to update`)
22742288
_, err = fetchCSV(crc, generatedNamespace.GetName(), csv.GetName(), csvSucceededChecker)

0 commit comments

Comments
 (0)