You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by mu...@apache.org on 2014/05/07 16:34:40 UTC

git commit: updated refs/heads/4.4-forward to df65b2e

Repository: cloudstack
Updated Branches:
  refs/heads/4.4-forward eaf04d44a -> df65b2e7c


CLOUDSTACK-6593: Connectivity service capabilites should be matched with
the provider only if at least one capability is specified

Fix avoids the check, and only if the createNetworkOffering
'StrechedL2'Subnet' capability is specified then it should match against
'Connectivity' service provider


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

Branch: refs/heads/4.4-forward
Commit: df65b2e7c438986fac645f0a33688f8b36a12152
Parents: eaf04d4
Author: Murali Reddy <mu...@gmail.com>
Authored: Wed May 7 20:03:28 2014 +0530
Committer: Murali Reddy <mu...@gmail.com>
Committed: Wed May 7 20:03:28 2014 +0530

----------------------------------------------------------------------
 .../configuration/ConfigurationManagerImpl.java | 21 ++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/df65b2e7/server/src/com/cloud/configuration/ConfigurationManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java
index 6f3a0e2..231b5e1 100755
--- a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java
+++ b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java
@@ -3968,17 +3968,18 @@ public class ConfigurationManagerImpl extends ManagerBase implements Configurati
                             + " specified with connectivity service.");
                 }
             }
-        }
 
-        if (providers != null && !providers.isEmpty()) {
-            for (Provider provider: providers) {
-                NetworkElement element = _networkModel.getElementImplementingProvider(provider.getName());
-                Map<Service, Map<Capability, String>> capabilities = element.getCapabilities();
-                if (capabilities != null && !capabilities.isEmpty()) {
-                    Map<Capability, String> connectivityCapabilities =  capabilities.get(Service.Connectivity);
-                    if (connectivityCapabilities == null || (connectivityCapabilities != null && !connectivityCapabilities.keySet().contains(Capability.StretchedL2Subnet))) {
-                        throw new InvalidParameterValueException("Provider: " + provider.getName() + " does not support "
-                                + Capability.StretchedL2Subnet.getName());
+            // validate connectivity service provider actually supports specified capabilities
+            if (providers != null && !providers.isEmpty()) {
+                for (Provider provider: providers) {
+                    NetworkElement element = _networkModel.getElementImplementingProvider(provider.getName());
+                    Map<Service, Map<Capability, String>> capabilities = element.getCapabilities();
+                    if (capabilities != null && !capabilities.isEmpty()) {
+                        Map<Capability, String> connectivityCapabilities =  capabilities.get(Service.Connectivity);
+                        if (connectivityCapabilities == null || (connectivityCapabilities != null && !connectivityCapabilities.keySet().contains(Capability.StretchedL2Subnet))) {
+                            throw new InvalidParameterValueException("Provider: " + provider.getName() + " does not support "
+                                    + Capability.StretchedL2Subnet.getName());
+                        }
                     }
                 }
             }