diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index 880466c0ac3..e022ea38efb 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -4718,6 +4718,14 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag } + //can't update from vpc to non-vpc network offering + boolean forVpcNew = _configMgr.isOfferingForVpc(networkOffering); + boolean vorVpcOriginal = _configMgr.isOfferingForVpc(_configMgr.getNetworkOffering(oldNetworkOfferingId)); + if (forVpcNew != vorVpcOriginal) { + String errMsg = forVpcNew ? "a vpc offering " : "not a vpc offering"; + throw new InvalidParameterValueException("Can't update as the new offering is " + errMsg); + } + //can't update from vpc to non-vpc network offering boolean forVpcNew = _configMgr.isOfferingForVpc(networkOffering); boolean vorVpcOriginal = _configMgr.isOfferingForVpc(_configMgr.getNetworkOffering(oldNetworkOfferingId));