mirror of https://github.com/apache/cloudstack.git
Summary: check-in for L4-L7 network services in the shared network in
the advanced zone Details: 1). Added validation to check the Vlan Id specified in the createNetwork() does not overlap with any of the vlan's used by isolated networks or shared networks in the zone. 2). state change for shared network with services to go to 'Setup' state on network shutdown instead of 'Allocated' Bug ID:CLOUDSTACK-312 enable L4-L7 network services in the shared network in the advanced zone
This commit is contained in:
parent
d4c604cfd8
commit
7fcfcdf91e
|
|
@ -2911,10 +2911,11 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
|
|||
throw new InvalidParameterValueException("Network with vlan " + vlanId + " already exists in zone " + zoneId);
|
||||
}
|
||||
} else {
|
||||
//don't allow to create Shared network with Vlan that already exists in the zone for Isolated networks
|
||||
if (_networksDao.countByZoneUriAndGuestType(zoneId, uri, GuestType.Isolated) > 0) {
|
||||
throw new InvalidParameterValueException("Isolated network with vlan " + vlanId + " already exists " +
|
||||
"in zone " + zoneId);
|
||||
//don't allow to creating shared network with given Vlan ID, if there already exists a isolated network or
|
||||
//shared network with same Vlan ID in the zone
|
||||
if (_networksDao.countByZoneUriAndGuestType(zoneId, uri, GuestType.Isolated) > 0 ||
|
||||
_networksDao.countByZoneUriAndGuestType(zoneId, uri, GuestType.Shared) > 0) {
|
||||
throw new InvalidParameterValueException("There is a isolated/shared network with vlan id: " + vlanId + " already exists " + "in zone " + zoneId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -3502,7 +3503,13 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag
|
|||
|
||||
applyProfileToNetwork(network, profile);
|
||||
|
||||
network.setState(Network.State.Allocated);
|
||||
DataCenterVO zone = _dcDao.findById(network.getDataCenterId());
|
||||
if (isSharedNetworkOfferingWithServices(network.getNetworkOfferingId()) && (zone.getNetworkType() == NetworkType.Advanced)) {
|
||||
network.setState(Network.State.Setup);
|
||||
} else {
|
||||
network.setState(Network.State.Allocated);
|
||||
}
|
||||
|
||||
network.setRestartRequired(false);
|
||||
_networksDao.update(network.getId(), network);
|
||||
_networksDao.clearCheckForGc(networkId);
|
||||
|
|
|
|||
Loading…
Reference in New Issue