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/06/21 19:31:35 UTC
git commit: updated refs/heads/master to 31b9fea
Updated Branches:
refs/heads/master 933e4e6df -> 31b9fea5e
CLOUDSTACK-2236: UI - Instances menu - migrate instance to another host - get requiresStorageMotion property from selected option instead of first option from host dropdown.
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/31b9fea5
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/31b9fea5
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/31b9fea5
Branch: refs/heads/master
Commit: 31b9fea5e7eca16f942aba3a23a8e616d1ba04b4
Parents: 933e4e6
Author: Jessica Wang <je...@apache.org>
Authored: Fri Jun 21 10:28:15 2013 -0700
Committer: Jessica Wang <je...@apache.org>
Committed: Fri Jun 21 10:31:23 2013 -0700
----------------------------------------------------------------------
ui/scripts/instances.js | 132 ++++++++++++++++++++++---------------------
1 file changed, 69 insertions(+), 63 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/31b9fea5/ui/scripts/instances.js
----------------------------------------------------------------------
diff --git a/ui/scripts/instances.js b/ui/scripts/instances.js
index 54b3187..e9a3d67 100644
--- a/ui/scripts/instances.js
+++ b/ui/scripts/instances.js
@@ -15,7 +15,7 @@
// specific language governing permissions and limitations
// under the License.
(function($, cloudStack) {
- var requiresStorageMotion = false;
+ var vmMigrationHostObjs;
cloudStack.sections.instances = {
title: 'label.instances',
id: 'instances',
@@ -1078,83 +1078,89 @@
validation: { required: true },
select: function(args) {
$.ajax({
- url: createURL("findHostsForMigration&VirtualMachineId=" + args.context.instances[0].id),
- //url: createURL("listHosts"), //for testing only, comment it out before checking in.
+ url: createURL("findHostsForMigration&VirtualMachineId=" + args.context.instances[0].id),
dataType: "json",
async: true,
success: function(json) {
- if(json.findhostsformigrationresponse.host != undefined){
- var hosts = json.findhostsformigrationresponse.host;
- requiresStorageMotion = json.findhostsformigrationresponse.host[0].requiresStorageMotion;
- var items = [];
- $(hosts).each(function() {
- if(this.requiresStorageMotion == true){
- items.push({id: this.id, description: (this.name + " (" + (this.suitableformigration? "Suitable, ": "Not Suitable, ") + "Storage migration required)" )});
-
+ if(json.findhostsformigrationresponse.host != undefined) {
+ vmMigrationHostObjs = json.findhostsformigrationresponse.host;
+ var items = [];
+ $(vmMigrationHostObjs).each(function() {
+ if(this.requiresStorageMotion == true){
+ items.push({id: this.id, description: (this.name + " (" + (this.suitableformigration? "Suitable, ": "Not Suitable, ") + "Storage migration required)" )});
+
+ }
+ else {
+ items.push({id: this.id, description: (this.name + " (" + (this.suitableformigration? "Suitable": "Not Suitable") + ")" )});
+ }
+ });
+ args.response.success({data: items});
}
else {
-
- items.push({id: this.id, description: (this.name + " (" + (this.suitableformigration? "Suitable": "Not Suitable") + ")" )});
-
- }
- });
- args.response.success({data: items});
- }
- else
cloudStack.dialog.notice({ message: _l('No Hosts are avaialble for Migration') }); //Only a single host in the set up
-
+ }
}
});
}
}
}
},
- action: function(args) {
+ action: function(args) {
+ var selectedHostObj;
+ if(vmMigrationHostObjs != null) {
+ for(var i = 0; i < vmMigrationHostObjs.length; i++) {
+ if(vmMigrationHostObjs[i].id == args.data.hostId) {
+ selectedHostObj = vmMigrationHostObjs[i];
+ break;
+ }
+ }
+ }
+ if(selectedHostObj == null)
+ return;
- if(requiresStorageMotion == true){
- $.ajax({
- url: createURL("migrateVirtualMachineWithVolume&hostid=" + args.data.hostId + "&virtualmachineid=" + args.context.instances[0].id),
- dataType: "json",
- async: true,
- success: function(json) {
- var jid = json.migratevirtualmachinewithvolumeresponse.jobid;
- args.response.success(
- {_custom:
- {jobId: jid,
- getUpdatedItem: function(json) {
- return json.queryasyncjobresultresponse.jobresult.virtualmachine;
- },
- getActionFilter: function() {
- return vmActionfilter;
+ if(selectedHostObj.requiresStorageMotion == true){
+ $.ajax({
+ url: createURL("migrateVirtualMachineWithVolume&hostid=" + args.data.hostId + "&virtualmachineid=" + args.context.instances[0].id),
+ dataType: "json",
+ async: true,
+ success: function(json) {
+ var jid = json.migratevirtualmachinewithvolumeresponse.jobid;
+ args.response.success(
+ {_custom:
+ {jobId: jid,
+ getUpdatedItem: function(json) {
+ return json.queryasyncjobresultresponse.jobresult.virtualmachine;
+ },
+ getActionFilter: function() {
+ return vmActionfilter;
+ }
+ }
}
- }
- }
- );
- }
- });
- }
- else{
- $.ajax({
- url: createURL("migrateVirtualMachine&hostid=" + args.data.hostId + "&virtualmachineid=" + args.context.instances[0].id),
- dataType: "json",
- async: true,
- success: function(json) {
- var jid = json.migratevirtualmachineresponse.jobid;
- args.response.success(
- {_custom:
- {jobId: jid,
- getUpdatedItem: function(json) {
- return json.queryasyncjobresultresponse.jobresult.virtualmachine;
- },
- getActionFilter: function() {
- return vmActionfilter;
+ );
+ }
+ });
+ }
+ else{
+ $.ajax({
+ url: createURL("migrateVirtualMachine&hostid=" + args.data.hostId + "&virtualmachineid=" + args.context.instances[0].id),
+ dataType: "json",
+ async: true,
+ success: function(json) {
+ var jid = json.migratevirtualmachineresponse.jobid;
+ args.response.success(
+ {_custom:
+ {jobId: jid,
+ getUpdatedItem: function(json) {
+ return json.queryasyncjobresultresponse.jobresult.virtualmachine;
+ },
+ getActionFilter: function() {
+ return vmActionfilter;
+ }
+ }
}
- }
- }
- );
- }
- });
-
+ );
+ }
+ });
}
},
notification: {