From ec8a2a9579d117ade008845b2196195adcc5329a Mon Sep 17 00:00:00 2001 From: anthony Date: Wed, 15 Sep 2010 19:41:31 -0700 Subject: [PATCH] always add master host first --- .../xen/discoverer/XcpServerDiscoverer.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/server/src/com/cloud/hypervisor/xen/discoverer/XcpServerDiscoverer.java b/server/src/com/cloud/hypervisor/xen/discoverer/XcpServerDiscoverer.java index 0f5ff922677..e0e0fa9f36d 100644 --- a/server/src/com/cloud/hypervisor/xen/discoverer/XcpServerDiscoverer.java +++ b/server/src/com/cloud/hypervisor/xen/discoverer/XcpServerDiscoverer.java @@ -137,9 +137,11 @@ public class XcpServerDiscoverer extends DiscovererBase implements Discoverer, L } Set pools = Pool.getAll(conn); Pool pool = pools.iterator().next(); - String poolUuid = pool.getUuid(conn); + Pool.Record pr = pool.getRecord(conn); + String poolUuid = pr.uuid; Map hosts = Host.getAllRecords(conn); - + Host master = pr.master; + if (_checkHvm) { for (Map.Entry entry : hosts.entrySet()) { Host.Record record = entry.getValue(); @@ -150,7 +152,7 @@ public class XcpServerDiscoverer extends DiscovererBase implements Discoverer, L support_hvm = true; break; } - } + } if( !support_hvm ) { String msg = "Unable to add host " + record.address + " because it doesn't support hvm"; _alertMgr.sendAlert(AlertManager.ALERT_TYPE_HOST, dcId, podId, msg, msg); @@ -159,8 +161,16 @@ public class XcpServerDiscoverer extends DiscovererBase implements Discoverer, L } } } + for( int i = 0; i < 2; i++ ) { for (Map.Entry entry : hosts.entrySet()) { Host host = entry.getKey(); + if( i== 0 ) { + if(!host.equals(master)) { + continue; + } else { + hosts.remove(host); + } + } Host.Record record = entry.getValue(); String hostAddr = record.address; @@ -239,6 +249,7 @@ public class XcpServerDiscoverer extends DiscovererBase implements Discoverer, L resource.start(); resources.put(resource, details); } + } if (!addHostsToPool(url, conn, dcId, podId, clusterId, resources)) { return null;