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 19:13:21 UTC
git commit: updated refs/heads/master to cd55413
Repository: cloudstack
Updated Branches:
refs/heads/master 487d90148 -> cd55413c6
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>
This closes #286
(cherry picked from commit 803b946c2feae193d04219d2360c6d4440f212f1)
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/cd55413c
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/cd55413c
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/cd55413c
Branch: refs/heads/master
Commit: cd55413c6ac469c49f1c19b9596a9390cedd611b
Parents: 487d901
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 18:12:10 2015 +0100
----------------------------------------------------------------------
.../kvm/discoverer/LibvirtServerDiscoverer.java | 24 ++++++++++----------
1 file changed, 12 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/cd55413c/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;
}
}