From 21cdd08948725c519e88d7486c4ee27167e3967a Mon Sep 17 00:00:00 2001 From: Alena Prokharchyk Date: Thu, 5 Jul 2012 15:28:30 -0700 Subject: [PATCH] VPC: don't allow vm to be a part of more than one VPC --- server/src/com/cloud/vm/UserVmManagerImpl.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index 1ea462c72d2..aa384702e26 100755 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -2341,6 +2341,7 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager List> networks = new ArrayList>(); short defaultNetworkNumber = 0; boolean securityGroupEnabled = false; + boolean vpcNetwork = false; for (NetworkVO network : networkList) { if (network.getDataCenterId() != zone.getId()) { throw new InvalidParameterValueException("Network id=" + network.getId() + " doesn't belong to zone " + zone.getId()); @@ -2368,6 +2369,14 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager if (_networkMgr.isSecurityGroupSupportedInNetwork(network)) { securityGroupEnabled = true; } + + //vm can't be a part of more than 1 VPC network + if (network.getVpcId() != null) { + if (vpcNetwork) { + throw new InvalidParameterValueException("Vm can't be a part of more than 1 VPC network"); + } + vpcNetwork = true; + } } if (securityGroupIdList != null && !securityGroupIdList.isEmpty() && !securityGroupEnabled) {