RESP_NOT_FOUND = 404
-con_header = {'Accept': 'application/json', 'content-type': 'application/json'}
-authentication = ('admin', 'admin')
+con_header = {"Accept": "application/json", "content-type": "application/json"}
+authentication = ("admin", "admin")
def validate_cluster(ipaddress):
sys.exit(1)
data = json.loads(resp.content)
- cluster_status = data['value']['ClusterStatus']
+ cluster_status = data["value"]["ClusterStatus"]
status = json.loads(cluster_status)
- members = status['members']
+ members = status["members"]
member_list = []
entity_owner_list = []
# spliting the ip address of the node from json object
# sample json data
# "akka.tcp://opendaylight-cluster-data@10.106.138.137:2550"
- ip = re.search('@(.+?):', member['address']).group(1)
- node_status = ip + "-" + member['status']
+ ip = re.search("@(.+?):", member["address"]).group(1)
+ node_status = ip + "-" + member["status"]
member_list.append(node_status)
- url1 = "http://" + ip +\
- ":8181/jolokia/read/org.opendaylight.controller:"\
- "Category=ShardManager,name=shard-manager-operational,"\
- "type=DistributedOperationalDatastore"
+ url1 = (
+ "http://" + ip + ":8181/jolokia/read/org.opendaylight.controller:"
+ "Category=ShardManager,name=shard-manager-operational,"
+ "type=DistributedOperationalDatastore"
+ )
resp1 = requests.get(url1, headers=con_header, auth=authentication)
if resp1.status_code != RESP_GET_SUCCESS:
print("error in getting response for the node", ip)
print("response content", resp1.content)
continue
data2 = json.loads(resp1.content)
- member_role = data2['value']['MemberName']
+ member_role = data2["value"]["MemberName"]
entity_owner_list.append(ip + ":" + member_role)
- leader = data['value']['Leader']
+ leader = data["value"]["Leader"]
- leaderNode = leader[leader.index('@') + 1:leader.rindex(':')]
+ leaderNode = leader[leader.index("@") + 1 : leader.rindex(":")]
for leader_node in member_list:
- address = leader_node.split('-')
+ address = leader_node.split("-")
if address[0] == leaderNode:
print("=================== Leader Node ======================\n")
print(leader_node)
print("response content", resp.content)
sys.exit(1)
data = json.loads(resp.content)
- ovsdb = data['entity-owners']['entity-type']
+ ovsdb = data["entity-owners"]["entity-type"]
print("\n\n=================== Entity Details ===================\n")
for e_type in ovsdb:
- entities = e_type['entity']
+ entities = e_type["entity"]
for entity in entities:
- id = entity['id']
- if len(entity['owner']) > 0:
- print("NODE ID", str(id[id.rindex('=') + 2:len(id) - 2]))
- print("OWNER", str(entity['owner']))
+ id = entity["id"]
+ if len(entity["owner"]) > 0:
+ print("NODE ID", str(id[id.rindex("=") + 2 : len(id) - 2]))
+ print("OWNER", str(entity["owner"]))
for owner in entity_owner_list:
- owner_role = owner.split(':')
- if entity['owner'] == owner_role[1]:
+ owner_role = owner.split(":")
+ if entity["owner"] == owner_role[1]:
print("IP Address", str(owner_role[0]))
print("\n")
# Main Block
-if __name__ == '__main__':
- print('*****Cluster Status******')
+if __name__ == "__main__":
+ print("*****Cluster Status******")
ipaddress = raw_input("Please enter ipaddress to find Leader Node : ")
validate_cluster(ipaddress)