mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-11-04 00:02:37 +01:00 
			
		
		
		
	server: apply rules when VR of Domain VPC is recreated (#8354)
* apply rules when VR is recreated * Apply suggestions from code review Co-authored-by: Daniel Augusto Veronezi Salvador <38945620+GutoVeronezi@users.noreply.github.com> Co-authored-by: Gabriel <gabriel.fernandes@scclouds.com.br>
This commit is contained in:
		
							parent
							
								
									a4e9d7f21a
								
							
						
					
					
						commit
						a5c8bb3bfc
					
				@ -2442,7 +2442,7 @@ Configurable, StateListener<VirtualMachine.State, VirtualMachine.Event, VirtualM
 | 
			
		||||
    protected void finalizeNetworkRulesForNetwork(final Commands cmds, final DomainRouterVO router, final Provider provider, final Long guestNetworkId) {
 | 
			
		||||
        s_logger.debug("Resending ipAssoc, port forwarding, load balancing rules as a part of Virtual router start");
 | 
			
		||||
 | 
			
		||||
        final ArrayList<? extends PublicIpAddress> publicIps = getPublicIpsToApply(router, provider, guestNetworkId);
 | 
			
		||||
        final ArrayList<? extends PublicIpAddress> publicIps = getPublicIpsToApply(provider, guestNetworkId);
 | 
			
		||||
        final List<FirewallRule> firewallRulesEgress = new ArrayList<FirewallRule>();
 | 
			
		||||
        final List<FirewallRule> ipv6firewallRules = new ArrayList<>();
 | 
			
		||||
 | 
			
		||||
@ -2649,7 +2649,7 @@ Configurable, StateListener<VirtualMachine.State, VirtualMachine.Event, VirtualM
 | 
			
		||||
    protected void finalizeIpAssocForNetwork(final Commands cmds, final VirtualRouter router, final Provider provider, final Long guestNetworkId,
 | 
			
		||||
            final Map<String, String> vlanMacAddress) {
 | 
			
		||||
 | 
			
		||||
        final ArrayList<? extends PublicIpAddress> publicIps = getPublicIpsToApply(router, provider, guestNetworkId);
 | 
			
		||||
        final ArrayList<? extends PublicIpAddress> publicIps = getPublicIpsToApply(provider, guestNetworkId);
 | 
			
		||||
 | 
			
		||||
        if (publicIps != null && !publicIps.isEmpty()) {
 | 
			
		||||
            s_logger.debug("Found " + publicIps.size() + " ip(s) to apply as a part of domR " + router + " start.");
 | 
			
		||||
@ -2660,18 +2660,10 @@ Configurable, StateListener<VirtualMachine.State, VirtualMachine.Event, VirtualM
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    protected ArrayList<? extends PublicIpAddress> getPublicIpsToApply(final VirtualRouter router, final Provider provider, final Long guestNetworkId,
 | 
			
		||||
    protected ArrayList<? extends PublicIpAddress> getPublicIpsToApply(final Provider provider, final Long guestNetworkId,
 | 
			
		||||
            final com.cloud.network.IpAddress.State... skipInStates) {
 | 
			
		||||
        final long ownerId = router.getAccountId();
 | 
			
		||||
        final List<? extends IpAddress> userIps;
 | 
			
		||||
 | 
			
		||||
        final Network guestNetwork = _networkDao.findById(guestNetworkId);
 | 
			
		||||
        if (guestNetwork.getGuestType() == GuestType.Shared) {
 | 
			
		||||
            // ignore the account id for the shared network
 | 
			
		||||
            userIps = _networkModel.listPublicIpsAssignedToGuestNtwk(guestNetworkId, null);
 | 
			
		||||
        } else {
 | 
			
		||||
            userIps = _networkModel.listPublicIpsAssignedToGuestNtwk(ownerId, guestNetworkId, null);
 | 
			
		||||
        }
 | 
			
		||||
        final List<? extends IpAddress> userIps = _networkModel.listPublicIpsAssignedToGuestNtwk(guestNetworkId, null);
 | 
			
		||||
 | 
			
		||||
        final List<PublicIp> allPublicIps = new ArrayList<PublicIp>();
 | 
			
		||||
        if (userIps != null && !userIps.isEmpty()) {
 | 
			
		||||
 | 
			
		||||
@ -747,7 +747,7 @@ public class VpcVirtualNetworkApplianceManagerImpl extends VirtualNetworkApplian
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (domainRouterVO.getState() == State.Starting || domainRouterVO.getState() == State.Running) {
 | 
			
		||||
            final ArrayList<? extends PublicIpAddress> publicIps = getPublicIpsToApply(domainRouterVO, provider, guestNetworkId, IpAddress.State.Releasing);
 | 
			
		||||
            final ArrayList<? extends PublicIpAddress> publicIps = getPublicIpsToApply(provider, guestNetworkId, IpAddress.State.Releasing);
 | 
			
		||||
 | 
			
		||||
            if (publicIps != null && !publicIps.isEmpty()) {
 | 
			
		||||
                s_logger.debug("Found " + publicIps.size() + " ip(s) to apply as a part of domR " + domainRouterVO + " start.");
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user