diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index 5e1f27e1a77..ab78577d680 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -5104,12 +5104,19 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag } Set enabledServices = providersMap.get(provider); - + if(enabledServices != null && !enabledServices.isEmpty()){ if(!element.canEnableIndividualServices()){ - if(enabledServices.size() != element.getCapabilities().keySet().size()){ + Set requiredServices = element.getCapabilities().keySet(); + if (requiredServices.contains(Network.Service.Gateway)) { + requiredServices.remove(Network.Service.Gateway); + } + + //exclude gateway service + if(enabledServices.size() != requiredServices.size()){ StringBuilder servicesSet = new StringBuilder(); - for (Service requiredService: element.getCapabilities().keySet()) { + + for (Service requiredService: requiredServices) { //skip gateway service as we don't allow setting it via API if (requiredService == Service.Gateway) { continue;