From dd9465c592793b962c50ab809d703d4b2d966a4e Mon Sep 17 00:00:00 2001 From: frank Date: Fri, 18 Nov 2011 15:39:22 -0800 Subject: [PATCH] Bug 12078 - pxe config file not being sent down (edit) fix in acton --- server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java b/server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java index 895424cf1a3..105824f8707 100755 --- a/server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java +++ b/server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java @@ -472,10 +472,13 @@ public class BareMetalVmManagerImpl extends UserVmManagerImpl implements BareMet } s_logger.debug("This is a PXE start, prepare PXE server first"); - List servers = _resourceMgr.listAllUpAndEnabledHostsInOneZoneByType(Host.Type.PxeServer, dest.getDataCenter().getId()); + List servers = _resourceMgr.listAllUpAndEnabledHosts(Host.Type.PxeServer, null, dest.getPod().getId(), dest.getDataCenter().getId()); if (servers.size() == 0) { throw new CloudRuntimeException("Cannot find PXE server, please make sure there is one PXE server per zone"); } + if (servers.size() > 1) { + throw new CloudRuntimeException("Find more than one PXE server, please make sure there is only one PXE server per zone in pod " + dest.getPod().getId() + " zone " + dest.getDataCenter().getId()); + } HostVO pxeServer = servers.get(0); if (!_pxeMgr.prepare(pxeType, profile, dest, context, pxeServer.getId())) {