CLOUDSTACK-316: if public network is not specified, set to guest network

Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/c6bc77c2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/c6bc77c2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/c6bc77c2

Branch: refs/heads/junit-tests
Commit: c6bc77c297d08d2b084b8fdfe77b956ffca07005
Parents: e905f61
Author: Edison Su <[email protected]>
Authored: Thu Oct 11 16:19:53 2012 -0700
Committer: Chip Childers <[email protected]>
Committed: Mon Oct 15 16:19:18 2012 -0400

----------------------------------------------------------------------
 .../kvm/discoverer/KvmServerDiscoverer.java        |   36 +++++++++-----
 1 files changed, 23 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c6bc77c2/server/src/com/cloud/hypervisor/kvm/discoverer/KvmServerDiscoverer.java
----------------------------------------------------------------------
diff --git 
a/server/src/com/cloud/hypervisor/kvm/discoverer/KvmServerDiscoverer.java 
b/server/src/com/cloud/hypervisor/kvm/discoverer/KvmServerDiscoverer.java
index 03746e7..9d6e5b6 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 <PhysicalNetworkSetupInfo> 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();
                            }
                        }
-
-                        String parameters = " -m " + _hostIp + " -z " + dcId + 
" -p " + podId + " -c " + clusterId + " -g " + guid + " -a";
                        
-                       if (kvmPublicNic != null) {
-                               parameters += " --pubNic=" + kvmPublicNic;
-                       }
+                       if (kvmPrivateNic == null && kvmPublicNic == null && 
kvmGuestNic == null) {
+                               kvmPrivateNic = _kvmPrivateNic;
+                               kvmPublicNic = _kvmPublicNic;
+                               kvmGuestNic = _kvmGuestNic;
+                       } 
                        
-                       if (kvmPrivateNic != null) {
-                               parameters += " --prvNic=" + kvmPrivateNic;
+                       if (kvmPublicNic == null) {
+                               kvmPublicNic = (kvmGuestNic != null) ? 
kvmGuestNic : kvmPrivateNic;
+                       } 
+                       
+                       if (kvmPrivateNic == null) {
+                               kvmPrivateNic = (kvmPublicNic != null) ? 
kvmPublicNic : kvmGuestNic;
                        }
                        
-                       if (kvmGuestNic != null) {
-                           parameters += " --guestNic=" + 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;
+
                        SSHCmdHelper.sshExecuteCmd(sshConnection, 
"cloud-setup-agent " + parameters, 3);
                        
                        KvmDummyResourceBase kvmResource = new 
KvmDummyResourceBase();

Reply via email to