You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by je...@apache.org on 2013/10/22 23:02:41 UTC

git commit: updated refs/heads/4.2 to c212574

Updated Branches:
  refs/heads/4.2 c1131d1b7 -> c212574b1


CLOUDSTACK-4649: UI > (1) Register Template dialog: add 'XenServer Tools Version 6.1+' checkbox.
(2) Template detailView: add 'XenServer Tools Version 6.1+' field.
(3) Instance detailView: add 'XenServer Tools Version 6.1+' field.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/c212574b
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/c212574b
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/c212574b

Branch: refs/heads/4.2
Commit: c212574b172babfa3a66fe7bb44ea4dc9d44f42e
Parents: c1131d1
Author: Jessica Wang <je...@apache.org>
Authored: Tue Oct 22 14:02:19 2013 -0700
Committer: Jessica Wang <je...@apache.org>
Committed: Tue Oct 22 14:02:30 2013 -0700

----------------------------------------------------------------------
 ui/scripts/instances.js       | 27 ++++++++++++-
 ui/scripts/sharedFunctions.js |  1 +
 ui/scripts/templates.js       | 81 +++++++++++++++++++++++++++++++++++---
 3 files changed, 101 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c212574b/ui/scripts/instances.js
----------------------------------------------------------------------
diff --git a/ui/scripts/instances.js b/ui/scripts/instances.js
index 420307b..bc7c587 100644
--- a/ui/scripts/instances.js
+++ b/ui/scripts/instances.js
@@ -1475,9 +1475,13 @@
                             if (isAdmin()) {
                                 hiddenFields = [];
                             } else {
-                                hiddenFields = ["hypervisor"];
+                                hiddenFields = ["hypervisor", 'xenserverToolsVersion61plus'];
                             }
-
+                            
+                            if ('instances' in args.context && args.context.instances[0].hypervisor != 'XenServer') {
+                          	  hiddenFields.push('xenserverToolsVersion61plus');
+                            }
+                            
                             if (!args.context.instances[0].publicip) {
                                 hiddenFields.push('publicip');
                             }
@@ -1559,6 +1563,18 @@
                                 label: 'label.hypervisor'
                             },
 
+                            xenserverToolsVersion61plus: {
+                                label: 'XenServer Tools Version 6.1+',
+                                isBoolean: true,
+                                isEditable: function () {
+                                    if (isAdmin())
+                                        return true;
+                                    else
+                                        return false;
+                                },
+                                converter: cloudStack.converters.toBooleanText
+                            },
+                            
                             /*
 								isoid: {
                   label: 'label.attached.iso',
@@ -1634,6 +1650,13 @@
                                             state: "Destroyed"
                                         }); //after a regular user destroys a VM, listVirtualMachines API will no longer returns this destroyed VM to the regular user.
 
+                                    if ('details' in jsonObj && 'hypervisortoolsversion' in jsonObj.details) {
+                                        if (jsonObj.details.hypervisortoolsversion == 'xenserver61')
+                                            jsonObj.xenserverToolsVersion61plus = true;
+                                        else
+                                            jsonObj.xenserverToolsVersion61plus = false;
+                                    }
+                                    
                                     args.response.success({
                                         actionFilter: vmActionfilter,
                                         data: jsonObj

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c212574b/ui/scripts/sharedFunctions.js
----------------------------------------------------------------------
diff --git a/ui/scripts/sharedFunctions.js b/ui/scripts/sharedFunctions.js
index fe3f673..358b26a 100644
--- a/ui/scripts/sharedFunctions.js
+++ b/ui/scripts/sharedFunctions.js
@@ -839,6 +839,7 @@ cloudStack.preFilter = {
                 args.$form.find('.form-item[rel=isPublic]').hide();
             }
             args.$form.find('.form-item[rel=isFeatured]').hide();
+            args.$form.find('.form-item[rel=xenserverToolsVersion61plus]').hide();
         }
     },
     addLoadBalancerDevice: function(args) { //add netscaler device OR add F5 device

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c212574b/ui/scripts/templates.js
----------------------------------------------------------------------
diff --git a/ui/scripts/templates.js b/ui/scripts/templates.js
index dc1a39b..152381e 100644
--- a/ui/scripts/templates.js
+++ b/ui/scripts/templates.js
@@ -214,10 +214,21 @@
                                                     $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();
+                                                } 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();	
+                                                    
+                                                    if (isAdmin())
+                                                        $form.find('.form-item[rel=xenserverToolsVersion61plus]').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();
                                                 }
                                             });
 
@@ -225,6 +236,30 @@
                                         }
                                     },
 
+                                    xenserverToolsVersion61plus: {
+                                        label: 'XenServer Tools Version 6.1+',
+                                        isBoolean: true,
+                                        isChecked: function (args) {
+                                            var b = false;
+                                            if (isAdmin()) {
+                                                $.ajax({
+                                                    url: createURL('listConfigurations'),
+                                                    data: {
+                                                        name: 'xen.pvdriver.version'
+                                                    },
+                                                    async: false,
+                                                    success: function (json) {
+                                                        if (json.listconfigurationsresponse.configuration != null && json.listconfigurationsresponse.configuration[0].value == 'xenserver61') {
+                                                            b = true;
+                                                        }
+                                                    }
+                                                });
+                                            }
+                                            return b;
+                                        },
+                                        isHidden: true
+                                    },
+                                    
                                     //fields for hypervisor == "VMware" (starts here)
                                     rootDiskControllerType: {
                                         label: 'label.root.disk.controller',
@@ -439,6 +474,16 @@
                                     });
                                 }
 
+                                
+                                //XenServer only (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)
+                                
+                                
                                 //VMware only (starts here)
                                 if (args.$form.find('.form-item[rel=rootDiskControllerType]').css("display") != "none" && args.data.rootDiskControllerType != "") {
                                     $.extend(data, {
@@ -800,8 +845,13 @@
                                     if (isAdmin()) {
                                         hiddenFields = [];
                                     } else {
-                                        hiddenFields = ["hypervisor"];
+                                        hiddenFields = ["hypervisor", 'xenserverToolsVersion61plus'];
                                     }
+                                    
+                                    if ('templates' in args.context && args.context.templates[0].hypervisor != 'XenServer') {
+                                        hiddenFields.push('xenserverToolsVersion61plus');
+                                    }
+                                    
                                     return hiddenFields;
                                 },
 
@@ -833,6 +883,17 @@
                                     hypervisor: {
                                         label: 'label.hypervisor'
                                     },
+                                    xenserverToolsVersion61plus: {
+                                        label: 'XenServer Tools Version 6.1+',
+                                        isBoolean: true,
+                                        isEditable: function () {
+                                            if (isAdmin())
+                                                return true;
+                                            else
+                                                return false;
+                                        },
+                                        converter: cloudStack.converters.toBooleanText
+                                    },
                                     templatetype: {
                                         label: 'label.type'
                                     },
@@ -959,13 +1020,21 @@
                                         url: createURL(apiCmd),
                                         dataType: "json",
                                         success: function(json) {
-                                            args.response.success({
-                                                actionFilter: templateActionfilter,
-                                                data: json.listtemplatesresponse.template[0]
-                                            });
+                                        	var jsonObj = json.listtemplatesresponse.template[0];
+
+                                        	if ('details' in jsonObj && 'hypervisortoolsversion' in jsonObj.details) {
+                                        	    if (jsonObj.details.hypervisortoolsversion == 'xenserver61')
+                                        	        jsonObj.xenserverToolsVersion61plus = true;
+                                        	    else
+                                        	        jsonObj.xenserverToolsVersion61plus = false;
+                                        	}
+
+                                        	args.response.success({
+                                        	    actionFilter: templateActionfilter,
+                                        	    data: jsonObj
+                                        	});
                                         }
                                     });
-
                                 }
                             }
                         }