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/11/05 20:55:28 UTC
git commit: updated refs/heads/master to c61d2ee
Updated Branches:
refs/heads/master fdf7639eb -> c61d2eedf
CLOUDSTACK-4908: UI > Infrastructure > Sockets > (1) calculate total number of CPU Sockets for all hypervisors.
(2) > view all > calculate CPU Sockets for each hypervisor.
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/c61d2eed
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/c61d2eed
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/c61d2eed
Branch: refs/heads/master
Commit: c61d2eedf4a87107ae9a77c8c39b7f584995e617
Parents: fdf7639
Author: Jessica Wang <je...@apache.org>
Authored: Tue Nov 5 11:55:06 2013 -0800
Committer: Jessica Wang <je...@apache.org>
Committed: Tue Nov 5 11:55:06 2013 -0800
----------------------------------------------------------------------
ui/scripts/sharedFunctions.js | 1 +
ui/scripts/system.js | 113 ++++++++++++++++++++++++++++++++-----
2 files changed, 99 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c61d2eed/ui/scripts/sharedFunctions.js
----------------------------------------------------------------------
diff --git a/ui/scripts/sharedFunctions.js b/ui/scripts/sharedFunctions.js
index 05d2d9d..fddbd70 100644
--- a/ui/scripts/sharedFunctions.js
+++ b/ui/scripts/sharedFunctions.js
@@ -46,6 +46,7 @@ var md5HashedLogin = false;
//page size for API call (e.g."listXXXXXXX&pagesize=N" )
var pageSize = 20;
+//var pageSize = 1; //for testing only
var rootAccountId = 1;
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/c61d2eed/ui/scripts/system.js
----------------------------------------------------------------------
diff --git a/ui/scripts/system.js b/ui/scripts/system.js
index 381d884..7d4ce2a 100644
--- a/ui/scripts/system.js
+++ b/ui/scripts/system.js
@@ -380,9 +380,64 @@
}
},
- socketInfo: function(data) {
+ socketInfo: function(data) {
+ var socketCount = 0;
+ $.ajax({
+ url: createURL('listHypervisors'),
+ async: false,
+ success: function(json) {
+ args.response.success({
+ data: $(json.listhypervisorsresponse.hypervisor).map(function(index, hypervisor) {
+ var totalHostCount = 0;
+ var currentPage = 1;
+ var returnedHostCount = 0;
+ var returnedHostCpusocketsSum = 0;
+ var returnedHostHavingCpusockets = true;
+
+ var callListHostsWithPage = function(setTotalHostCount) {
+ $.ajax({
+ url: createURL('listHosts'),
+ async: false,
+ data: {
+ hypervisortype: hypervisor.name,
+ page: currentPage,
+ pagesize: pageSize //global variable
+ },
+ success: function(json) {
+ if (setTotalHostCount) {
+ totalHostCount = json.listhostsresponse.count;
+ }
+ returnedHostCount += json.listhostsresponse.host.length;
+
+ var items = json.listhostsresponse.host;
+ for (var i = 0; i < items.length; i++) {
+ if (items[i].cpusockets != undefined && isNaN(items[i].cpusockets) == false) {
+ returnedHostCpusocketsSum += items[i].cpusockets;
+ } else {
+ returnedHostHavingCpusockets = false;
+ }
+ }
+
+ if (returnedHostCount < totalHostCount) {
+ currentPage++;
+ callListHostsWithPage(false);
+ }
+ }
+ });
+ }
+
+ callListHostsWithPage(true);
+
+ if (returnedHostHavingCpusockets) {
+ socketCount += returnedHostCpusocketsSum;
+ }
+ })
+ });
+ }
+ });
+
complete($.extend(data, {
- socketCount: 0
+ socketCount: socketCount
}));
}
};
@@ -7135,22 +7190,50 @@
success: function(json) {
args.response.success({
data: $(json.listhypervisorsresponse.hypervisor).map(function(index, hypervisor) {
- var hostCount;
- $.ajax({
- url: createURL('listHosts'),
- async: false,
- data: {
- hypervisortype: hypervisor.name
- },
- success: function(json) {
- hostCount = json.listhostsresponse.count;
- }
- });
+ var totalHostCount = 0;
+ var currentPage = 1;
+ var returnedHostCount = 0;
+ var returnedHostCpusocketsSum = 0;
+ var returnedHostHavingCpusockets = true;
+
+ var callListHostsWithPage = function(setTotalHostCount) {
+ $.ajax({
+ url: createURL('listHosts'),
+ async: false,
+ data: {
+ hypervisortype: hypervisor.name,
+ page: currentPage,
+ pagesize: pageSize //global variable
+ },
+ success: function(json) {
+ if (setTotalHostCount) {
+ totalHostCount = json.listhostsresponse.count;
+ }
+ returnedHostCount += json.listhostsresponse.host.length;
+
+ var items = json.listhostsresponse.host;
+ for (var i = 0; i < items.length; i++) {
+ if (items[i].cpusockets != undefined && isNaN(items[i].cpusockets) == false) {
+ returnedHostCpusocketsSum += items[i].cpusockets;
+ } else {
+ returnedHostHavingCpusockets = false;
+ }
+ }
+
+ if (returnedHostCount < totalHostCount) {
+ currentPage++;
+ callListHostsWithPage(false);
+ }
+ }
+ });
+ }
+ callListHostsWithPage(true);
+
return {
hypervisor: hypervisor.name,
- hosts: hostCount,
- sockets: 0
+ hosts: totalHostCount,
+ sockets: (returnedHostHavingCpusockets? returnedHostCpusocketsSum : 'unknown')
};
})
});