You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bh...@apache.org on 2015/05/22 15:23:42 UTC
git commit: updated refs/heads/CLOUDSTACK-8243 to 6753bee
Repository: cloudstack
Updated Branches:
refs/heads/CLOUDSTACK-8243 [created] 6753beefe
CLOUDSTACK-8243: KVM agent should not use hardcoded string tails
For KVM agent, guid is configurable in agent.properties, this fix allows the
configuration to work by removing string tail (the -LibvirtComputingResource suffix).
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/6753beef
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/6753beef
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/6753beef
Branch: refs/heads/CLOUDSTACK-8243
Commit: 6753beefebc9f839e817c0192b75df22fd6a2506
Parents: 90ac1ab
Author: Rohit Yadav <ro...@shapeblue.com>
Authored: Fri May 22 14:21:36 2015 +0100
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Fri May 22 14:21:36 2015 +0100
----------------------------------------------------------------------
.../kvm/discoverer/LibvirtServerDiscoverer.java | 24 ++++++++++----------
1 file changed, 12 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/6753beef/server/src/com/cloud/hypervisor/kvm/discoverer/LibvirtServerDiscoverer.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/hypervisor/kvm/discoverer/LibvirtServerDiscoverer.java b/server/src/com/cloud/hypervisor/kvm/discoverer/LibvirtServerDiscoverer.java
index 350b9a7..774f68e 100644
--- a/server/src/com/cloud/hypervisor/kvm/discoverer/LibvirtServerDiscoverer.java
+++ b/server/src/com/cloud/hypervisor/kvm/discoverer/LibvirtServerDiscoverer.java
@@ -139,15 +139,15 @@ public abstract class LibvirtServerDiscoverer extends DiscovererBase implements
InetAddress ia = InetAddress.getByName(hostname);
agentIp = ia.getHostAddress();
String guid = UUID.nameUUIDFromBytes(agentIp.getBytes()).toString();
- String guidWithTail = guid + "-LibvirtComputingResource";/*
- * tail
- * added by
- * agent
- * .java
- */
- if (_resourceMgr.findHostByGuid(guidWithTail) != null) {
- s_logger.debug("Skipping " + agentIp + " because " + guidWithTail + " is already in the database.");
- return null;
+
+ List<HostVO> existingHosts = _resourceMgr.listAllHostsInOneZoneByType(Host.Type.Routing, dcId);
+ if (existingHosts != null) {
+ for (HostVO existingHost : existingHosts) {
+ if (existingHost.getGuid().toLowerCase().startsWith(guid.toLowerCase())) {
+ s_logger.debug("Skipping " + agentIp + " because " + guid + " is already in the database for resource " + existingHost.getGuid());
+ return null;
+ }
+ }
}
sshConnection = new com.trilead.ssh2.Connection(agentIp, 22);
@@ -225,11 +225,11 @@ public abstract class LibvirtServerDiscoverer extends DiscovererBase implements
kvmResource.configure("kvm agent", params);
resources.put(kvmResource, details);
- HostVO connectedHost = waitForHostConnect(dcId, podId, clusterId, guidWithTail);
+ HostVO connectedHost = waitForHostConnect(dcId, podId, clusterId, guid);
if (connectedHost == null)
return null;
- details.put("guid", guidWithTail);
+ details.put("guid", connectedHost.getGuid());
// place a place holder guid derived from cluster ID
if (cluster.getGuid() == null) {
@@ -261,7 +261,7 @@ public abstract class LibvirtServerDiscoverer extends DiscovererBase implements
for (int i = 0; i < _waitTime * 2; i++) {
List<HostVO> hosts = _resourceMgr.listAllUpAndEnabledHosts(Host.Type.Routing, clusterId, podId, dcId);
for (HostVO host : hosts) {
- if (host.getGuid().equalsIgnoreCase(guid)) {
+ if (host.getGuid().toLowerCase().startsWith(guid.toLowerCase())) {
return host;
}
}