import json
import requests
import sys
data_ = requests.get('https://orchestrator.wikimedia.org/api/cluster/alias/' + sys.argv[1]).json()
db_data = []
for db in data_:
analyzed_db = {}
if db['Key']['Hostname'].startswith('dbstore'):
# let's not promote dbstore to master
continue
if db['MasterKey']['Hostname'] + ':' + str(db['MasterKey']['Port']) != db['ClusterName']:
# not a direct replica
continue
analyzed_db['has replicas'] = bool(db['Replicas'])
name = db['Key']['Hostname'] + ':' + str(db['Key']['Port'])
analyzed_db['name'] = name
analyzed_db['problems'] = db['Problems']
analyzed_db['multiinstace'] = db['Key']['Port'] != 3306
analyzed_db['position'] = db['ExecBinlogCoordinates']['LogPos']
db_data.append(analyzed_db)
db_data = sorted(db_data, key=lambda i: i['position'], reverse=True)
print('\n'.join([json.dumps(i) for i in db_data]))