You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by mu...@apache.org on 2014/06/19 12:36:37 UTC
git commit: updated refs/heads/4.4-forward to d8cbba1
Repository: cloudstack
Updated Branches:
refs/heads/4.4-forward 13bd8beb9 -> d8cbba1bc
CLOUDSTACK-6750: [OVS] With stretched network deploying vm in a ovs
disabled zone does not fail
Fix ensures that connectivity service provider is enabled in the zone on
to which nework is being streched.
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/d8cbba1b
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/d8cbba1b
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/d8cbba1b
Branch: refs/heads/4.4-forward
Commit: d8cbba1bc616d43e218229a2807915c1b21569dc
Parents: 13bd8be
Author: Murali Reddy <mu...@gmail.com>
Authored: Thu Jun 19 16:03:46 2014 +0530
Committer: Murali Reddy <mu...@gmail.com>
Committed: Thu Jun 19 16:04:57 2014 +0530
----------------------------------------------------------------------
server/src/com/cloud/vm/UserVmManagerImpl.java | 25 +++++++++++++++++++--
1 file changed, 23 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/d8cbba1b/server/src/com/cloud/vm/UserVmManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java
index e5216e3..68503ae 100755
--- a/server/src/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/com/cloud/vm/UserVmManagerImpl.java
@@ -2719,8 +2719,29 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir
boolean securityGroupEnabled = false;
boolean vpcNetwork = false;
for (NetworkVO network : networkList) {
- if ((network.getDataCenterId() != zone.getId()) && !network.isStrechedL2Network()) {
- throw new InvalidParameterValueException("Network id=" + network.getId() + " doesn't belong to zone " + zone.getId());
+ if ((network.getDataCenterId() != zone.getId())) {
+ if (!network.isStrechedL2Network()) {
+ throw new InvalidParameterValueException("Network id=" + network.getId() +
+ " doesn't belong to zone " + zone.getId());
+ }
+
+ NetworkOffering ntwkOffering = _networkOfferingDao.findById(network.getNetworkOfferingId());
+ Long physicalNetworkId = _networkModel.findPhysicalNetworkId(zone.getId(), ntwkOffering.getTags(),
+ ntwkOffering.getTrafficType());
+ if (physicalNetworkId == null) {
+ s_logger.warn("Network id " + network.getId() + " could not be streched to the zone " + zone.getId()
+ + " as valid phyical network could not be found");
+ throw new InvalidParameterValueException("Network in which is VM getting deployed could not be" +
+ " streched to the zone.");
+ }
+
+ String provider = _ntwkSrvcDao.getProviderForServiceInNetwork(network.getId(), Service.Connectivity);
+ if (!_networkModel.isProviderEnabledInPhysicalNetwork(physicalNetworkId, provider)) {
+ s_logger.warn("Network id " + network.getId() + " could not be streched to the zone " +zone.getId()
+ + " as Connectivity service provider is not enabled in the zone " + zone.getId());
+ throw new InvalidParameterValueException("Network in which is VM getting deployed could not be" +
+ " streched to the zone.");
+ }
}
//relax the check if the caller is admin account