cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From edi...@apache.org
Subject [10/50] git commit: updated refs/heads/4.3 to f304df0
Date Wed, 04 Jun 2014 23:50:22 GMT
CS-19377
[Baremetal] After deploy VM on Baremetal host, BM host fail to be PXE booted


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/793a6a71
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/793a6a71
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/793a6a71

Branch: refs/heads/4.3
Commit: 793a6a7177e7b2737b01c328951c86da1ba1808b
Parents: 930acdd
Author: frank <frank.zhang@citrix.com>
Authored: Thu Feb 27 15:17:38 2014 -0800
Committer: frank <frank.zhang@citrix.com>
Committed: Thu Feb 27 15:18:01 2014 -0800

----------------------------------------------------------------------
 .../networkservice/BaremetalDhcpElement.java          | 14 +++++++++++---
 .../networkservice/BaremetalDhcpManagerImpl.java      |  7 +++----
 2 files changed, 14 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/793a6a71/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpElement.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpElement.java
b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpElement.java
index 8057cd4..b3fdab5 100755
--- a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpElement.java
+++ b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpElement.java
@@ -25,6 +25,8 @@ import java.util.Set;
 import javax.ejb.Local;
 import javax.inject.Inject;
 
+import com.cloud.network.dao.PhysicalNetworkDao;
+import com.cloud.network.dao.PhysicalNetworkVO;
 import org.apache.log4j.Logger;
 
 import com.cloud.baremetal.database.BaremetalDhcpVO;
@@ -64,12 +66,14 @@ public class BaremetalDhcpElement extends AdapterBase implements DhcpServiceProv
     
     @Inject NicDao _nicDao;
     @Inject BaremetalDhcpManager _dhcpMgr;
+    @Inject
+    PhysicalNetworkDao phyNwDao;
     
     static {
         Capability cap = new Capability(BaremetalDhcpManager.BAREMETAL_DHCP_SERVICE_CAPABITLITY);
         Map<Capability, String> baremetalCaps = new HashMap<Capability, String>();
-        baremetalCaps.put(cap, null);
-        baremetalCaps.put(Capability.DhcpAccrossMultipleSubnets, Boolean.TRUE.toString());
+        baremetalCaps.put(cap, null);
+        baremetalCaps.put(Capability.DhcpAccrossMultipleSubnets, Boolean.TRUE.toString());
         capabilities = new HashMap<Service, Map<Capability, String>>();
         capabilities.put(Service.Dhcp, baremetalCaps);
     }
@@ -87,8 +91,12 @@ public class BaremetalDhcpElement extends AdapterBase implements DhcpServiceProv
     private boolean canHandle(DeployDestination dest, TrafficType trafficType, GuestType
networkType) {
         Pod pod = dest.getPod();
         if (pod != null && dest.getDataCenter().getNetworkType() == NetworkType.Basic
&& trafficType == TrafficType.Guest) {
+            QueryBuilder<PhysicalNetworkVO> phyq = QueryBuilder.create(PhysicalNetworkVO.class);
+            phyq.and(phyq.entity().getDataCenterId(), Op.EQ, dest.getDataCenter().getId());
+            PhysicalNetworkVO phynw = phyq.find();
+
             QueryBuilder<BaremetalDhcpVO> sc = QueryBuilder.create(BaremetalDhcpVO.class);
-            sc.and(sc.entity().getPodId(), Op.EQ,pod.getId());
+            sc.and(sc.entity().getPhysicalNetworkId(), Op.EQ, phynw.getId());
             return sc.find() != null;
         }
         

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/793a6a71/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpManagerImpl.java
b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpManagerImpl.java
index 82397f5..e507b4d 100755
--- a/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpManagerImpl.java
+++ b/plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalDhcpManagerImpl.java
@@ -133,14 +133,13 @@ public class BaremetalDhcpManagerImpl extends ManagerBase implements
BaremetalDh
     public boolean addVirtualMachineIntoNetwork(Network network, NicProfile nic, VirtualMachineProfile
profile,
             DeployDestination dest, ReservationContext context) throws ResourceUnavailableException
{
         Long zoneId = profile.getVirtualMachine().getDataCenterId();
-        Long podId = profile.getVirtualMachine().getPodIdToDeployIn();
-        List<HostVO> hosts = _resourceMgr.listAllUpAndEnabledHosts(Type.BaremetalDhcp,
null, podId, zoneId);
+        List<HostVO> hosts = _resourceMgr.listAllUpAndEnabledHosts(Type.BaremetalDhcp,
null, null, zoneId);
         if (hosts.size() == 0) {
-            throw new CloudRuntimeException("No external Dhcp found in zone " + zoneId +
" pod " + podId);
+            throw new CloudRuntimeException("No external Dhcp found in zone " + zoneId);
         }
 
         if (hosts.size() > 1) {
-            throw new CloudRuntimeException("Something wrong, more than 1 external Dhcp found
in zone " + zoneId + " pod " + podId);
+            throw new CloudRuntimeException("Something wrong, more than 1 external Dhcp found
in zone " + zoneId);
         }
 
         HostVO h = hosts.get(0);


Mime
View raw message