From fc16e29f992d81156a4e08a77da215f8276f4efe Mon Sep 17 00:00:00 2001 From: Alena Prokharchyk Date: Mon, 17 Jun 2013 10:09:52 -0700 Subject: [PATCH] CLOUDSTACK-2914: default lb scheme to Public when the service LB is enabled, and scheme is not specified explicitly --- .../command/admin/network/CreateNetworkOfferingCmd.java | 2 +- .../com/cloud/configuration/ConfigurationManagerImpl.java | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/api/src/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java b/api/src/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java index 6410715727c..febb0c337eb 100644 --- a/api/src/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java +++ b/api/src/org/apache/cloudstack/api/command/admin/network/CreateNetworkOfferingCmd.java @@ -95,7 +95,7 @@ public class CreateNetworkOfferingCmd extends BaseCmd { @Parameter(name=ApiConstants.IS_PERSISTENT, type=CommandType.BOOLEAN, description="true if network offering supports persistent networks; defaulted to false if not specified") private Boolean isPersistent; - @Parameter(name=ApiConstants.DETAILS, type=CommandType.MAP, since="4.2.0", description="Template details in key/value pairs." + + @Parameter(name=ApiConstants.DETAILS, type=CommandType.MAP, since="4.2.0", description="Network offering details in key/value pairs." + " Supported keys are internallbprovider/publiclbprovider with service provider as a value") protected Map details; diff --git a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java index 131d34054e3..68745bfacaa 100755 --- a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java +++ b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java @@ -3968,9 +3968,6 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati _networkModel.checkCapabilityForProvider(serviceProviderMap.get(Service.Lb), Service.Lb, Capability.LbSchemes, publicLbStr); internalLb = publicLbStr.contains("internal"); publicLb = publicLbStr.contains("public"); - } else { - //if not specified, default public lb to true - publicLb = true; } } } @@ -4009,6 +4006,11 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati } } } + + if (serviceProviderMap.containsKey(Service.Lb) && !internalLb && !publicLb) { + //if not specified, default public lb to true + publicLb = true; + } NetworkOfferingVO offering = new NetworkOfferingVO(name, displayText, trafficType, systemOnly, specifyVlan, networkRate, multicastRate, isDefault, availability, tags, type, conserveMode, dedicatedLb,