summaryrefslogtreecommitdiff
path: root/web/share/js/ipmi/main.js
diff options
context:
space:
mode:
Diffstat (limited to 'web/share/js/ipmi/main.js')
-rw-r--r--web/share/js/ipmi/main.js73
1 files changed, 44 insertions, 29 deletions
diff --git a/web/share/js/ipmi/main.js b/web/share/js/ipmi/main.js
index ff3032f5..2c48e7d3 100644
--- a/web/share/js/ipmi/main.js
+++ b/web/share/js/ipmi/main.js
@@ -23,36 +23,51 @@
"use strict";
-import {$} from "../tools.js";
+import {$, tools} from "../tools.js";
export function main() {
- let host = window.location.hostname;
- let site = `${window.location.protocol}//${window.location.host}`;
- $("ipmi-text").innerHTML = `
- <span class="code-comment"># Power on the server if it's off:<br>
- $</span> ipmitool -I lanplus -U admin -P admin -H ${host} power on<br>
- <span class="code-comment">$</span> curl -XPOST -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\<br>
- &nbsp;&nbsp;&nbsp;&nbsp;${site}/api/atx/power?action=on<br>
- <br>
- <span class="code-comment"># Soft power off the server if it's on:<br>
- $</span> ipmitool -I lanplus -U admin -P admin -H ${host} power soft<br>
- <span class="code-comment">$</span> curl -XPOST -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\<br>
- &nbsp;&nbsp;&nbsp;&nbsp;${site}/api/atx/power?action=off<br>
- <br>
- <span class="code-comment"># Hard power off the server if it's on:<br>
- $</span> ipmitool -I lanplus -U admin -P admin -H ${host} power off<br>
- <span class="code-comment">$</span> curl -XPOST -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\<br>
- &nbsp;&nbsp;&nbsp;&nbsp;${site}/api/atx/power?action=off_hard<br>
- <br>
- <span class="code-comment"># Hard reset the server if it's on:<br>
- $</span> ipmitool -I lanplus -U admin -P admin -H ${host} power reset<br>
- <span class="code-comment">$</span> curl -XPOST -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\<br>
- &nbsp;&nbsp;&nbsp;&nbsp;${site}/api/atx/power?action=reset_hard<br>
- <br>
- <span class="code-comment"># Check the power status:<br>
- $</span> ipmitool -I lanplus -U admin -P admin -H ${host} power status<br>
- <span class="code-comment">$</span> curl -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\<br>
- &nbsp;&nbsp;&nbsp;&nbsp;${site}/api/atx
- `;
+ __loadKvmdInfo();
+}
+
+function __loadKvmdInfo() {
+ let http = tools.makeRequest("GET", "/api/info", function() {
+ if (http.readyState === 4) {
+ if (http.status === 200) {
+ let port = JSON.parse(http.responseText).result.extras.ipmi.port;
+ let host = window.location.hostname;
+ let site = `${window.location.protocol}//${window.location.host}`;
+ $("ipmi-text").innerHTML = `
+ <span class="code-comment"># Power on the server if it's off:<br>
+ $</span> ipmitool -I lanplus -U admin -P admin -H ${host} -p ${port} power on<br>
+ <span class="code-comment">$</span> curl -XPOST -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;${site}/api/atx/power?action=on<br>
+ <br>
+ <span class="code-comment"># Soft power off the server if it's on:<br>
+ $</span> ipmitool -I lanplus -U admin -P admin -H ${host} -p ${port} power soft<br>
+ <span class="code-comment">$</span> curl -XPOST -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;${site}/api/atx/power?action=off<br>
+ <br>
+ <span class="code-comment"># Hard power off the server if it's on:<br>
+ $</span> ipmitool -I lanplus -U admin -P admin -H ${host} -p ${port} power off<br>
+ <span class="code-comment">$</span> curl -XPOST -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;${site}/api/atx/power?action=off_hard<br>
+ <br>
+ <span class="code-comment"># Hard reset the server if it's on:<br>
+ $</span> ipmitool -I lanplus -U admin -P admin -H ${host} -p ${port} power reset<br>
+ <span class="code-comment">$</span> curl -XPOST -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;${site}/api/atx/power?action=reset_hard<br>
+ <br>
+ <span class="code-comment"># Check the power status:<br>
+ $</span> ipmitool -I lanplus -U admin -P admin -H ${host} -p ${port} power status<br>
+ <span class="code-comment">$</span> curl -HX-KVMD-User:admin -HX-KVMD-Passwd:admin -k \\<br>
+ &nbsp;&nbsp;&nbsp;&nbsp;${site}/api/atx
+ `;
+ } else if (http.status === 401 || http.status === 403) {
+ document.location.href = "/login";
+ } else {
+ setTimeout(__loadKvmdInfo, 1000);
+ }
+ }
+ });
}