Skip to content

Commit 328513e

Browse files
authored
Merge pull request #20236 from deads2k/up-01-race
handle update conflicts in webconsole component install
2 parents 528fc4b + 21849b6 commit 328513e

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

pkg/oc/clusteradd/components/web-console-operator/web_console_operator.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1313
"k8s.io/apimachinery/pkg/runtime"
1414
"k8s.io/client-go/kubernetes"
15+
"k8s.io/client-go/util/retry"
1516

1617
operatorversionclient "github.com/openshift/origin/pkg/cmd/openshift-operators/generated/clientset/versioned"
1718
configapi "github.com/openshift/origin/pkg/cmd/server/apis/config"
@@ -106,7 +107,12 @@ func (c *WebConsoleOperatorComponentOptions) Install(dockerClient dockerhelper.I
106107
if err != nil {
107108
return err
108109
}
109-
if _, err := operatorClient.WebconsoleV1alpha1().OpenShiftWebConsoleConfigs().Update(operatorConfig); err != nil {
110+
// we can race a controller. It's not a big deal if we're a little late, so retry on conflict. It's easier than a patch.
111+
err = retry.RetryOnConflict(retry.DefaultRetry, func() error {
112+
_, err := operatorClient.WebconsoleV1alpha1().OpenShiftWebConsoleConfigs().Update(operatorConfig)
113+
return err
114+
})
115+
if err != nil {
110116
return err
111117
}
112118

0 commit comments

Comments
 (0)