From 513b680d96d07fd44479995ac5eb6358725c9421 Mon Sep 17 00:00:00 2001 From: Edison Su Date: Thu, 11 Oct 2012 16:19:53 -0700 Subject: [PATCH] CLOUDSTACK-316: if public network is not specified, set to guest network --- .../kvm/discoverer/KvmServerDiscoverer.java | 44 ++++++++++++------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/server/src/com/cloud/hypervisor/kvm/discoverer/KvmServerDiscoverer.java b/server/src/com/cloud/hypervisor/kvm/discoverer/KvmServerDiscoverer.java index 03746e7b35b..9d6e5b6d1ad 100644 --- a/server/src/com/cloud/hypervisor/kvm/discoverer/KvmServerDiscoverer.java +++ b/server/src/com/cloud/hypervisor/kvm/discoverer/KvmServerDiscoverer.java @@ -176,9 +176,9 @@ public class KvmServerDiscoverer extends DiscovererBase implements Discoverer, } List netInfos = _networkMgr.getPhysicalNetworkInfo(dcId, HypervisorType.KVM); - String kvmPrivateNic = _kvmPrivateNic; - String kvmPublicNic = _kvmPublicNic; - String kvmGuestNic = _kvmGuestNic; + String kvmPrivateNic = null; + String kvmPublicNic = null; + String kvmGuestNic = null; for (PhysicalNetworkSetupInfo info : netInfos) { if (info.getPrivateNetworkName() != null) { @@ -191,21 +191,31 @@ public class KvmServerDiscoverer extends DiscovererBase implements Discoverer, kvmGuestNic = info.getGuestNetworkName(); } } + + if (kvmPrivateNic == null && kvmPublicNic == null && kvmGuestNic == null) { + kvmPrivateNic = _kvmPrivateNic; + kvmPublicNic = _kvmPublicNic; + kvmGuestNic = _kvmGuestNic; + } + + if (kvmPublicNic == null) { + kvmPublicNic = (kvmGuestNic != null) ? kvmGuestNic : kvmPrivateNic; + } + + if (kvmPrivateNic == null) { + kvmPrivateNic = (kvmPublicNic != null) ? kvmPublicNic : kvmGuestNic; + } + + if (kvmGuestNic == null) { + kvmGuestNic = (kvmPublicNic != null) ? kvmPublicNic : kvmPrivateNic; + } + + String parameters = " -m " + _hostIp + " -z " + dcId + " -p " + podId + " -c " + clusterId + " -g " + guid + " -a"; + + parameters += " --pubNic=" + kvmPublicNic; + parameters += " --prvNic=" + kvmPrivateNic; + parameters += " --guestNic=" + kvmGuestNic; - String parameters = " -m " + _hostIp + " -z " + dcId + " -p " + podId + " -c " + clusterId + " -g " + guid + " -a"; - - if (kvmPublicNic != null) { - parameters += " --pubNic=" + kvmPublicNic; - } - - if (kvmPrivateNic != null) { - parameters += " --prvNic=" + kvmPrivateNic; - } - - if (kvmGuestNic != null) { - parameters += " --guestNic=" + kvmGuestNic; - } - SSHCmdHelper.sshExecuteCmd(sshConnection, "cloud-setup-agent " + parameters, 3); KvmDummyResourceBase kvmResource = new KvmDummyResourceBase();