Fixed createNetworkOffering for external provider case

This commit is contained in:
Alena Prokharchyk 2011-12-06 16:15:51 -08:00
parent 1b11b97707
commit 2150409a08
1 changed files with 10 additions and 3 deletions

View File

@ -5104,12 +5104,19 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
}
Set<Service> enabledServices = providersMap.get(provider);
if(enabledServices != null && !enabledServices.isEmpty()){
if(!element.canEnableIndividualServices()){
if(enabledServices.size() != element.getCapabilities().keySet().size()){
Set<Network.Service> 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;