diff --git a/etcd/embed.go b/etcd/embed.go index 77ebdb5cb..377a8ae73 100644 --- a/etcd/embed.go +++ b/etcd/embed.go @@ -482,10 +482,12 @@ func (e *Etcd) Leader() *disco.Peer { } func (e *Etcd) ClusterState(ctx context.Context) (out disco.ClusterState, err error) { - if e.e == nil { - return disco.ClusterStateUnknown, nil + if len(e.options.EtcdHosts) == 0 { + // only valid if not in external etcd mode + if e.e == nil { + return disco.ClusterStateUnknown, nil + } } - var ( heartbeats int = 0 starting bool