This is an automated email from the ASF dual-hosted git repository. rohit pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/master by this push: new f7af27c ui: added missing hypervisor options for upload template (#3367) f7af27c is described below commit f7af27c3c87442e3a0df0f91e36d03c316434078 Author: Abhishek Kumar <abhishek.mr...@gmail.com> AuthorDate: Wed Jun 5 18:44:37 2019 +0530 ui: added missing hypervisor options for upload template (#3367) Upload template form was missing some hypervisor specific options which can be seen on Register template form. For XenServer, XenServer tool version added For VMware, Root disk controller, NIC adapter type, Keyboard type added and HVM is hidden For KVM, Root disk controller added Fixes #3363 Signed-off-by: Abhishek Kumar <abhishek.mr...@gmail.com> --- ui/scripts/templates.js | 273 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 250 insertions(+), 23 deletions(-) diff --git a/ui/scripts/templates.js b/ui/scripts/templates.js index f3bed8b..43b83b2 100755 --- a/ui/scripts/templates.js +++ b/ui/scripts/templates.js @@ -296,21 +296,8 @@ } }, - // For KVM only: Direct Download - directdownload : { - label: 'label.direct.download', - docID: 'helpRegisterTemplateDirectDownload', - isBoolean: true, - dependsOn: 'hypervisor', - isHidden: true - }, - checksum: { - label: 'label.checksum', - dependsOn: 'directdownload', - isHidden: true - }, - // Direct Download - End + // fields for hypervisor == XenServer (starts here) xenserverToolsVersion61plus: { label: 'label.xenserver.tools.version.61.plus', isBoolean: true, @@ -334,8 +321,23 @@ }, isHidden: true }, + // fields for hypervisor == XenServer (ends here) - //fields for hypervisor == "KVM" (starts here) + // fields for hypervisor == "KVM" (starts here) + // Direct Download + directdownload : { + label: 'label.direct.download', + docID: 'helpRegisterTemplateDirectDownload', + isBoolean: true, + dependsOn: 'hypervisor', + isHidden: true + }, + checksum: { + label: 'label.checksum', + dependsOn: 'directdownload', + isHidden: true + }, + // Direct Download - End rootDiskControllerTypeKVM: { label: 'label.root.disk.controller', isHidden: true, @@ -366,8 +368,9 @@ }); } }, + // fields for hypervisor == "KVM" (ends here) - //fields for hypervisor == "VMware" (starts here) + // fields for hypervisor == "VMware" (starts here) rootDiskControllerType: { label: 'label.root.disk.controller', isHidden: true, @@ -460,7 +463,7 @@ }); } }, - //fields for hypervisor == "VMware" (ends here) + // fields for hypervisor == "VMware" (ends here) format: { label: 'label.format', @@ -641,15 +644,15 @@ }); } - //XenServer only (starts here) + // for hypervisor == XenServer (starts here) if (args.$form.find('.form-item[rel=xenserverToolsVersion61plus]').css("display") != "none") { $.extend(data, { 'details[0].hypervisortoolsversion': (args.data.xenserverToolsVersion61plus == "on") ? "xenserver61" : "xenserver56" }); } - //XenServer only (ends here) + // for hypervisor == XenServer (ends here) - // KVM only (starts here) + // for hypervisor == KVM (starts here) if (args.$form.find('.form-item[rel=rootDiskControllerTypeKVM]').css("display") != "none" && args.data.rootDiskControllerTypeKVM != "") { $.extend(data, { 'details[0].rootDiskController': args.data.rootDiskControllerTypeKVM @@ -662,9 +665,9 @@ 'checksum': args.data.checksum }); } - // KVM only (ends here) + // for hypervisor == KVM (ends here) - //VMware only (starts here) + // for hypervisor == VMware (starts here) if (args.$form.find('.form-item[rel=rootDiskControllerType]').css("display") != "none" && args.data.rootDiskControllerType != "") { $.extend(data, { 'details[0].rootDiskController': args.data.rootDiskControllerType @@ -680,7 +683,7 @@ 'details[0].keyboard': args.data.keyboardType }); } - //VMware only (ends here) + // for hypervisor == VMware (ends here) $.ajax({ url: createURL('registerTemplate'), @@ -732,6 +735,40 @@ hypervisor: args.data.hypervisor }; + // for hypervisor == XenServer (starts here) + if (args.$form.find('.form-item[rel=xenserverToolsVersion61plus]').css("display") != "none") { + $.extend(data, { + 'details[0].hypervisortoolsversion': (args.data.xenserverToolsVersion61plus == "on") ? "xenserver61" : "xenserver56" + }); + } + // for hypervisor == XenServer (ends here) + + // for hypervisor == KVM (starts here) + if (args.$form.find('.form-item[rel=rootDiskControllerTypeKVM]').css("display") != "none" && args.data.rootDiskControllerTypeKVM != "") { + $.extend(data, { + 'details[0].rootDiskController': args.data.rootDiskControllerTypeKVM + }); + } + // for hypervisor == KVM (ends here) + + // for hypervisor == VMware (starts here) + if (args.$form.find('.form-item[rel=rootDiskControllerType]').css("display") != "none" && args.data.rootDiskControllerType != "") { + $.extend(data, { + 'details[0].rootDiskController': args.data.rootDiskControllerType + }); + } + if (args.$form.find('.form-item[rel=nicAdapterType]').css("display") != "none" && args.data.nicAdapterType != "") { + $.extend(data, { + 'details[0].nicAdapter': args.data.nicAdapterType + }); + } + if (args.$form.find('.form-item[rel=keyboardType]').css("display") != "none" && args.data.keyboardType != "") { + $.extend(data, { + 'details[0].keyboard': args.data.keyboardType + }); + } + // for hypervisor == VMware (ends here) + if (args.$form.find('.form-item[rel=isPublic]').css("display") != "none") { $.extend(data, { ispublic: (args.data.isPublic == "on") @@ -865,8 +902,198 @@ }); } }); + args.$select.change(function() { + var $form = $(this).closest('form'); + if ($(this).val() == "VMware") { + $form.find('.form-item[rel=rootDiskControllerType]').css('display', 'inline-block'); + $form.find('.form-item[rel=nicAdapterType]').css('display', 'inline-block'); + $form.find('.form-item[rel=keyboardType]').css('display', 'inline-block'); + $form.find('.form-item[rel=xenserverToolsVersion61plus]').hide(); + $form.find('.form-item[rel=rootDiskControllerTypeKVM]').hide(); + $form.find('.form-item[rel=requireshvm]').hide(); + } else if ($(this).val() == "XenServer") { + $form.find('.form-item[rel=rootDiskControllerType]').hide(); + $form.find('.form-item[rel=nicAdapterType]').hide(); + $form.find('.form-item[rel=keyboardType]').hide(); + $form.find('.form-item[rel=rootDiskControllerTypeKVM]').hide(); + $form.find('.form-item[rel=requireshvm]').css('display', 'inline-block'); + if (isAdmin()) { + $form.find('.form-item[rel=xenserverToolsVersion61plus]').css('display', 'inline-block'); + } + } else if ($(this).val() == "KVM") { + $form.find('.form-item[rel=rootDiskControllerType]').hide(); + $form.find('.form-item[rel=nicAdapterType]').hide(); + $form.find('.form-item[rel=keyboardType]').hide(); + $form.find('.form-item[rel=xenserverToolsVersion61plus]').hide(); + $form.find('.form-item[rel=rootDiskControllerTypeKVM]').css('display', 'inline-block'); + $('#label_root_disk_controller').prop('selectedIndex', 2); + $form.find('.form-item[rel=requireshvm]').css('display', 'inline-block'); + } else { + $form.find('.form-item[rel=rootDiskControllerType]').hide(); + $form.find('.form-item[rel=nicAdapterType]').hide(); + $form.find('.form-item[rel=keyboardType]').hide(); + $form.find('.form-item[rel=xenserverToolsVersion61plus]').hide(); + $form.find('.form-item[rel=rootDiskControllerTypeKVM]').hide(); + $form.find('.form-item[rel=requireshvm]').css('display', 'inline-block'); + } + }); + args.$select.trigger('change'); + } + }, + + // fields for hypervisor == XenServer (starts here) + xenserverToolsVersion61plus: { + label: 'label.xenserver.tools.version.61.plus', + isBoolean: true, + isChecked: function (args) { + var b = true; + if (isAdmin()) { + $.ajax({ + url: createURL('listConfigurations'), + data: { + name: 'xenserver.pvdriver.version' + }, + async: false, + success: function (json) { + if (json.listconfigurationsresponse.configuration != null && json.listconfigurationsresponse.configuration[0].value != 'xenserver61') { + b = false; + } + } + }); + } + return b; + }, + isHidden: true + }, + // fields for hypervisor == XenServer (ends here) + + // fields for hypervisor == "KVM" (starts here) + rootDiskControllerTypeKVM: { + label: 'label.root.disk.controller', + isHidden: true, + select: function(args) { + var items = [] + items.push({ + id: "", + description: "" + }); + items.push({ + id: "ide", + description: "ide" + }); + items.push({ + id: "osdefault", + description: "osdefault" + }); + items.push({ + id: "scsi", + description: "virtio-scsi" + }); + items.push({ + id: "virtio", + description: "virtio" + }); + args.response.success({ + data: items + }); + } + }, + // fields for hypervisor == "KVM" (ends here) + + // fields for hypervisor == "VMware" (starts here) + rootDiskControllerType: { + label: 'label.root.disk.controller', + isHidden: true, + select: function(args) { + var items = [] + items.push({ + id: "", + description: "" + }); + items.push({ + id: "scsi", + description: "scsi" + }); + items.push({ + id: "ide", + description: "ide" + }); + items.push({ + id: "osdefault", + description: "osdefault" + }); + items.push({ + id: "pvscsi", + description: "pvscsi" + }); + items.push({ + id: "lsilogic", + description: "lsilogic" + }); + items.push({ + id: "lsisas1068", + description: "lsilogicsas" + }); + items.push({ + id: "buslogic", + description: "buslogic" + }); + args.response.success({ + data: items + }); + } + }, + nicAdapterType: { + label: 'label.nic.adapter.type', + isHidden: true, + select: function(args) { + var items = [] + items.push({ + id: "", + description: "" + }); + items.push({ + id: "E1000", + description: "E1000" + }); + items.push({ + id: "PCNet32", + description: "PCNet32" + }); + items.push({ + id: "Vmxnet2", + description: "Vmxnet2" + }); + items.push({ + id: "Vmxnet3", + description: "Vmxnet3" + }); + args.response.success({ + data: items + }); + } + }, + keyboardType: { + label: 'label.keyboard.type', + isHidden: true, + select: function(args) { + var items = [] + items.push({ + id: "", + description: "" + }); + for (var key in cloudStackOptions.keyboardOptions) { + items.push({ + id: key, + description: _l(cloudStackOptions.keyboardOptions[key]) + }); + } + args.response.success({ + data: items + }); } }, + // fields for hypervisor == "VMware" (ends here) format: { label: 'label.format',