You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ap...@apache.org on 2012/08/29 11:09:12 UTC
git commit: bug CS-15398: fix for basic zone dns issue in multiple
pods
Updated Branches:
refs/heads/master f128d8e12 -> eb4a3cf6c
bug CS-15398: fix for basic zone dns issue in multiple pods
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/eb4a3cf6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/eb4a3cf6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/eb4a3cf6
Branch: refs/heads/master
Commit: eb4a3cf6c8dffe121fb2fb82d7ba66dc0fe35406
Parents: f128d8e
Author: Jayapal <ja...@citrix.com>
Authored: Wed Aug 29 14:29:25 2012 +0530
Committer: Abhinandan Prateek <ap...@apache.org>
Committed: Wed Aug 29 14:33:27 2012 +0530
----------------------------------------------------------------------
.../router/VirtualNetworkApplianceManagerImpl.java | 52 ++++++++------
1 files changed, 30 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/eb4a3cf6/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
index 0aaad10..f98cbc4 100755
--- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
+++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
@@ -2411,28 +2411,36 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
});
}
- private String findDefaultDnsIp(long userVmId) {
- NicVO defaultNic = _nicDao.findDefaultNicForVM(userVmId);
-
- //check if DNS provider is the domR
- if (!_networkMgr.isProviderSupportServiceInNetwork(defaultNic.getNetworkId(), Service.Dns, Provider.VirtualRouter)) {
- return null;
- }
-
- NetworkOfferingVO offering = _networkOfferingDao.findById(_networkDao.findById(defaultNic.getNetworkId()).getNetworkOfferingId());
- if (offering.getRedundantRouter()) {
- return findGatewayIp(userVmId);
- }
-
- //find domR's nic in the network
- NicVO domrDefaultNic = _nicDao.findByNetworkIdTypeAndGateway(defaultNic.getNetworkId(), VirtualMachine.Type.DomainRouter, defaultNic.getGateway());
- return domrDefaultNic.getIp4Address();
- }
-
- private String findGatewayIp(long userVmId) {
- NicVO defaultNic = _nicDao.findDefaultNicForVM(userVmId);
- return defaultNic.getGateway();
- }
+ private String findDefaultDnsIp(long userVmId) {
+ NicVO defaultNic = _nicDao.findDefaultNicForVM(userVmId);
+
+ //check if DNS provider is the domR
+ if (!_networkMgr.isProviderSupportServiceInNetwork(defaultNic.getNetworkId(), Service.Dns, Provider.VirtualRouter)) {
+ return null;
+ }
+
+ NetworkOfferingVO offering = _networkOfferingDao.findById(_networkDao.findById(defaultNic.getNetworkId()).getNetworkOfferingId());
+ if (offering.getRedundantRouter()) {
+ return findGatewayIp(userVmId);
+ }
+
+ DataCenter dc = _dcDao.findById(_networkMgr.getNetwork(defaultNic.getNetworkId()).getDataCenterId());
+ boolean isZoneBasic = (dc.getNetworkType() == NetworkType.Basic);
+
+ //find domR's nic in the network
+ NicVO domrDefaultNic;
+ if (isZoneBasic){
+ domrDefaultNic = _nicDao.findByNetworkIdTypeAndGateway(defaultNic.getNetworkId(), VirtualMachine.Type.DomainRouter, defaultNic.getGateway());
+ } else{
+ domrDefaultNic = _nicDao.findByNetworkIdAndType(defaultNic.getNetworkId(), VirtualMachine.Type.DomainRouter);
+ }
+ return domrDefaultNic.getIp4Address();
+ }
+
+ private String findGatewayIp(long userVmId) {
+ NicVO defaultNic = _nicDao.findDefaultNicForVM(userVmId);
+ return defaultNic.getGateway();
+ }
@Override
public boolean applyUserData(Network network, final NicProfile nic, VirtualMachineProfile<UserVm> profile, DeployDestination dest, List<DomainRouterVO> routers)