From f991436335254eae4dc11a9f089a5c6e94403cd3 Mon Sep 17 00:00:00 2001 From: Koushik Das Date: Fri, 8 Feb 2013 16:00:15 +0530 Subject: [PATCH] Added support for network offering creation with VNMC as provider for firewall, port forwarding, source nat --- api/src/com/cloud/network/Network.java | 3 ++- .../cloudstack/network/ExternalNetworkDeviceManager.java | 3 ++- server/src/com/cloud/api/ApiResponseHelper.java | 4 ++-- .../src/com/cloud/configuration/ConfigurationManagerImpl.java | 4 ++-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/api/src/com/cloud/network/Network.java b/api/src/com/cloud/network/Network.java index c91f6a9b80d..09d3a6a82bf 100644 --- a/api/src/com/cloud/network/Network.java +++ b/api/src/com/cloud/network/Network.java @@ -125,7 +125,8 @@ public interface Network extends ControlledEntity, InternalIdentity, Identity { public static final Provider None = new Provider("None", false); public static final Provider NiciraNvp = new Provider("NiciraNvp", true); public static final Provider MidokuraMidonet = new Provider("MidokuraMidonet", true); - + public static final Provider CiscoVnmc = new Provider("CiscoVnmc", true); + private String name; private boolean isExternal; diff --git a/api/src/org/apache/cloudstack/network/ExternalNetworkDeviceManager.java b/api/src/org/apache/cloudstack/network/ExternalNetworkDeviceManager.java index 426a3b57dd9..1070355038b 100644 --- a/api/src/org/apache/cloudstack/network/ExternalNetworkDeviceManager.java +++ b/api/src/org/apache/cloudstack/network/ExternalNetworkDeviceManager.java @@ -43,7 +43,8 @@ public interface ExternalNetworkDeviceManager extends Manager { public static final NetworkDevice JuniperSRXFirewall = new NetworkDevice("JuniperSRXFirewall", Network.Provider.JuniperSRX.getName()); public static final NetworkDevice NiciraNvp = new NetworkDevice("NiciraNvp", Network.Provider.NiciraNvp.getName()); public static final NetworkDevice MidokuraMidonet = new NetworkDevice("MidokuraMidonet", Network.Provider.MidokuraMidonet.getName()); - + public static final NetworkDevice CiscoVnmc = new NetworkDevice("CiscoVnmc", Network.Provider.CiscoVnmc.getName()); + public NetworkDevice(String deviceName, String ntwkServiceprovider) { _name = deviceName; _provider = ntwkServiceprovider; diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index c346a6b86f1..70bd4f1714c 100755 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -2621,8 +2621,8 @@ public class ApiResponseHelper implements ResponseGenerator { List serviceProviders = ApiDBUtils.getProvidersForService(service); List serviceProvidersResponses = new ArrayList(); for (Network.Provider serviceProvider : serviceProviders) { - // return only Virtual Router/JuniperSRX as a provider for the firewall - if (service == Service.Firewall && !(serviceProvider == Provider.VirtualRouter || serviceProvider == Provider.JuniperSRX)) { + // return only Virtual Router/JuniperSRX/CiscoVnmc as a provider for the firewall + if (service == Service.Firewall && !(serviceProvider == Provider.VirtualRouter || serviceProvider == Provider.JuniperSRX || serviceProvider == Provider.CiscoVnmc)) { continue; } diff --git a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java index 95262797c0d..829158d032f 100755 --- a/server/src/com/cloud/configuration/ConfigurationManagerImpl.java +++ b/server/src/com/cloud/configuration/ConfigurationManagerImpl.java @@ -3032,8 +3032,8 @@ public class ConfigurationManagerImpl implements ConfigurationManager, Configura throw new InvalidParameterValueException("Invalid service provider: " + prvNameStr); } - if (provider == Provider.JuniperSRX) { - firewallProvider = Provider.JuniperSRX; + if (provider == Provider.JuniperSRX || provider == Provider.CiscoVnmc) { + firewallProvider = provider; } if ((service == Service.PortForwarding || service == Service.StaticNat) && provider == Provider.VirtualRouter){