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/01 00:38:24 UTC
git commit: updated refs/heads/master to 8deeb90
Updated Branches:
refs/heads/master 66f5d4a53 -> 8deeb90a6
CLOUDSTACK-2746: UI - InternalLB - VPC section - tiers - add tier dialog - network offering dropdown - exclude PublicLb network offerings only when PublicLb networks exists (i.e. LB network whose provider is VpcVirtualRouter or Netscaler exists).
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/8deeb90a
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/8deeb90a
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/8deeb90a
Branch: refs/heads/master
Commit: 8deeb90a6dcd90797d36f3c0ecd903a068140093
Parents: 66f5d4a
Author: Jessica Wang <je...@apache.org>
Authored: Fri May 31 15:33:15 2013 -0700
Committer: Jessica Wang <je...@apache.org>
Committed: Fri May 31 15:35:24 2013 -0700
----------------------------------------------------------------------
ui/scripts/vpc.js | 50 +++++++++++++++++++++++++++++++++++------------
1 files changed, 37 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8deeb90a/ui/scripts/vpc.js
----------------------------------------------------------------------
diff --git a/ui/scripts/vpc.js b/ui/scripts/vpc.js
index 8f98414..033ac7f 100644
--- a/ui/scripts/vpc.js
+++ b/ui/scripts/vpc.js
@@ -3002,7 +3002,7 @@
validation: { required: true },
dependsOn: 'zoneId',
select: function(args) {
- var networkSupportingLbExists = false;
+ var publicLbNetworkExists = false;
$.ajax({
url: createURL('listNetworks'),
data: {
@@ -3010,11 +3010,35 @@
supportedservices: 'LB'
},
success: function(json) {
- var networkSupportingLbExists;
- if(json.listnetworksresponse.network != null && json.listnetworksresponse.network.length > 0)
- networkSupportingLbExists = true;
- else
- networkSupportingLbExists = false;
+ var publicLbNetworkExists = false;
+
+ var lbNetworks = json.listnetworksresponse.network;
+ if(lbNetworks != null) {
+ for(var i = 0; i < lbNetworks.length; i++) {
+ var thisNetworkOfferingIncludesPublicLbService = false;
+ $.ajax({
+ url: createURL('listNetworkOfferings'),
+ data: {
+ id: lbNetworks[i].networkofferingid
+ },
+ async: false,
+ success: function(json) {
+ var networkOffering = json.listnetworkofferingsresponse.networkoffering[0];
+ $(networkOffering.service).each(function(){
+ var thisService = this;
+ if(thisService.name == "Lb" && lbProviderMap.publicLb.vpc.indexOf(thisService.provider[0].name) != -1) {
+ thisNetworkOfferingIncludesPublicLbService = true;
+ return false; //break $.each() loop
+ }
+ });
+ }
+ });
+ if(thisNetworkOfferingIncludesPublicLbService == true) {
+ publicLbNetworkExists = true;
+ break; //break for loop
+ }
+ }
+ }
$.ajax({
url: createURL('listNetworkOfferings'),
@@ -3029,19 +3053,19 @@
success: function(json) {
var networkOfferings = json.listnetworkofferingsresponse.networkoffering;
- var items;
- if(networkSupportingLbExists == true) {
+ //only one network(tier) is allowed to have PublicLb (i.e. provider is PublicLb provider like "VpcVirtualRouter", "Netscaler") in a VPC
+ var items;
+ if(publicLbNetworkExists == true) { //so, if a PublicLb network(tier) already exists in the vpc, exclude PublicLb network offerings from dropdown
items = $.grep(networkOfferings, function(networkOffering) {
- var includingPublicLbService = false;
+ var thisNetworkOfferingIncludesPublicLbService = false;
$(networkOffering.service).each(function(){
- var thisService = this;
- //only one tier is allowed to have PublicLb provider in a VPC
+ var thisService = this;
if(thisService.name == "Lb" && lbProviderMap.publicLb.vpc.indexOf(thisService.provider[0].name) != -1) {
- includingPublicLbService = true;
+ thisNetworkOfferingIncludesPublicLbService = true;
return false; //break $.each() loop
}
});
- return !includingPublicLbService;
+ return !thisNetworkOfferingIncludesPublicLbService;
});
}
else {