Skip to content

Commit 1f1435e

Browse files
authored
[chore] retry installing the pod monitor until CRDs are all deployed (#1380)
1 parent a40f8c2 commit 1f1435e

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

functional_tests/functional_test.go

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -334,14 +334,18 @@ func deployChartsAndApps(t *testing.T) {
334334
Version: "v1",
335335
Resource: "podmonitors",
336336
}
337-
_, err = dynamicClient.Resource(g).Namespace("default").Create(context.Background(), podMonitor.(*unstructured.Unstructured), metav1.CreateOptions{})
338-
if err != nil {
339-
_, err2 := dynamicClient.Resource(g).Namespace("default").Update(context.Background(), podMonitor.(*unstructured.Unstructured), metav1.UpdateOptions{})
340-
assert.NoError(t, err2)
341-
if err2 != nil {
342-
require.NoError(t, err)
337+
// CRDs sometimes take time to register. We retry deploying the pod monitor until such a time all CRDs are deployed.
338+
require.EventuallyWithT(t, func(tt *assert.CollectT) {
339+
_, err = dynamicClient.Resource(g).Namespace("default").Create(context.Background(), podMonitor.(*unstructured.Unstructured), metav1.CreateOptions{})
340+
if err != nil {
341+
_, err2 := dynamicClient.Resource(g).Namespace("default").Update(context.Background(), podMonitor.(*unstructured.Unstructured), metav1.UpdateOptions{})
342+
assert.NoError(tt, err2)
343+
if err2 != nil {
344+
assert.NoError(tt, err)
345+
}
343346
}
344-
}
347+
}, 1*time.Minute, 5*time.Second)
348+
345349
// Service
346350
stream, err = os.ReadFile(filepath.Join(testDir, manifestsDir, "service.yaml"))
347351
require.NoError(t, err)

0 commit comments

Comments
 (0)