Skip to content

Commit 1a2cfff

Browse files
author
OpenShift Bot
authored
Merge pull request #13261 from smarterclayton/wait_for_capable
Merged by openshift-bot
2 parents da719a3 + 9390478 commit 1a2cfff

File tree

1 file changed

+6
-0
lines changed
  • pkg/cmd/server/etcd/etcdserver

1 file changed

+6
-0
lines changed

pkg/cmd/server/etcd/etcdserver/run.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
"github.com/coreos/etcd/embed"
99
"github.com/coreos/etcd/pkg/osutil"
1010
"github.com/coreos/etcd/pkg/types"
11+
"github.com/coreos/go-semver/semver"
1112
"github.com/golang/glog"
1213

1314
configapi "github.com/openshift/origin/pkg/cmd/server/api"
@@ -74,6 +75,11 @@ func RunEtcd(etcdServerConfig *configapi.EtcdConfig) {
7475

7576
select {
7677
case <-e.Server.ReadyNotify():
78+
// embedded servers must negotiate to reach v3 mode, this ensures we loop until that happens
79+
glog.V(4).Infof("Waiting for etcd to reach cluster version 3.0.0")
80+
for min := semver.Must(semver.NewVersion("3.0.0")); e.Server.ClusterVersion() == nil || e.Server.ClusterVersion().LessThan(*min); {
81+
time.Sleep(25 * time.Millisecond)
82+
}
7783
glog.Infof("Started etcd at %s", etcdServerConfig.Address)
7884
case <-time.After(60 * time.Second):
7985
glog.Warning("etcd took too long to start, stopped")

0 commit comments

Comments
 (0)