Page MenuHomePhabricator
Paste P22613

Orch anlayze POC
ActivePublic

Authored by Ladsgroup on Mar 15 2022, 7:20 PM.
Tags
None
Referenced Files
F35008765: Orch anlayze POC
Mar 16 2022, 2:11 PM
F35008762: Orch anlayze POC
Mar 16 2022, 2:11 PM
F35007416: Orch anlayze POC
Mar 15 2022, 7:20 PM
Subscribers
None
function report(section) {
let fetchRes = fetch("https://orchestrator.wikimedia.org/api/cluster/alias/" + section);
fetchRes.then(res =>
res.json()).then(d => {
let db_data = [];
for (let i = 0, len = d.length; i < len; i++) {
let db = d[i];
if (db.Key.Hostname.startsWith('dbstore')) {
// let's not promote dbstore to master
continue;
}
if (db.MasterKey.Hostname + ':' + db.MasterKey.Port != db.ClusterName) {
// Not a direct replica
continue;
}
if (db.Replicas.length) {
// Has replicas already, don't do it
continue;
}
let name = db.Key.Hostname + ':' + db.Key.Port;
db_data_name = {name: name};
if (db.Problems) {
db_data_name.Problems = db.Problems;
}
db_data_name.multiinstace = db.Key.Port != 3306;
db_data_name.position = db.ExecBinlogCoordinates.LogPos;
db_data.push(db_data_name);
}
db_data.sort(function(a, b){return b.position-a.position});
for (let i = 0, len = d.length; i < len; i++) {
console.log(db_data[i]);
}
});
}