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 <[email protected]>
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 <[email protected]>
---
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',
