Skip to content

Commit 255cc9c

Browse files
committed
waitOcpVersionsInitialized with len of list
1 parent 4fc774f commit 255cc9c

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

pkg/frontend/changefeed.go

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -120,19 +120,26 @@ func (f *frontend) updateOcpVersions(docs []*api.OpenShiftVersionDocument) {
120120
}
121121

122122
func (f *frontend) waitOcpVersionsInitialized() error {
123+
f.ocpVersionsMu.RLock()
124+
defer f.ocpVersionsMu.RUnlock()
125+
123126
timeout := time.After(10 * time.Second)
124127
ticker := time.NewTicker(500 * time.Millisecond)
125128
defer ticker.Stop()
126129

127-
for f.lastOcpVersionsChangefeed.Load() == nil {
128-
f.baseLog.Infof("OCP versions not yet initialized, waiting for it...")
130+
for len(f.enabledOcpVersions) == 0 {
131+
f.ocpVersionsMu.RUnlock()
132+
// Leave some time for changefeed to define versions in updateOcpVersions
133+
f.baseLog.Infof("No, OCP version list defined yet, waiting for it...")
129134
select {
130-
case <-ticker.C:
131135
case <-timeout:
132-
f.baseLog.Error("Server do not have initialized OCP version within timeout")
133-
return api.NewCloudError(http.StatusInternalServerError, api.CloudErrorCodeInternalServerError, "properties.clusterProfile.version", "No OpenShift version list defined on server side.")
136+
f.baseLog.Error("Cluster creation failed with internal server error because server do not have any version list defined.")
137+
return api.NewCloudError(http.StatusInternalServerError, api.CloudErrorCodeInternalServerError, "properties.clusterProfile.version", "No OpenShift version list defined.")
138+
case <-ticker.C:
139+
f.ocpVersionsMu.RLock()
134140
}
135141
}
142+
136143
return nil
137144
}
138145

0 commit comments

Comments
 (0)