Skip to content

Commit

Permalink
more specific warning
Browse files Browse the repository at this point in the history
  • Loading branch information
revol.cai committed May 25, 2018
1 parent 56e29b4 commit 767d78a
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions etcd3/baseclient.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ def __init__(self, host='localhost', port=2379, protocol='http',
self.password = password
self.token = token
self.cluster_version = None
self.server_version = None
# TODO: /v3alpha will be deprecated an replaced by /v3 in v3.4
# TODO: /v3beta will be deprecated in v3.5
self.api_prefix = '/v3alpha'
Expand All @@ -81,15 +82,19 @@ def _retrieve_version(self): # pragma: no cover
r.raise_for_status()
v = r.json()
self.cluster_version = v["etcdcluster"]
if sem.Version(self.cluster_version) < sem.Version('3.3.0'):
warnings.warn(Etcd3Warning("detected etcd cluster version(%s) is lower than 3.3.0, "
"the gRPC-JSON-Gateway may not work" % self.cluster_version))
self.server_version = v["etcdserver"]
if sem.Version(self.server_version) < sem.Version('3.2.2'):
warnings.warn(Etcd3Warning("detected etcd server version(%s) is lower than 3.2.2, "
"the gRPC-JSON-Gateway may not work" % self.server_version))
if sem.Version(self.server_version) < sem.Version('3.3.0'):
warnings.warn(Etcd3Warning("detected etcd server version(%s) is lower than 3.3.0, "
"authentication methods may not work" % self.server_version))
else:
self.api_prefix = '/v3'
except Exception:
warnings.warn(Etcd3Warning("cannot detect etcd server version\n"
"1. maybe is a network problem, please check your network connection\n"
"2. maybe your etcd server version is too low, required: 3.3.0+"))
"2. maybe your etcd server version is too low, required: 3.2.2+"))

@property
def baseurl(self):
Expand Down

0 comments on commit 767d78a

Please sign in to comment.