File tree Expand file tree Collapse file tree 1 file changed +6
-0
lines changed
pkg/cmd/server/etcd/etcdserver Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Original file line number Diff line number Diff line change 8
8
"github.com/coreos/etcd/embed"
9
9
"github.com/coreos/etcd/pkg/osutil"
10
10
"github.com/coreos/etcd/pkg/types"
11
+ "github.com/coreos/go-semver/semver"
11
12
"github.com/golang/glog"
12
13
13
14
configapi "github.com/openshift/origin/pkg/cmd/server/api"
@@ -74,6 +75,11 @@ func RunEtcd(etcdServerConfig *configapi.EtcdConfig) {
74
75
75
76
select {
76
77
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
+ }
77
83
glog .Infof ("Started etcd at %s" , etcdServerConfig .Address )
78
84
case <- time .After (60 * time .Second ):
79
85
glog .Warning ("etcd took too long to start, stopped" )
You can’t perform that action at this time.
0 commit comments