From d35a9dde955c16528ade0f0705be3ac7045519c1 Mon Sep 17 00:00:00 2001 From: frank Date: Fri, 16 Mar 2012 14:48:03 -0700 Subject: [PATCH] Bug 14189 - multiple physical nw - SSVM fail to download guest templates from storage server which is in isolated network only accessible by host's bridge if storage network is present, don't set route through private ip when adding internal download site status 14189: resovled fixed --- .../storage/resource/NfsSecondaryStorageResource.java | 7 ++++++- .../storage/secondary/SecondaryStorageManagerImpl.java | 3 --- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/core/src/com/cloud/storage/resource/NfsSecondaryStorageResource.java b/core/src/com/cloud/storage/resource/NfsSecondaryStorageResource.java index e320c71481c..2f9a40c44d2 100755 --- a/core/src/com/cloud/storage/resource/NfsSecondaryStorageResource.java +++ b/core/src/com/cloud/storage/resource/NfsSecondaryStorageResource.java @@ -797,7 +797,12 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S s_logger.warn("Error in allowing outgoing to " + destCidr + ", err=" + result ); return "Error in allowing outgoing to " + destCidr + ", err=" + result; } - addRouteToInternalIpOrCidr(_localgw, _eth1ip, _eth1mask, destCidr); + + if (_storageIp == null) { + /* only set route when no storage network present */ + addRouteToInternalIpOrCidr(_localgw, _eth1ip, _eth1mask, destCidr); + } + return null; } diff --git a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java index 969e949dcf1..32f4fecfb15 100755 --- a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java +++ b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java @@ -374,9 +374,6 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, V } } List nics = _networkMgr.getNicsForTraffic(secStorageVm.getId(), TrafficType.Management); - Nic privateNic = nics.get(0); - String privateCidr = NetUtils.ipAndNetMaskToCidr(privateNic.getIp4Address(), privateNic.getNetmask()); - String publicCidr = NetUtils.ipAndNetMaskToCidr(secStorageVm.getPublicIpAddress(), secStorageVm.getPublicNetmask()); setupCmd.setAllowedInternalSites(allowedCidrs.toArray(new String[allowedCidrs.size()])); } String copyPasswd = _configDao.getValue("secstorage.copy.password");