Skip to content

Commit abe8032

Browse files
committed
fix: improve type annotations and etcd header extraction
- Add proper type annotations to _get_etcd_stats return type and stats variable - Extract header field from v3 API response for cluster_id and member_id - Update comment to clarify header extraction purpose Signed-off-by: Keiven Chang <[email protected]>
1 parent 83acd7c commit abe8032

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

deploy/dynamo_check.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -918,13 +918,13 @@ def _get_etcd_info(self, host: str, port: int) -> Optional[dict]:
918918
pass
919919
return None
920920

921-
def _get_etcd_stats(self, host: str, port: int) -> Optional[dict]:
921+
def _get_etcd_stats(self, host: str, port: int) -> Optional[Dict[str, Any]]:
922922
"""Get etcd statistics including uptime and member info."""
923923
try:
924924
import json
925925
import urllib.request
926926

927-
stats = {}
927+
stats: Dict[str, Any] = {}
928928

929929
# Try to get leader stats for uptime
930930
try:
@@ -959,7 +959,7 @@ def _get_etcd_stats(self, host: str, port: int) -> Optional[dict]:
959959
except Exception:
960960
pass
961961

962-
# Try to get cluster member information
962+
# Try to get cluster member information and header (cluster_id)
963963
try:
964964
members_url = f"http://{host}:{port}/v2/members"
965965
req = urllib.request.Request(members_url)
@@ -968,7 +968,6 @@ def _get_etcd_stats(self, host: str, port: int) -> Optional[dict]:
968968
if "members" in members_data:
969969
stats["members"] = len(members_data["members"])
970970
except Exception:
971-
# Try v3 API for members
972971
try:
973972
members_url = f"http://{host}:{port}/v3/cluster/member/list"
974973
data: dict[str, str] = {}
@@ -981,6 +980,8 @@ def _get_etcd_stats(self, host: str, port: int) -> Optional[dict]:
981980
members_data = json.loads(response.read().decode())
982981
if "members" in members_data:
983982
stats["members"] = len(members_data["members"])
983+
if "header" in members_data:
984+
stats["header"] = members_data["header"]
984985
except Exception:
985986
pass
986987

0 commit comments

Comments
 (0)