1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-21 14:50:08 +03:00

B #5707: Check host VM_MAD to show VirtViewer connection (#1832)

This commit is contained in:
Frederick Borges 2022-03-10 11:36:33 +01:00 committed by GitHub
parent 50f698b443
commit 508992f8b7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 8 deletions

View File

@ -297,7 +297,7 @@ define(function(require) {
});
},
"show": function(params, resource, subresource, path) {
"show": function(params, resource, subresource, path, async = true) {
var callback = params.success;
var callbackError = params.error;
var id = params.data.id;
@ -314,6 +314,7 @@ define(function(require) {
type: "GET",
dataType: "json",
data: data,
async: async,
success: function(response) {
return callback ? callback(request, response) : null;
},

View File

@ -94,8 +94,8 @@ define(function(require) {
"list_in_zone" : function(params) {
OpenNebulaAction.list_in_zone(params, RESOURCE);
},
"show": function(params) {
OpenNebulaAction.show(params, RESOURCE);
"show": function(params, async = true) {
OpenNebulaAction.show(params, RESOURCE, null, null, async);
},
"update": function(params) {
var action_obj = {"template_raw" : params.data.extra_param};

View File

@ -22,7 +22,9 @@ define(function(require) {
OpenNebulaDS = require("./datastore"),
Locale = require("utils/locale"),
Config = require("sunstone-config"),
Navigation = require("utils/navigation");
Navigation = require("utils/navigation"),
OpenNebulaHost = require('opennebula/host');
var RESOURCE = "VM";
var VM_MONITORING_CACHE_NAME = "VM.MONITORING";
@ -1247,9 +1249,22 @@ define(function(require) {
String(element.USER_TEMPLATE.HYPERVISOR).toLowerCase() === "vcenter");
}
function isKVMVM(element = {}){
return Boolean(element.USER_TEMPLATE &&
String(element.USER_TEMPLATE.HYPERVISOR).toLowerCase() === "kvm");
function isKVMVM(hostID){
var isKVM = false;
OpenNebulaHost.show({
data : {
id: hostID
},
timeout: true,
success: function (_, hostTemplate) {
isKVM = String(hostTemplate.HOST.VM_MAD).toLowerCase() === 'kvm';
},
error: function(request, response) {
isKVM = false;
}},
false
);
return isKVM;
}
function isVMRCSupported(element = {}) {
@ -1271,7 +1286,7 @@ define(function(require) {
var actionEnabled = Config.isTabActionEnabled("vms-tab", "VM.save_virt_viewer");
var vncSupported = graphicSupported(element, "vnc");
var spiceSupported = graphicSupported(element, "spice");
var isKVM = isKVMVM(element);
var isKVM = history.HID ? isKVMVM(history.HID) : false;
return (actionEnabled && history && (vncSupported || spiceSupported) && isKVM)
? {