Skip to content

Commit

Permalink
Merge pull request #20236 from deads2k/up-01-race
Browse files Browse the repository at this point in the history
handle update conflicts in webconsole component install
  • Loading branch information
deads2k authored Jul 10, 2018
2 parents 528fc4b + 21849b6 commit 328513e
Showing 1 changed file with 7 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/util/retry"

operatorversionclient "github.com/openshift/origin/pkg/cmd/openshift-operators/generated/clientset/versioned"
configapi "github.com/openshift/origin/pkg/cmd/server/apis/config"
Expand Down Expand Up @@ -106,7 +107,12 @@ func (c *WebConsoleOperatorComponentOptions) Install(dockerClient dockerhelper.I
if err != nil {
return err
}
if _, err := operatorClient.WebconsoleV1alpha1().OpenShiftWebConsoleConfigs().Update(operatorConfig); err != nil {
// 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.
err = retry.RetryOnConflict(retry.DefaultRetry, func() error {
_, err := operatorClient.WebconsoleV1alpha1().OpenShiftWebConsoleConfigs().Update(operatorConfig)
return err
})
if err != nil {
return err
}

Expand Down

0 comments on commit 328513e

Please sign in to comment.