Updated Branches: refs/heads/vpc-pointfix-on-4.0 [created] 0b9bfc6ec
SBP-2418: Use a provider list for VPC checks instead of a fixed configuration. This allows more providers to implement VPC services Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/0b9bfc6e Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/0b9bfc6e Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/0b9bfc6e Branch: refs/heads/vpc-pointfix-on-4.0 Commit: 0b9bfc6ece5922c208c6d8fd67867ff475f41db3 Parents: 4d90876 Author: Hugo Trippaers <[email protected]> Authored: Thu Feb 28 09:36:55 2013 +0100 Committer: Hugo Trippaers <[email protected]> Committed: Thu Feb 28 09:36:55 2013 +0100 ---------------------------------------------------------------------- .../src/com/cloud/network/vpc/VpcManagerImpl.java | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/0b9bfc6e/server/src/com/cloud/network/vpc/VpcManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/network/vpc/VpcManagerImpl.java b/server/src/com/cloud/network/vpc/VpcManagerImpl.java index 675ae59..7a32656 100644 --- a/server/src/com/cloud/network/vpc/VpcManagerImpl.java +++ b/server/src/com/cloud/network/vpc/VpcManagerImpl.java @@ -168,6 +168,7 @@ public class VpcManagerImpl implements VpcManager, Manager{ private final ScheduledExecutorService _executor = Executors.newScheduledThreadPool(1, new NamedThreadFactory("VpcChecker")); private VpcProvider vpcElement = null; private final List<Service> nonSupportedServices = Arrays.asList(Service.SecurityGroup, Service.Firewall); + private final List<Provider> supportedProviders = Arrays.asList(Provider.VPCVirtualRouter, Provider.NiciraNvp); String _name; int _cleanupInterval; @@ -994,9 +995,9 @@ public class VpcManagerImpl implements VpcManager, Manager{ //1) in current release, only vpc provider is supported by Vpc offering List<Provider> providers = _ntwkMgr.getNtwkOffDistinctProviders(guestNtwkOff.getId()); for (Provider provider : providers) { - if (provider != Provider.VPCVirtualRouter) { - throw new InvalidParameterValueException("Only provider of type " + Provider.VPCVirtualRouter.getName() - + " is supported for network offering that can be used in VPC"); + if (!supportedProviders.contains(provider) ) { + throw new InvalidParameterValueException("Provider of type " + provider.getName() + + " is not supported for network offerings that can be used in VPC"); } }
