mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-10-26 08:42:29 +01:00 
			
		
		
		
	adding applyStaticRoutes method to the network topology/visitor. it will be used by the VPC virtual net manager appliance.
Conflicts: server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java
This commit is contained in:
		
							parent
							
								
									2da3ceda31
								
							
						
					
					
						commit
						b96035f356
					
				| @ -580,7 +580,7 @@ public class NetworkHelperImpl implements NetworkHelper { | |||||||
|                 Long vpcId = routerDeploymentDefinition.getVpc() != null ? routerDeploymentDefinition.getVpc().getId() : null; |                 Long vpcId = routerDeploymentDefinition.getVpc() != null ? routerDeploymentDefinition.getVpc().getId() : null; | ||||||
| 
 | 
 | ||||||
|                 router = new DomainRouterVO(id, routerOffering.getId(), routerDeploymentDefinition.getVirtualProvider().getId(), |                 router = new DomainRouterVO(id, routerOffering.getId(), routerDeploymentDefinition.getVirtualProvider().getId(), | ||||||
|                         VirtualMachineName.getRouterName(id, VirtualNwStatus.instance), template.getId(), template.getHypervisorType(), |                         VirtualMachineName.getRouterName(id, VirtualNetworkStatus.instance), template.getId(), template.getHypervisorType(), | ||||||
|                         template.getGuestOSId(), owner.getDomainId(), owner.getId(), routerDeploymentDefinition.isRedundant(), 0, |                         template.getGuestOSId(), owner.getDomainId(), owner.getId(), routerDeploymentDefinition.isRedundant(), 0, | ||||||
|                         false, RedundantState.UNKNOWN, offerHA, false, vpcId); |                         false, RedundantState.UNKNOWN, offerHA, false, vpcId); | ||||||
| 
 | 
 | ||||||
| @ -774,7 +774,7 @@ public class NetworkHelperImpl implements NetworkHelper { | |||||||
|         s_logger.debug("Adding nic for Virtual Router in Control network "); |         s_logger.debug("Adding nic for Virtual Router in Control network "); | ||||||
|         List<? extends NetworkOffering> offerings = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork); |         List<? extends NetworkOffering> offerings = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemControlNetwork); | ||||||
|         NetworkOffering controlOffering = offerings.get(0); |         NetworkOffering controlOffering = offerings.get(0); | ||||||
|         Network controlConfig = _networkMgr.setupNetwork(VirtualNwStatus.account, controlOffering, routerDeploymentDefinition.getPlan(), |         Network controlConfig = _networkMgr.setupNetwork(VirtualNetworkStatus.account, controlOffering, routerDeploymentDefinition.getPlan(), | ||||||
|                 null, null, false).get(0); |                 null, null, false).get(0); | ||||||
|         networks.put(controlConfig, new ArrayList<NicProfile>()); |         networks.put(controlConfig, new ArrayList<NicProfile>()); | ||||||
|         //3) Public network |         //3) Public network | ||||||
| @ -803,7 +803,7 @@ public class NetworkHelperImpl implements NetworkHelper { | |||||||
|                 defaultNic.setDeviceId(2); |                 defaultNic.setDeviceId(2); | ||||||
|             } |             } | ||||||
|             final NetworkOffering publicOffering = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemPublicNetwork).get(0); |             final NetworkOffering publicOffering = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemPublicNetwork).get(0); | ||||||
|             final List<? extends Network> publicNetworks = _networkMgr.setupNetwork(VirtualNwStatus.account, publicOffering, |             final List<? extends Network> publicNetworks = _networkMgr.setupNetwork(VirtualNetworkStatus.account, publicOffering, | ||||||
|                     routerDeploymentDefinition.getPlan(), null, null, false); |                     routerDeploymentDefinition.getPlan(), null, null, false); | ||||||
|             final String publicIp = defaultNic.getIp4Address(); |             final String publicIp = defaultNic.getIp4Address(); | ||||||
|             // We want to use the identical MAC address for RvR on public interface if possible |             // We want to use the identical MAC address for RvR on public interface if possible | ||||||
|  | |||||||
| @ -656,7 +656,7 @@ Configurable, StateListener<State, VirtualMachine.Event, VirtualMachine> { | |||||||
|             throw new ConfigurationException(msg); |             throw new ConfigurationException(msg); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         VirtualNwStatus.account = _accountMgr.getSystemAccount(); |         VirtualNetworkStatus.account = _accountMgr.getSystemAccount(); | ||||||
| 
 | 
 | ||||||
|         final String aggregationRange = configs.get("usage.stats.job.aggregation.range"); |         final String aggregationRange = configs.get("usage.stats.job.aggregation.range"); | ||||||
|         _usageAggregationRange = NumbersUtil.parseInt(aggregationRange, 1440); |         _usageAggregationRange = NumbersUtil.parseInt(aggregationRange, 1440); | ||||||
|  | |||||||
| @ -18,7 +18,7 @@ package com.cloud.network.router; | |||||||
| 
 | 
 | ||||||
| import com.cloud.user.Account; | import com.cloud.user.Account; | ||||||
| 
 | 
 | ||||||
| public class VirtualNwStatus { | public class VirtualNetworkStatus { | ||||||
| 
 | 
 | ||||||
|     public static String instance = ""; |     public static String instance = ""; | ||||||
| 
 | 
 | ||||||
| @ -187,7 +187,7 @@ public class VpcNetworkHelperImpl extends NetworkHelperImpl implements VpcNetwor | |||||||
|                 publicNic.setIsolationUri(IsolationType.Vlan.toUri(publicIp.getVlanTag())); |                 publicNic.setIsolationUri(IsolationType.Vlan.toUri(publicIp.getVlanTag())); | ||||||
|                 NetworkOffering publicOffering = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemPublicNetwork).get(0); |                 NetworkOffering publicOffering = _networkModel.getSystemAccountNetworkOfferings(NetworkOffering.SystemPublicNetwork).get(0); | ||||||
|                 if (publicNetwork == null) { |                 if (publicNetwork == null) { | ||||||
|                     List<? extends Network> publicNetworks = _networkMgr.setupNetwork(VirtualNwStatus.account, |                     List<? extends Network> publicNetworks = _networkMgr.setupNetwork(VirtualNetworkStatus.account, | ||||||
|                             publicOffering, vpcRouterDeploymentDefinition.getPlan(), null, null, false); |                             publicOffering, vpcRouterDeploymentDefinition.getPlan(), null, null, false); | ||||||
|                     publicNetwork = publicNetworks.get(0); |                     publicNetwork = publicNetworks.get(0); | ||||||
|                 } |                 } | ||||||
|  | |||||||
| @ -39,7 +39,6 @@ import com.cloud.network.dao.NetworkDao; | |||||||
| import com.cloud.network.lb.LoadBalancingRulesManager; | import com.cloud.network.lb.LoadBalancingRulesManager; | ||||||
| import com.cloud.network.router.NetworkHelper; | import com.cloud.network.router.NetworkHelper; | ||||||
| import com.cloud.network.router.RouterControlHelper; | import com.cloud.network.router.RouterControlHelper; | ||||||
| import com.cloud.network.router.VirtualNetworkApplianceManager; |  | ||||||
| import com.cloud.network.router.VirtualRouter; | import com.cloud.network.router.VirtualRouter; | ||||||
| import com.cloud.network.vpc.VpcManager; | import com.cloud.network.vpc.VpcManager; | ||||||
| import com.cloud.network.vpc.dao.VpcDao; | import com.cloud.network.vpc.dao.VpcDao; | ||||||
| @ -58,8 +57,6 @@ import com.cloud.vm.dao.UserVmDao; | |||||||
| 
 | 
 | ||||||
| public abstract class RuleApplier { | public abstract class RuleApplier { | ||||||
| 
 | 
 | ||||||
|     protected VirtualNetworkApplianceManager _applianceManager; |  | ||||||
| 
 |  | ||||||
|     protected NetworkModel _networkModel; |     protected NetworkModel _networkModel; | ||||||
| 
 | 
 | ||||||
|     protected LoadBalancingRulesManager _lbMgr; |     protected LoadBalancingRulesManager _lbMgr; | ||||||
| @ -126,10 +123,6 @@ public abstract class RuleApplier { | |||||||
|         return _router; |         return _router; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public VirtualNetworkApplianceManager getApplianceManager() { |  | ||||||
|         return _applianceManager; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     public void createVmDataCommand(final VirtualRouter router, final UserVm vm, final NicVO nic, final String publicKey, final Commands cmds) { |     public void createVmDataCommand(final VirtualRouter router, final UserVm vm, final NicVO nic, final String publicKey, final Commands cmds) { | ||||||
|         final String serviceOffering = _serviceOfferingDao.findByIdIncludingRemoved(vm.getId(), vm.getServiceOfferingId()).getDisplayText(); |         final String serviceOffering = _serviceOfferingDao.findByIdIncludingRemoved(vm.getId(), vm.getServiceOfferingId()).getDisplayText(); | ||||||
|         final String zoneName = _dcDao.findById(router.getDataCenterId()).getName(); |         final String zoneName = _dcDao.findById(router.getDataCenterId()).getName(); | ||||||
|  | |||||||
							
								
								
									
										61
									
								
								server/src/com/cloud/network/rules/StaticRoutesRules.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								server/src/com/cloud/network/rules/StaticRoutesRules.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,61 @@ | |||||||
|  | // Licensed to the Apache Software Foundation (ASF) under one | ||||||
|  | // or more contributor license agreements.  See the NOTICE file | ||||||
|  | // distributed with this work for additional information | ||||||
|  | // regarding copyright ownership.  The ASF licenses this file | ||||||
|  | // to you under the Apache License, Version 2.0 (the | ||||||
|  | // "License"); you may not use this file except in compliance | ||||||
|  | // with the License.  You may obtain a copy of the License at | ||||||
|  | // | ||||||
|  | //   http://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  | // | ||||||
|  | // Unless required by applicable law or agreed to in writing, | ||||||
|  | // software distributed under the License is distributed on an | ||||||
|  | // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||||||
|  | // KIND, either express or implied.  See the License for the | ||||||
|  | // specific language governing permissions and limitations | ||||||
|  | // under the License. | ||||||
|  | 
 | ||||||
|  | package com.cloud.network.rules; | ||||||
|  | 
 | ||||||
|  | import java.util.List; | ||||||
|  | 
 | ||||||
|  | import org.apache.cloudstack.network.topology.NetworkTopologyVisitor; | ||||||
|  | 
 | ||||||
|  | import com.cloud.agent.api.routing.NetworkElementCommand; | ||||||
|  | import com.cloud.agent.api.routing.SetStaticRouteCommand; | ||||||
|  | import com.cloud.agent.manager.Commands; | ||||||
|  | import com.cloud.dc.DataCenterVO; | ||||||
|  | import com.cloud.exception.ResourceUnavailableException; | ||||||
|  | import com.cloud.network.router.VirtualRouter; | ||||||
|  | import com.cloud.network.vpc.StaticRouteProfile; | ||||||
|  | import com.cloud.vm.DomainRouterVO; | ||||||
|  | 
 | ||||||
|  | public class StaticRoutesRules extends RuleApplier { | ||||||
|  | 
 | ||||||
|  |     private final List<StaticRouteProfile> staticRoutes; | ||||||
|  | 
 | ||||||
|  |     public StaticRoutesRules(final List<StaticRouteProfile> staticRoutes) { | ||||||
|  |         super(null); | ||||||
|  |         this.staticRoutes = staticRoutes; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public List<StaticRouteProfile> getStaticRoutes() { | ||||||
|  |         return staticRoutes; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public boolean accept(final NetworkTopologyVisitor visitor, final VirtualRouter router) throws ResourceUnavailableException { | ||||||
|  |         _router = router; | ||||||
|  | 
 | ||||||
|  |         return visitor.visit(this); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     public void createStaticRouteCommands(final List<StaticRouteProfile> staticRoutes, final DomainRouterVO router, final Commands cmds) { | ||||||
|  |         SetStaticRouteCommand cmd = new SetStaticRouteCommand(staticRoutes); | ||||||
|  |         cmd.setAccessDetail(NetworkElementCommand.ROUTER_IP, _networkHelper.getRouterControlIp(router.getId())); | ||||||
|  |         cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, router.getInstanceName()); | ||||||
|  |         DataCenterVO dcVo = _dcDao.findById(router.getDataCenterId()); | ||||||
|  |         cmd.setAccessDetail(NetworkElementCommand.ZONE_NETWORK_TYPE, dcVo.getNetworkType().toString()); | ||||||
|  |         cmds.addCommand(cmd); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -170,6 +170,7 @@ public class VirtualNetworkApplianceFactory { | |||||||
|         applier._networkOfferingDao = _networkOfferingDao; |         applier._networkOfferingDao = _networkOfferingDao; | ||||||
|         applier._routerDao = _routerDao; |         applier._routerDao = _routerDao; | ||||||
|         applier._routerControlHelper = _routerControlHelper; |         applier._routerControlHelper = _routerControlHelper; | ||||||
|  |         applier._networkHelper = _networkHelper; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public IpAssociationRules createIpAssociationRules(final Network network, final List<? extends PublicIpAddress> ipAddresses) { |     public IpAssociationRules createIpAssociationRules(final Network network, final List<? extends PublicIpAddress> ipAddresses) { | ||||||
| @ -274,8 +275,6 @@ public class VirtualNetworkApplianceFactory { | |||||||
| 
 | 
 | ||||||
|         initBeans(networkAclsRules); |         initBeans(networkAclsRules); | ||||||
| 
 | 
 | ||||||
|         networkAclsRules._networkHelper = _networkHelper; |  | ||||||
| 
 |  | ||||||
|         return networkAclsRules; |         return networkAclsRules; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -44,6 +44,7 @@ import com.cloud.network.rules.RuleApplierWrapper; | |||||||
| import com.cloud.network.rules.UserdataPwdRules; | import com.cloud.network.rules.UserdataPwdRules; | ||||||
| import com.cloud.network.rules.VpcIpAssociationRules; | import com.cloud.network.rules.VpcIpAssociationRules; | ||||||
| import com.cloud.network.vpc.NetworkACLItem; | import com.cloud.network.vpc.NetworkACLItem; | ||||||
|  | import com.cloud.network.vpc.StaticRouteProfile; | ||||||
| import com.cloud.vm.DomainRouterVO; | import com.cloud.vm.DomainRouterVO; | ||||||
| import com.cloud.vm.NicProfile; | import com.cloud.vm.NicProfile; | ||||||
| import com.cloud.vm.VirtualMachine.State; | import com.cloud.vm.VirtualMachine.State; | ||||||
| @ -58,6 +59,13 @@ public class AdvancedNetworkTopology extends BasicNetworkTopology { | |||||||
|     @Qualifier("advancedNetworkVisitor") |     @Qualifier("advancedNetworkVisitor") | ||||||
|     protected AdvancedNetworkVisitor _advancedVisitor; |     protected AdvancedNetworkVisitor _advancedVisitor; | ||||||
| 
 | 
 | ||||||
|  |     @Override | ||||||
|  |     public boolean applyStaticRoutes(final List<StaticRouteProfile> staticRoutes, | ||||||
|  |             final List<DomainRouterVO> routers) throws ResourceUnavailableException { | ||||||
|  |         // TODO Auto-generated method stub | ||||||
|  |         return super.applyStaticRoutes(staticRoutes, routers); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     @Override |     @Override | ||||||
|     public boolean setupDhcpForPvlan(final boolean isAddPvlan, final DomainRouterVO router, final Long hostId, final NicProfile nic) throws ResourceUnavailableException { |     public boolean setupDhcpForPvlan(final boolean isAddPvlan, final DomainRouterVO router, final Long hostId, final NicProfile nic) throws ResourceUnavailableException { | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -37,6 +37,7 @@ import com.cloud.network.rules.DhcpSubNetRules; | |||||||
| import com.cloud.network.rules.NetworkAclsRules; | import com.cloud.network.rules.NetworkAclsRules; | ||||||
| import com.cloud.network.rules.NicPlugInOutRules; | import com.cloud.network.rules.NicPlugInOutRules; | ||||||
| import com.cloud.network.rules.PrivateGatewayRules; | import com.cloud.network.rules.PrivateGatewayRules; | ||||||
|  | import com.cloud.network.rules.StaticRoutesRules; | ||||||
| import com.cloud.network.rules.UserdataPwdRules; | import com.cloud.network.rules.UserdataPwdRules; | ||||||
| import com.cloud.network.rules.VpcIpAssociationRules; | import com.cloud.network.rules.VpcIpAssociationRules; | ||||||
| import com.cloud.network.vpc.NetworkACLItem; | import com.cloud.network.vpc.NetworkACLItem; | ||||||
| @ -160,4 +161,10 @@ public class AdvancedNetworkVisitor extends BasicNetworkVisitor { | |||||||
| 
 | 
 | ||||||
|         return _networkGeneralHelper.sendCommandsToRouter(router, cmds); |         return _networkGeneralHelper.sendCommandsToRouter(router, cmds); | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public boolean visit(final StaticRoutesRules staticRoutesRules) throws ResourceUnavailableException { | ||||||
|  | 
 | ||||||
|  |         return false; | ||||||
|  |     } | ||||||
| } | } | ||||||
| @ -59,6 +59,7 @@ import com.cloud.network.rules.UserdataToRouterRules; | |||||||
| import com.cloud.network.rules.VirtualNetworkApplianceFactory; | import com.cloud.network.rules.VirtualNetworkApplianceFactory; | ||||||
| import com.cloud.network.rules.VpnRules; | import com.cloud.network.rules.VpnRules; | ||||||
| import com.cloud.network.vpc.NetworkACLItem; | import com.cloud.network.vpc.NetworkACLItem; | ||||||
|  | import com.cloud.network.vpc.StaticRouteProfile; | ||||||
| import com.cloud.utils.exception.CloudRuntimeException; | import com.cloud.utils.exception.CloudRuntimeException; | ||||||
| import com.cloud.vm.DomainRouterVO; | import com.cloud.vm.DomainRouterVO; | ||||||
| import com.cloud.vm.NicProfile; | import com.cloud.vm.NicProfile; | ||||||
| @ -107,6 +108,11 @@ public class BasicNetworkTopology implements NetworkTopology { | |||||||
|         return null; |         return null; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     @Override | ||||||
|  |     public boolean applyStaticRoutes(final List<StaticRouteProfile> staticRoutes, final List<DomainRouterVO> routers) throws ResourceUnavailableException { | ||||||
|  |         throw new CloudRuntimeException("applyStaticRoutes not implemented in Basic Network Topology."); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     @Override |     @Override | ||||||
|     public boolean applyNetworkACLs(final Network network, final List<? extends NetworkACLItem> rules, final List<? extends VirtualRouter> routers, final boolean isPrivateGateway) |     public boolean applyNetworkACLs(final Network network, final List<? extends NetworkACLItem> rules, final List<? extends VirtualRouter> routers, final boolean isPrivateGateway) | ||||||
|             throws ResourceUnavailableException { |             throws ResourceUnavailableException { | ||||||
|  | |||||||
| @ -50,6 +50,7 @@ import com.cloud.network.rules.SshKeyToRouterRules; | |||||||
| import com.cloud.network.rules.StaticNat; | import com.cloud.network.rules.StaticNat; | ||||||
| import com.cloud.network.rules.StaticNatRule; | import com.cloud.network.rules.StaticNatRule; | ||||||
| import com.cloud.network.rules.StaticNatRules; | import com.cloud.network.rules.StaticNatRules; | ||||||
|  | import com.cloud.network.rules.StaticRoutesRules; | ||||||
| import com.cloud.network.rules.UserdataPwdRules; | import com.cloud.network.rules.UserdataPwdRules; | ||||||
| import com.cloud.network.rules.UserdataToRouterRules; | import com.cloud.network.rules.UserdataToRouterRules; | ||||||
| import com.cloud.network.rules.VpcIpAssociationRules; | import com.cloud.network.rules.VpcIpAssociationRules; | ||||||
| @ -271,4 +272,9 @@ public class BasicNetworkVisitor extends NetworkTopologyVisitor { | |||||||
|     public boolean visit(final PrivateGatewayRules userdata) throws ResourceUnavailableException { |     public boolean visit(final PrivateGatewayRules userdata) throws ResourceUnavailableException { | ||||||
|         throw new CloudRuntimeException("PrivateGatewayRules not implemented in Basic Network Topology."); |         throw new CloudRuntimeException("PrivateGatewayRules not implemented in Basic Network Topology."); | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     @Override | ||||||
|  |     public boolean visit(final StaticRoutesRules staticRoutesRules) throws ResourceUnavailableException { | ||||||
|  |         throw new CloudRuntimeException("StaticRoutesRules not implemented in Basic Network Topology."); | ||||||
|  |     } | ||||||
| } | } | ||||||
| @ -32,6 +32,7 @@ import com.cloud.network.rules.RuleApplier; | |||||||
| import com.cloud.network.rules.RuleApplierWrapper; | import com.cloud.network.rules.RuleApplierWrapper; | ||||||
| import com.cloud.network.rules.StaticNat; | import com.cloud.network.rules.StaticNat; | ||||||
| import com.cloud.network.vpc.NetworkACLItem; | import com.cloud.network.vpc.NetworkACLItem; | ||||||
|  | import com.cloud.network.vpc.StaticRouteProfile; | ||||||
| import com.cloud.vm.DomainRouterVO; | import com.cloud.vm.DomainRouterVO; | ||||||
| import com.cloud.vm.NicProfile; | import com.cloud.vm.NicProfile; | ||||||
| import com.cloud.vm.VirtualMachineProfile; | import com.cloud.vm.VirtualMachineProfile; | ||||||
| @ -55,6 +56,8 @@ public interface NetworkTopology { | |||||||
|     boolean applyNetworkACLs(final Network network, final List<? extends NetworkACLItem> rules, final List<? extends VirtualRouter> routers, final boolean isPrivateGateway) |     boolean applyNetworkACLs(final Network network, final List<? extends NetworkACLItem> rules, final List<? extends VirtualRouter> routers, final boolean isPrivateGateway) | ||||||
|             throws ResourceUnavailableException; |             throws ResourceUnavailableException; | ||||||
| 
 | 
 | ||||||
|  |     boolean applyStaticRoutes(final List<StaticRouteProfile> staticRoutes, final List<DomainRouterVO> routers) throws ResourceUnavailableException; | ||||||
|  | 
 | ||||||
|     // ====== USER FOR GUEST NETWORK AND VCP ====== // |     // ====== USER FOR GUEST NETWORK AND VCP ====== // | ||||||
| 
 | 
 | ||||||
|     boolean applyDhcpEntry(final Network network, final NicProfile nic, final VirtualMachineProfile profile, final DeployDestination dest, final List<DomainRouterVO> routers) |     boolean applyDhcpEntry(final Network network, final NicProfile nic, final VirtualMachineProfile profile, final DeployDestination dest, final List<DomainRouterVO> routers) | ||||||
|  | |||||||
| @ -29,6 +29,7 @@ import com.cloud.network.rules.PasswordToRouterRules; | |||||||
| import com.cloud.network.rules.PrivateGatewayRules; | import com.cloud.network.rules.PrivateGatewayRules; | ||||||
| import com.cloud.network.rules.SshKeyToRouterRules; | import com.cloud.network.rules.SshKeyToRouterRules; | ||||||
| import com.cloud.network.rules.StaticNatRules; | import com.cloud.network.rules.StaticNatRules; | ||||||
|  | import com.cloud.network.rules.StaticRoutesRules; | ||||||
| import com.cloud.network.rules.UserdataPwdRules; | import com.cloud.network.rules.UserdataPwdRules; | ||||||
| import com.cloud.network.rules.UserdataToRouterRules; | import com.cloud.network.rules.UserdataToRouterRules; | ||||||
| import com.cloud.network.rules.VpcIpAssociationRules; | import com.cloud.network.rules.VpcIpAssociationRules; | ||||||
| @ -73,4 +74,5 @@ public abstract class NetworkTopologyVisitor { | |||||||
|     public abstract boolean visit(DhcpSubNetRules subnet) throws ResourceUnavailableException; |     public abstract boolean visit(DhcpSubNetRules subnet) throws ResourceUnavailableException; | ||||||
| 
 | 
 | ||||||
|     public abstract boolean visit(NicPlugInOutRules nicPlugInOutRules) throws ResourceUnavailableException; |     public abstract boolean visit(NicPlugInOutRules nicPlugInOutRules) throws ResourceUnavailableException; | ||||||
|  |     public abstract boolean visit(StaticRoutesRules staticRoutesRules) throws ResourceUnavailableException; | ||||||
| } | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user