var a, selected_node, deadNode, node2; $(function() { var url = "ws://" + location.host + "/socket"; var ws = new WebSocket(url); ws.onopen = function() {ws.send(""); }; ws.onmessage = function (evt) { a = JSON.parse(evt.data); displayData(a); }; $('.tablink').css('display', 'block'); $('#mountFormTrigger').click(function(event){ var htmlSelect = ''; a.quorum.forEach(function(item) { htmlSelect += ""; }) $('#selectNode').html(htmlSelect); /* $.ajax({ url:"status", success:function(data){ var status = JSON.parse(data); var htmlSelect = ''; for (n in status["quorum"]) { htmlSelect += "";} $('#selectNode').html(htmlSelect); } }) */ }) // var ws = new WebSocket('{{escape(ws)}}'); // var cluster, selected_node, deadNode, node2; // ws.onopen = function() {ws.send(""); }; // ws.onmessage = function (evt) { // cluster = JSON.parse(evt.data); // displayData(cluster); // }; $('#mountForm').submit(function(event){ console.log('submit'); event.preventDefault(); $.ajax({ url:"mount", data:$(this).serialize(), method:'POST', success:function(data){ $('#mount').css('display', 'none'); $('input[type = "text"]').val(''); var res = JSON.parse(data); message = "

" + res["state"] + "

"+ res["message"] +"

"; $("#rspContainer").css("display", "block"); $("#rsp").html(message) if (res["state"] == 'OK'){ $("#rspContainer").css("background-color", "#4CAF50" ); } else { $("#rspContainer").css("background-color", "#f44336" ) } } }) }) }); function resolve() { $.ajax({ url:"resolve", data:{"node": deadNode}, success:function(data){ $('#details').css("display", "none"); } }) } function unmount(a, b, c) { //selected_node, mountpoint, block var u = confirm(a + ": confirm unmount of " + b); if (u == true) { $.ajax({ url:"unmount", data:{"node":a, "mountpoint":b, "block":c}, success:function(data){ var res = JSON.parse(data); message = "

" + res["state"] + "

"+ res["message"] +"

"; $("#rspContainer").css("display", "block"); $("#rsp").html(message) if (res["state"] == 'OK'){ $("#rspContainer").css("background-color", "#4CAF50" ); } else { $("#rspContainer").css("background-color", "#f44336" ); } } }) } } function displayData(a){ $("#status").html("

"+a.health+"

"); if (a.health == 'deadly.') { deadNode = a.deadlyreason["node"]; $('#showDeadlyDetails').css("display","block"); $('#resolve').css("display","block"); $("#mountFormTrigger").addClass("w3-disabled") } else { $('#showDeadlyDetails').css("display","none"); $('#resolve').css("display","none"); $("#mountFormTrigger").removeClass("w3-disabled") $('#details').css("border", "0"); } $("#statusContainer:contains('alive')").css("background-color", "#4CAF50"); $("#statusContainer:contains('resizing')").css("background-color", "#ff9800"); $("#statusContainer:contains('deadly')").css("background-color", "#f44336");; if (node2 != undefined) { var one = a.quorum.map(function(item) {return item.node}); var two = node2.quorum.map(function(item) {return item.node}); if (JSON.stringify(one) != JSON.stringify(two)) { node2 = a; w3DisplayData("id01", node2); } } else { node2 = a; w3DisplayData("id01", node2); } // if ($('.tablink').css('display') != 'block') { // $('.tablink').css('display', 'block'); // } // if (selected_node != undefined && selected_node != 'dead'){ if (selected_node != undefined){ //a.quorum.forEach(function(item) {if (item.node == selected_node) { console.log(item.node)}}) var selected_node_body = a.quorum.find(function(node) { return node.node == selected_node; }); var t = new Date(selected_node_body["updated"] * 1000) var up_formatted = t.getFullYear() + "/" + (t.getMonth() + 1) + "/" + t.getDate() + " " + t.getHours() + ":" + t.getMinutes() + ":" + t.getSeconds(); $("#name").html(selected_node); $("#ipv4").html(selected_node_body["ip"]["v4"].join("
")); $("#ipv6").html(selected_node_body["ip"]["v6"].join("
")); $("#updated").html(up_formatted); if (selected_node_body["mounts"] != null) { var mnt_block = ""; for (i in selected_node_body.mounts) { var mnt = selected_node_body.mounts[i]; mnt_block += 'unmount
Mountpoint: ' + mnt.mountpoint + '
Mountopts: ' + mnt.mountopts + '
Fstype: ' + mnt.fstype + '
Pool: ' + mnt.pool + '
Image: ' + mnt.image + '
Block: ' + mnt.block + '
'; } $("#mon").html(mnt_block); } else { $("#mon").html(""); } } // if (selected_node =='dead') { // var t, up_formatted; // if (a.deadlyreason["updated"] != 0) { // t = new Date(a.deadlyreason["updated"] * 1000) // up_formatted = t.getFullYear() + "/" // + (t.getMonth() + 1) + "/" // + t.getDate() + " " // + t.getHours() + ":" // + t.getMinutes() + ":" // + t.getSeconds(); // } else { // up_formatted=0; // } // deadNode = a.deadlyreason["node"]; // $("#name").html(a.deadlyreason["node"]); // $("#ipv4").html(a.deadlyreason["ip"]["v4"].join("
")); // $("#ipv6").html(a.deadlyreason["ip"]["v6"].join("
")); // $("#updated").html(up_formatted); // if (a.deadlyreason["mounts"] != null) { // var mnt_block = ""; // for (i in a.deadlyreason.mounts) { // var mnt = a.deadlyreason.mounts[i]; // mnt_block += mnt.mountpoint + "
" // + mnt.mountopts + "
" // + mnt.fstype + "
" // + mnt.pool + "
" // + mnt.image + "

"; // } // $("#mon").html(mnt_block); // } else { // $("#mon").html(""); // } // } $("#leader").html(a.leader); } function openNode(evt, nodeName) { // console.log(nodeName); var i, x, tablinks; selected_node = nodeName; x = document.getElementsByClassName("node"); tablinks = document.getElementsByClassName("tablink"); // if (selected_node == 'dead') { // // if (selected_node == deadNode) { // $('#details').css("border", "2px solid #f44336"); // if ($('#showDeadlyDetails').html() == "Show details") { // $('#details').css("display", "block"); // $('#showDeadlyDetails').text('Hide details'); // } else { // $('#details').css("display", "none"); // $('#showDeadlyDetails').text('Show details'); // } // // displayData(a); // } else { $('#showDeadlyDetails').text('Show details'); $('#details').css("border", "").css("display", "block"); displayData(a); // } }