Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,8 @@ public class NetworkHelperImpl implements NetworkHelper {
protected IpAddressManager _ipAddrMgr;
@Inject
ConfigurationDao _configDao;
@Inject
VpcVirtualNetworkApplianceManager _vpcRouterMgr;

protected final Map<HypervisorType, ConfigKey<String>> hypervisorsMap = new HashMap<>();

Expand Down Expand Up @@ -288,7 +290,7 @@ protected DomainRouterVO start(DomainRouterVO router, final User user, final Acc
// only after router start successfully
final Long vpcId = router.getVpcId();
if (vpcId != null) {
_s2sVpnMgr.reconnectDisconnectedVpnByVpc(vpcId);
_vpcRouterMgr.startSite2SiteVpn(_routerDao.findById(router.getId()));
}
return _routerDao.findById(router.getId());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,4 +74,11 @@ public interface VpcVirtualNetworkApplianceManager extends VirtualNetworkApplian
* @throws ResourceUnavailableException
*/
boolean stopRemoteAccessVpn(RemoteAccessVpn vpn, VirtualRouter router) throws ResourceUnavailableException;
}

/**
* @param router
* @return
* @throws ResourceUnavailableException
*/
boolean startSite2SiteVpn(DomainRouterVO router) throws ResourceUnavailableException;
}
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@
import com.cloud.network.dao.MonitoringServiceVO;
import com.cloud.network.dao.NetworkVO;
import com.cloud.network.dao.RemoteAccessVpnVO;
import com.cloud.network.dao.Site2SiteVpnConnectionVO;
import com.cloud.network.vpc.NetworkACLItemDao;
import com.cloud.network.vpc.NetworkACLItemVO;
import com.cloud.network.vpc.NetworkACLManager;
Expand Down Expand Up @@ -656,6 +657,17 @@ public boolean startSite2SiteVpn(final Site2SiteVpnConnection conn, final Virtua
return applySite2SiteVpn(true, router, conn);
}

@Override
public boolean startSite2SiteVpn(DomainRouterVO router) throws ResourceUnavailableException {
boolean result = true;
List<Site2SiteVpnConnectionVO> conns = _s2sVpnMgr.getConnectionsForRouter(router);
for (Site2SiteVpnConnectionVO conn : conns) {
result = result && startSite2SiteVpn(conn, router);
}

return result;
}

@Override
public boolean stopSite2SiteVpn(final Site2SiteVpnConnection conn, final VirtualRouter router) throws ResourceUnavailableException {
if (router.getState() != State.Running) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -274,4 +274,10 @@ public boolean stopRemoteAccessVpn(final RemoteAccessVpn vpn, final VirtualRoute
// TODO Auto-generated method stub
return false;
}

@Override
public boolean startSite2SiteVpn(DomainRouterVO router) throws ResourceUnavailableException {
// TODO Auto-generated method stub
return false;
}
}