diff --git a/agent/src/com/cloud/agent/resource/consoleproxy/ConsoleProxyResource.java b/agent/src/com/cloud/agent/resource/consoleproxy/ConsoleProxyResource.java index 9f645f8f479..c2f45ad35be 100644 --- a/agent/src/com/cloud/agent/resource/consoleproxy/ConsoleProxyResource.java +++ b/agent/src/com/cloud/agent/resource/consoleproxy/ConsoleProxyResource.java @@ -295,20 +295,20 @@ public class ConsoleProxyResource extends ServerResourceBase implements ServerRe _proxyVmId = NumbersUtil.parseLong(value, 0); if (_localgw != null) { - String internalDns1 = (String)params.get("dns1"); - String internalDns2 = (String)params.get("dns2"); + String mgmtHost = (String) params.get("host"); + addRouteToInternalIpOrCidr(_localgw, _eth1ip, _eth1mask, mgmtHost); - if (internalDns1 == null) { - s_logger.warn("No DNS entry found during configuration of NfsSecondaryStorage"); - } else { - addRouteToInternalIpOrCidr(_localgw, _eth1ip, _eth1mask, internalDns1); - } - - String mgmtHost = (String)params.get("host"); - addRouteToInternalIpOrCidr(_localgw, _eth1ip, _eth1mask, mgmtHost); - if (internalDns2 != null) { - addRouteToInternalIpOrCidr(_localgw, _eth1ip, _eth1mask, internalDns2); - } + String internalDns1 = (String) params.get("internaldns1"); + if (internalDns1 == null) { + s_logger.warn("No DNS entry found during configuration of NfsSecondaryStorage"); + } else { + addRouteToInternalIpOrCidr(_localgw, _eth1ip, _eth1mask, internalDns1); + } + + String internalDns2 = (String) params.get("internaldns2"); + if (internalDns2 != null) { + addRouteToInternalIpOrCidr(_localgw, _eth1ip, _eth1mask, internalDns2); + } } _pubIp = (String)params.get("public.ip"); diff --git a/core/src/com/cloud/storage/resource/NfsSecondaryStorageResource.java b/core/src/com/cloud/storage/resource/NfsSecondaryStorageResource.java index 3b5e5728ad5..be645af9dd5 100755 --- a/core/src/com/cloud/storage/resource/NfsSecondaryStorageResource.java +++ b/core/src/com/cloud/storage/resource/NfsSecondaryStorageResource.java @@ -388,14 +388,6 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S _localgw = (String)params.get("localgw"); if (_localgw != null) { //can only happen inside service vm _eth1mask = (String)params.get("eth1mask"); - String internalDns1 = (String)params.get("dns1"); - String internalDns2 = (String)params.get("dns2"); - - if (internalDns1 == null) { - s_logger.warn("No DNS entry found during configuration of NfsSecondaryStorage"); - } else { - addRouteToInternalIpOrCidr(_localgw, _eth1ip, _eth1mask, internalDns1); - } String mgmtHost = (String)params.get("host"); String nfsHost = NfsUtils.getHostPart(_nfsPath); @@ -412,10 +404,19 @@ public class NfsSecondaryStorageResource extends ServerResourceBase implements S } addRouteToInternalIpOrCidr(_localgw, _eth1ip, _eth1mask, nfsHost); addRouteToInternalIpOrCidr(_localgw, _eth1ip, _eth1mask, mgmtHost); + + String internalDns1 = (String)params.get("internaldns1"); + String internalDns2 = (String)params.get("internaldns2"); + + if (internalDns1 == null) { + s_logger.warn("No DNS entry found during configuration of NfsSecondaryStorage"); + } else { + addRouteToInternalIpOrCidr(_localgw, _eth1ip, _eth1mask, internalDns1); + } + if (internalDns2 != null) { addRouteToInternalIpOrCidr(_localgw, _eth1ip, _eth1mask, internalDns2); } - } String useSsl = (String)params.get("sslcopy"); if (useSsl != null) { diff --git a/patches/systemvm/debian/config/etc/init.d/cloud-early-config b/patches/systemvm/debian/config/etc/init.d/cloud-early-config index f9ee700419c..8b9db638e3b 100755 --- a/patches/systemvm/debian/config/etc/init.d/cloud-early-config +++ b/patches/systemvm/debian/config/etc/init.d/cloud-early-config @@ -196,10 +196,21 @@ setup_common() { hostname $NAME #Nameserver + if [ -n "$internalNS1" ] + then + echo "nameserver $internalNS1" > /etc/dnsmasq-resolv.conf + echo "nameserver $internalNS1" > /etc/resolv.conf + fi + + if [ -n "$internalNS2" ] + then + echo "nameserver $internalNS2" >> /etc/dnsmasq-resolv.conf + echo "nameserver $internalNS2" >> /etc/resolv.conf + fi if [ -n "$NS1" ] then - echo "nameserver $NS1" > /etc/dnsmasq-resolv.conf - echo "nameserver $NS1" > /etc/resolv.conf + echo "nameserver $NS1" >> /etc/dnsmasq-resolv.conf + echo "nameserver $NS1" >> /etc/resolv.conf fi if [ -n "$NS2" ] @@ -446,6 +457,12 @@ for i in $CMDLINE eth2mask) ETH2_MASK=$VALUE ;; + internaldns1) + internalNS1=$VALUE + ;; + internaldns2) + internalNS2=$VALUE + ;; dns1) NS1=$VALUE ;; diff --git a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java index 2c66af5c817..4d442b47ea6 100644 --- a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java +++ b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java @@ -1416,10 +1416,6 @@ public class ConsoleProxyManagerImpl implements ConsoleProxyManager, ConsoleProx if (nic.isDefaultNic()) { buf.append(" gateway=").append(nic.getGateway()); - buf.append(" dns1=").append(nic.getDns1()); - if (nic.getDns2() != null) { - buf.append(" dns2=").append(nic.getDns2()); - } } if (nic.getTrafficType() == TrafficType.Management) { @@ -1435,7 +1431,16 @@ public class ConsoleProxyManagerImpl implements ConsoleProxyManager, ConsoleProx if (externalDhcp) { buf.append(" bootproto=dhcp"); } - + DataCenterVO dc = _dcDao.findById(profile.getVirtualMachine().getDataCenterId()); + buf.append(" internaldns1=").append(dc.getInternalDns1()); + if (dc.getInternalDns2() != null) { + buf.append(" internaldns2=").append(dc.getInternalDns2()); + } + buf.append(" dns1=").append(dc.getDns1()); + if (dc.getDns2() != null) { + buf.append(" dns2=").append(dc.getDns2()); + } + String bootArgs = buf.toString(); if (s_logger.isDebugEnabled()) { s_logger.debug("Boot Args for " + profile + ": " + bootArgs); diff --git a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java index 892d2f4dbb3..1ed734e2da5 100644 --- a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java +++ b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java @@ -995,7 +995,6 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, V if (NetUtils.isValidCIDR(mgmt_cidr)) { buf.append(" mgmtcidr=").append(mgmt_cidr); } - buf.append(" localgw=").append(dest.getPod().getGateway()); buf.append(" private.network.device=").append("eth").append(deviceId); } else if (nic.getTrafficType() == TrafficType.Public) { @@ -1009,9 +1008,13 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageVmManager, V } DataCenterVO dc = _dcDao.findById(profile.getVirtualMachine().getDataCenterId()); - buf.append(" dns1=").append(dc.getInternalDns1()); + buf.append(" internaldns1=").append(dc.getInternalDns1()); if (dc.getInternalDns2() != null) { - buf.append(" dns2=").append(dc.getInternalDns2()); + buf.append(" internaldns2=").append(dc.getInternalDns2()); + } + buf.append(" dns1=").append(dc.getDns1()); + if (dc.getDns2() != null) { + buf.append(" dns2=").append(dc.getDns2()); } String bootArgs = buf.toString();