From e6d73fb1149f648eadb279c620f001400da488ab Mon Sep 17 00:00:00 2001 From: Alena Prokharchyk Date: Thu, 5 Jul 2012 10:32:51 -0700 Subject: [PATCH] VPC: added dns1/dns2 + networkDomain to the list of bootload args passed on VPC VR start --- .../VirtualNetworkApplianceManagerImpl.java | 5 ----- .../VpcVirtualNetworkApplianceManagerImpl.java | 18 +++++++++++++++--- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java index 456677aac57..b5aed7e089b 100755 --- a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java @@ -48,7 +48,6 @@ import com.cloud.agent.api.GetDomRVersionCmd; import com.cloud.agent.api.ModifySshKeysCommand; import com.cloud.agent.api.NetworkUsageAnswer; import com.cloud.agent.api.NetworkUsageCommand; -import com.cloud.agent.api.RebootAnswer; import com.cloud.agent.api.StartupCommand; import com.cloud.agent.api.StopAnswer; import com.cloud.agent.api.check.CheckSshAnswer; @@ -63,7 +62,6 @@ import com.cloud.agent.api.routing.SetFirewallRulesCommand; import com.cloud.agent.api.routing.SetPortForwardingRulesCommand; import com.cloud.agent.api.routing.SetPortForwardingRulesVpcCommand; import com.cloud.agent.api.routing.SetStaticNatRulesCommand; -import com.cloud.agent.api.routing.Site2SiteVpnCfgCommand; import com.cloud.agent.api.routing.VmDataCommand; import com.cloud.agent.api.routing.VpnUsersCfgCommand; import com.cloud.agent.api.to.FirewallRuleTO; @@ -129,9 +127,6 @@ import com.cloud.network.Networks.TrafficType; import com.cloud.network.PhysicalNetworkServiceProvider; import com.cloud.network.PublicIpAddress; import com.cloud.network.RemoteAccessVpn; -import com.cloud.network.Site2SiteCustomerGatewayVO; -import com.cloud.network.Site2SiteVpnConnection; -import com.cloud.network.Site2SiteVpnGatewayVO; import com.cloud.network.SshKeysDistriMonitor; import com.cloud.network.VirtualNetworkApplianceService; import com.cloud.network.VirtualRouterProvider; diff --git a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java index 82303b205d2..4805df8f1d5 100644 --- a/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java +++ b/server/src/com/cloud/network/router/VpcVirtualNetworkApplianceManagerImpl.java @@ -666,21 +666,33 @@ public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplian ReservationContext context) { if (profile.getVirtualMachine().getVpcId() != null) { - //remove public and guest nics as we will plug them later + String defaultDns1 = null; + String defaultDns2 = null; + //remove public and guest nics as we will plug them later Iterator it = profile.getNics().iterator(); while (it.hasNext()) { NicProfile nic = it.next(); if (nic.getTrafficType() == TrafficType.Public || nic.getTrafficType() == TrafficType.Guest) { + //save dns information + if(nic.getTrafficType() == TrafficType.Public) { + defaultDns1 = nic.getDns1(); + defaultDns2 = nic.getDns2(); + } s_logger.debug("Removing nic of type " + nic.getTrafficType() + " from the nics passed on vm start. " + "The nic will be plugged later"); it.remove(); } } - //add vpc cidr to the boot load args + //add vpc cidr/dns/networkdomain to the boot load args StringBuilder buf = profile.getBootArgsBuilder(); Vpc vpc = _vpcMgr.getVpc(profile.getVirtualMachine().getVpcId()); - buf.append(" vpccidr=" + vpc.getCidr()); + buf.append(" vpccidr=" + vpc.getCidr() + " domain=" + vpc.getNetworkDomain()); + + buf.append(" dns1=").append(defaultDns1); + if (defaultDns2 != null) { + buf.append(" dns2=").append(defaultDns2); + } } return super.finalizeVirtualMachineProfile(profile, dest, context);