fixing check style issues

Conflicts:
	server/src/com/cloud/network/element/VpcVirtualRouterElement.java
	server/src/com/cloud/network/rules/AdvancedVpnRules.java
	server/src/com/cloud/network/rules/RuleApplier.java
	server/src/com/cloud/network/rules/VirtualNetworkApplianceFactory.java
	server/src/org/apache/cloudstack/network/topology/AdvancedNetworkTopology.java
	server/src/org/apache/cloudstack/network/topology/AdvancedNetworkVisitor.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkTopology.java
	server/src/org/apache/cloudstack/network/topology/BasicNetworkVisitor.java
	server/src/org/apache/cloudstack/network/topology/NetworkTopology.java
This commit is contained in:
Wilder Rodrigues 2014-08-21 10:17:59 +02:00 committed by wilderrodrigues
parent 01edc8e394
commit e08cb11fc0
9 changed files with 192 additions and 133 deletions

View File

@ -72,9 +72,9 @@ import com.cloud.vm.ReservationContext;
import com.cloud.vm.VirtualMachine;
import com.cloud.vm.VirtualMachineProfile;
@Local(value = {NetworkElement.class, FirewallServiceProvider.class, DhcpServiceProvider.class, UserDataServiceProvider.class, StaticNatServiceProvider.class,
@Local(value = { NetworkElement.class, FirewallServiceProvider.class, DhcpServiceProvider.class, UserDataServiceProvider.class, StaticNatServiceProvider.class,
LoadBalancingServiceProvider.class, PortForwardingServiceProvider.class, IpDeployer.class, VpcProvider.class, Site2SiteVpnServiceProvider.class,
NetworkACLServiceProvider.class})
NetworkACLServiceProvider.class })
public class VpcVirtualRouterElement extends VirtualRouterElement implements VpcProvider, Site2SiteVpnServiceProvider, NetworkACLServiceProvider {
private static final Logger s_logger = Logger.getLogger(VpcVirtualRouterElement.class);
@Inject
@ -133,18 +133,13 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
@Override
public boolean implementVpc(final Vpc vpc, final DeployDestination dest, final ReservationContext context) throws ConcurrentOperationException, ResourceUnavailableException,
InsufficientCapacityException {
InsufficientCapacityException {
Map<VirtualMachineProfile.Param, Object> params = new HashMap<VirtualMachineProfile.Param, Object>(1);
params.put(VirtualMachineProfile.Param.ReProgramGuestNetworks, true);
RouterDeploymentDefinition routerDeploymentDefinition =
routerDeploymentDefinitionBuilder.create()
.setVpc(vpc)
.setDeployDestination(dest)
.setAccountOwner(_accountMgr.getAccount(vpc.getAccountId()))
.setParams(params)
.build();
RouterDeploymentDefinition routerDeploymentDefinition = routerDeploymentDefinitionBuilder.create().setVpc(vpc).setDeployDestination(dest)
.setAccountOwner(_accountMgr.getAccount(vpc.getAccountId())).setParams(params).build();
routerDeploymentDefinition.deployVirtualRouter();
@ -165,8 +160,8 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
}
@Override
public boolean implement(final Network network, final NetworkOffering offering, final DeployDestination dest, final ReservationContext context) throws ResourceUnavailableException,
ConcurrentOperationException, InsufficientCapacityException {
public boolean implement(final Network network, final NetworkOffering offering, final DeployDestination dest, final ReservationContext context)
throws ResourceUnavailableException, ConcurrentOperationException, InsufficientCapacityException {
Long vpcId = network.getVpcId();
if (vpcId == null) {
@ -183,13 +178,8 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
Map<VirtualMachineProfile.Param, Object> params = new HashMap<VirtualMachineProfile.Param, Object>(1);
params.put(VirtualMachineProfile.Param.ReProgramGuestNetworks, true);
RouterDeploymentDefinition routerDeploymentDefinition =
routerDeploymentDefinitionBuilder.create()
.setVpc(vpc)
.setDeployDestination(dest)
.setAccountOwner(_accountMgr.getAccount(vpc.getAccountId()))
.setParams(params)
.build();
RouterDeploymentDefinition routerDeploymentDefinition = routerDeploymentDefinitionBuilder.create().setVpc(vpc).setDeployDestination(dest)
.setAccountOwner(_accountMgr.getAccount(vpc.getAccountId())).setParams(params).build();
List<DomainRouterVO> routers = routerDeploymentDefinition.deployVirtualRouter();
@ -202,7 +192,7 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
}
DomainRouterVO router = routers.get(0);
//Add router to guest network if needed
// Add router to guest network if needed
if (!_networkMdl.isVmPartOfNetwork(router.getId(), network.getId())) {
Map<VirtualMachineProfile.Param, Object> paramsForRouter = new HashMap<VirtualMachineProfile.Param, Object>(1);
if (network.getState() == State.Setup) {
@ -238,13 +228,8 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
Map<VirtualMachineProfile.Param, Object> params = new HashMap<VirtualMachineProfile.Param, Object>(1);
params.put(VirtualMachineProfile.Param.ReProgramGuestNetworks, true);
RouterDeploymentDefinition routerDeploymentDefinition =
routerDeploymentDefinitionBuilder.create()
.setVpc(vpc)
.setDeployDestination(dest)
.setAccountOwner(_accountMgr.getAccount(vpc.getAccountId()))
.setParams(params)
.build();
RouterDeploymentDefinition routerDeploymentDefinition = routerDeploymentDefinitionBuilder.create().setVpc(vpc).setDeployDestination(dest)
.setAccountOwner(_accountMgr.getAccount(vpc.getAccountId())).setParams(params).build();
List<DomainRouterVO> routers = routerDeploymentDefinition.deployVirtualRouter();
if (routers == null || routers.size() == 0) {
@ -256,7 +241,7 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
}
DomainRouterVO router = routers.get(0);
//Add router to guest network if needed
// Add router to guest network if needed
if (!_networkMdl.isVmPartOfNetwork(router.getId(), network.getId())) {
Map<VirtualMachineProfile.Param, Object> paramsForRouter = new HashMap<VirtualMachineProfile.Param, Object>(1);
// need to reprogram guest network if it comes in a setup state
@ -285,12 +270,12 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
List<? extends VirtualRouter> routers = _routerDao.listByVpcId(vpcId);
for (VirtualRouter router : routers) {
//1) Check if router is already a part of the network
// 1) Check if router is already a part of the network
if (!_networkMdl.isVmPartOfNetwork(router.getId(), network.getId())) {
s_logger.debug("Router " + router + " is not a part the network " + network);
continue;
}
//2) Call unplugNics in the network service
// 2) Call unplugNics in the network service
success = success && _vpcRouterMgr.removeVpcRouterFromGuestNetwork(router, network, false);
if (!success) {
s_logger.warn("Failed to unplug nic in network " + network + " for virtual router " + router);
@ -313,12 +298,12 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
List<? extends VirtualRouter> routers = _routerDao.listByVpcId(vpcId);
for (VirtualRouter router : routers) {
//1) Check if router is already a part of the network
// 1) Check if router is already a part of the network
if (!_networkMdl.isVmPartOfNetwork(router.getId(), config.getId())) {
s_logger.debug("Router " + router + " is not a part the network " + config);
continue;
}
//2) Call unplugNics in the network service
// 2) Call unplugNics in the network service
success = success && _vpcRouterMgr.removeVpcRouterFromGuestNetwork(router, config, false);
if (!success) {
s_logger.warn("Failed to unplug nic in network " + config + " for virtual router " + router);
@ -349,10 +334,10 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
vpnCapabilities.put(Capability.VpnTypes, "s2svpn");
capabilities.put(Service.Vpn, vpnCapabilities);
//remove firewall capability
// remove firewall capability
capabilities.remove(Service.Firewall);
//add network ACL capability
// add network ACL capability
Map<Capability, String> networkACLCapabilities = new HashMap<Capability, String>();
networkACLCapabilities.put(Capability.SupportedProtocols, "tcp,udp,icmp");
capabilities.put(Service.NetworkACL, networkACLCapabilities);
@ -374,8 +359,7 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
List<DomainRouterVO> routers = _vpcRouterMgr.getVpcRouters(gateway.getVpcId());
if (routers == null || routers.isEmpty()) {
s_logger.debug(getName() + " element doesn't need to create Private gateway on the backend; VPC virtual " + "router doesn't exist in the vpc id=" +
gateway.getVpcId());
s_logger.debug(getName() + " element doesn't need to create Private gateway on the backend; VPC virtual " + "router doesn't exist in the vpc id=" + gateway.getVpcId());
return true;
}
@ -384,7 +368,7 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
}
VirtualRouter router = routers.get(0);
DataCenterVO dcVO = _dcDao.findById(gateway.getZoneId());
NetworkTopology networkTopology = networkTopologyContext.retrieveNetworkTopology(dcVO);
@ -400,7 +384,7 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
return false;
}
} else {
s_logger.debug ("Failed to setup private gateway "+ gateway);
s_logger.debug("Failed to setup private gateway " + gateway);
return false;
}
return true;
@ -415,8 +399,7 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
List<DomainRouterVO> routers = _vpcRouterMgr.getVpcRouters(gateway.getVpcId());
if (routers == null || routers.isEmpty()) {
s_logger.debug(getName() + " element doesn't need to delete Private gateway on the backend; VPC virtual " + "router doesn't exist in the vpc id=" +
gateway.getVpcId());
s_logger.debug(getName() + " element doesn't need to delete Private gateway on the backend; VPC virtual " + "router doesn't exist in the vpc id=" + gateway.getVpcId());
return true;
}
@ -441,8 +424,8 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
if (canHandle) {
List<DomainRouterVO> routers = _routerDao.listByNetworkAndRole(network.getId(), Role.VIRTUAL_ROUTER);
if (routers == null || routers.isEmpty()) {
s_logger.debug(getName() + " element doesn't need to associate ip addresses on the backend; VPC virtual " + "router doesn't exist in the network " +
network.getId());
s_logger.debug(getName() + " element doesn't need to associate ip addresses on the backend; VPC virtual " + "router doesn't exist in the network "
+ network.getId());
return true;
}
@ -460,8 +443,7 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
if (canHandle(network, Service.NetworkACL)) {
List<DomainRouterVO> routers = _routerDao.listByNetworkAndRole(network.getId(), Role.VIRTUAL_ROUTER);
if (routers == null || routers.isEmpty()) {
s_logger.debug("Virtual router elemnt doesn't need to apply firewall rules on the backend; virtual " + "router doesn't exist in the network " +
network.getId());
s_logger.debug("Virtual router elemnt doesn't need to apply firewall rules on the backend; virtual " + "router doesn't exist in the network " + network.getId());
return true;
}
@ -514,8 +496,7 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
List<DomainRouterVO> routers = _vpcRouterMgr.getVpcRouters(gateway.getVpcId());
if (routers == null || routers.isEmpty()) {
s_logger.debug("Virtual router element doesn't need to apply network acl rules on the backend; virtual " + "router doesn't exist in the network " +
network.getId());
s_logger.debug("Virtual router element doesn't need to apply network acl rules on the backend; virtual " + "router doesn't exist in the network " + network.getId());
return true;
}
@ -549,8 +530,8 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
List<DomainRouterVO> routers = _vpcRouterMgr.getVpcRouters(ip.getVpcId());
if (routers == null || routers.size() != 1) {
throw new ResourceUnavailableException("Cannot enable site-to-site VPN on the backend; virtual router doesn't exist in the vpc " + ip.getVpcId(),
DataCenter.class, vpc.getZoneId());
throw new ResourceUnavailableException("Cannot enable site-to-site VPN on the backend; virtual router doesn't exist in the vpc " + ip.getVpcId(), DataCenter.class,
vpc.getZoneId());
}
return _vpcRouterMgr.startSite2SiteVpn(conn, routers.get(0));
@ -576,8 +557,8 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
List<DomainRouterVO> routers = _vpcRouterMgr.getVpcRouters(ip.getVpcId());
if (routers == null || routers.size() != 1) {
throw new ResourceUnavailableException("Cannot enable site-to-site VPN on the backend; virtual router doesn't exist in the vpc " + ip.getVpcId(),
DataCenter.class, vpc.getZoneId());
throw new ResourceUnavailableException("Cannot enable site-to-site VPN on the backend; virtual router doesn't exist in the vpc " + ip.getVpcId(), DataCenter.class,
vpc.getZoneId());
}
return _vpcRouterMgr.stopSite2SiteVpn(conn, routers.get(0));
@ -594,7 +575,12 @@ public class VpcVirtualRouterElement extends VirtualRouterElement implements Vpc
s_logger.debug("Cannot apply vpn users on the backend; virtual router doesn't exist in the network " + vpn.getVpcId());
return null;
}
return _vpcRouterMgr.applyVpnUsers(vpn, users, routers.get(0));
Network network = _networkDao.findById(vpn.getNetworkId());
DataCenterVO dcVO = _dcDao.findById(network.getDataCenterId());
NetworkTopology networkTopology = networkTopologyContext.retrieveNetworkTopology(dcVO);
return networkTopology.applyVpnUsers(vpn, users, routers.get(0));
}
@Override

View File

@ -0,0 +1,58 @@
// 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 org.apache.log4j.Logger;
import com.cloud.dc.DataCenter;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.network.RemoteAccessVpn;
import com.cloud.network.VpnUser;
import com.cloud.network.router.VirtualRouter;
import com.cloud.network.vpc.Vpc;
import com.cloud.vm.VirtualMachine.State;
public class AdvancedVpnRules extends BasicVpnRules {
private static final Logger s_logger = Logger.getLogger(AdvancedVpnRules.class);
private final RemoteAccessVpn _remoteAccessVpn;
public AdvancedVpnRules(final RemoteAccessVpn remoteAccessVpn, final List<? extends VpnUser> users) {
super(null, users);
_remoteAccessVpn = remoteAccessVpn;
}
@Override
public boolean accept(final NetworkTopologyVisitor visitor, final VirtualRouter router) throws ResourceUnavailableException {
_router = router;
Vpc vpc = _vpcDao.findById(_remoteAccessVpn.getVpcId());
if (router.getState() != State.Running) {
s_logger.warn("Failed to add/remove Remote Access VPN users: router not in running state");
throw new ResourceUnavailableException("Failed to add/remove Remote Access VPN users: router not in running state: " + router.getState(), DataCenter.class,
vpc.getZoneId());
}
return visitor.visit(this);
}
}

View File

@ -42,21 +42,21 @@ import com.cloud.vm.NicProfile;
public class PrivateGatewayRules extends RuleApplier {
private static final Logger s_logger = Logger.getLogger(PrivateGatewayRules.class);
private final PrivateGateway _privateGateway;
private boolean _isAddOperation;
private NicProfile _nicProfile;
private static final Logger s_logger = Logger.getLogger(PrivateGatewayRules.class);
private final PrivateGateway _privateGateway;
private boolean _isAddOperation;
private NicProfile _nicProfile;
public PrivateGatewayRules(final PrivateGateway privateGateway) {
super(null);
this._privateGateway = privateGateway;
_privateGateway = privateGateway;
}
@Override
public boolean accept(final NetworkTopologyVisitor visitor, final VirtualRouter router) throws ResourceUnavailableException {
this._router = router;
_router = router;
boolean result = false;
try {
@ -71,7 +71,7 @@ public class PrivateGatewayRules extends RuleApplier {
//setup source nat
if (_nicProfile != null) {
_isAddOperation = true;
_isAddOperation = true;
//result = setupVpcPrivateNetwork(router, true, guestNic);
result = visitor.visit(this);
}
@ -79,10 +79,10 @@ public class PrivateGatewayRules extends RuleApplier {
s_logger.warn("Failed to create private gateway " + _privateGateway + " on router " + router + " due to ", ex);
} finally {
if (!result) {
s_logger.debug("Failed to setup gateway " + _privateGateway + " on router " + router + " with the source nat. Will now remove the gateway.");
_isAddOperation = false;
boolean isRemoved = destroyPrivateGateway(visitor);
s_logger.debug("Failed to setup gateway " + _privateGateway + " on router " + router + " with the source nat. Will now remove the gateway.");
_isAddOperation = false;
boolean isRemoved = destroyPrivateGateway(visitor);
if (isRemoved) {
s_logger.debug("Removed the gateway " + _privateGateway + " from router " + router + " as a part of cleanup");
} else {
@ -92,25 +92,25 @@ public class PrivateGatewayRules extends RuleApplier {
}
return result;
}
public boolean isAddOperation() {
return _isAddOperation;
}
return _isAddOperation;
}
public NicProfile getNicProfile() {
return _nicProfile;
}
return _nicProfile;
}
public PrivateIpVO retrivePrivateIP() {
PrivateIpVO ipVO = _privateIpDao.findByIpAndSourceNetworkId(_nicProfile.getNetworkId(), _nicProfile.getIp4Address());
return ipVO;
PrivateIpVO ipVO = _privateIpDao.findByIpAndSourceNetworkId(_nicProfile.getNetworkId(), _nicProfile.getIp4Address());
return ipVO;
}
public Network retrievePrivateNetwork() {
// This network might be the same we have already as an instance in the RuleApplier super class.
// Just doing this here, but will double check is remove if it's not needed.
Network network = _networkDao.findById(_nicProfile.getNetworkId());
return network;
// This network might be the same we have already as an instance in the RuleApplier super class.
// Just doing this here, but will double check is remove if it's not needed.
Network network = _networkDao.findById(_nicProfile.getNetworkId());
return network;
}
protected boolean destroyPrivateGateway(final NetworkTopologyVisitor visitor) throws ConcurrentOperationException, ResourceUnavailableException {

View File

@ -38,9 +38,10 @@ import com.cloud.network.dao.LoadBalancerDao;
import com.cloud.network.dao.NetworkDao;
import com.cloud.network.lb.LoadBalancingRulesManager;
import com.cloud.network.router.NetworkHelper;
import com.cloud.network.router.NicProfileHelper;
import com.cloud.network.router.RouterControlHelper;
import com.cloud.network.router.VirtualRouter;
import com.cloud.network.router.VpcNetworkHelper;
import com.cloud.network.router.VpcNetworkHelperImpl;
import com.cloud.network.vpc.NetworkACLManager;
import com.cloud.network.vpc.VpcManager;
import com.cloud.network.vpc.dao.PrivateIpDao;
@ -116,7 +117,9 @@ public abstract class RuleApplier {
protected NetworkHelper _networkHelper;
protected VpcNetworkHelper _vpcNetworkHelper;
protected VpcNetworkHelperImpl _vpcNetworkHelper;
protected NicProfileHelper _nicProfileHelper;
public RuleApplier(final Network network) {
_network = network;
@ -141,8 +144,9 @@ public abstract class RuleApplier {
vm.getId(), vm.getUuid(), publicKey, nic.getNetworkId()));
}
public VmDataCommand generateVmDataCommand(final VirtualRouter router, final String vmPrivateIpAddress, final String userData, final String serviceOffering, final String zoneName,
final String guestIpAddress, final String vmName, final String vmInstanceName, final long vmId, final String vmUuid, final String publicKey, final long guestNetworkId) {
public VmDataCommand generateVmDataCommand(final VirtualRouter router, final String vmPrivateIpAddress, final String userData, final String serviceOffering,
final String zoneName, final String guestIpAddress, final String vmName, final String vmInstanceName, final long vmId, final String vmUuid, final String publicKey,
final long guestNetworkId) {
final VmDataCommand cmd = new VmDataCommand(vmPrivateIpAddress, vmName, _networkModel.getExecuteInSeqNtwkElmtCmd());
cmd.setAccessDetail(NetworkElementCommand.ROUTER_IP, _routerControlHelper.getRouterControlIp(router.getId()));

View File

@ -39,10 +39,9 @@ import com.cloud.network.dao.NetworkDao;
import com.cloud.network.lb.LoadBalancingRule;
import com.cloud.network.lb.LoadBalancingRulesManager;
import com.cloud.network.router.NetworkHelper;
import com.cloud.network.router.RouterControlHelper;
import com.cloud.network.router.VirtualNetworkApplianceManager;
import com.cloud.network.router.VpcNetworkHelperImpl;
import com.cloud.network.vpc.NetworkACLItem;
import com.cloud.network.vpc.NetworkACLManager;
import com.cloud.network.vpc.PrivateGateway;
import com.cloud.network.vpc.StaticRouteProfile;
import com.cloud.network.vpc.VpcManager;
@ -123,28 +122,22 @@ public class VirtualNetworkApplianceFactory {
protected VlanDao _vlanDao;
@Inject
protected IPAddressDao _ipAddressDao;
private IPAddressDao _ipAddressDao;
@Inject
protected PrivateIpDao _privateIpDao;
private PrivateIpDao _privateIpDao;
@Inject
protected RouterControlHelper _routerControlHelper;
private IpAddressManager _ipAddrMgr;
@Inject
protected VirtualNetworkApplianceManager _applianceManager;
@Inject
protected IpAddressManager _ipAddrMgr;
private NetworkHelper _networkHelper;
@Inject
protected NetworkACLManager _networkACLMgr;
@Inject
protected NetworkHelper _networkHelper;
@Inject
protected VpcNetworkHelper _vpcNetworkHelper;
private VpcNetworkHelperImpl _vpcNetworkHelper;
public LoadBalancingRules createLoadBalancingRules(final Network network, final List<LoadBalancingRule> rules) {
LoadBalancingRules lbRules = new LoadBalancingRules(network, rules);
@ -320,7 +313,6 @@ public class VirtualNetworkApplianceFactory {
public StaticRoutesRules createStaticRoutesRules(final List<StaticRouteProfile> staticRoutes) {
StaticRoutesRules routesRules = new StaticRoutesRules(staticRoutes);
initBeans(routesRules);
return routesRules;

View File

@ -65,20 +65,20 @@ public class AdvancedNetworkTopology extends BasicNetworkTopology {
@Override
public boolean applyStaticRoutes(final List<StaticRouteProfile> staticRoutes, final List<DomainRouterVO> routers) throws ResourceUnavailableException {
if (staticRoutes == null || staticRoutes.isEmpty()) {
if (staticRoutes == null || staticRoutes.isEmpty()) {
s_logger.debug("No static routes to apply");
return true;
}
StaticRoutesRules routesRules = _virtualNetworkApplianceFactory.createStaticRoutesRules(staticRoutes);
StaticRoutesRules routesRules = _virtualNetworkApplianceFactory.createStaticRoutesRules(staticRoutes);
boolean result = true;
for (VirtualRouter router : routers) {
if (router.getState() == State.Running) {
result = result && routesRules.accept(_advancedVisitor, router);
} else if (router.getState() == State.Stopped || router.getState() == State.Stopping) {
s_logger.debug("Router " + router.getInstanceName() + " is in " + router.getState() + ", so not sending StaticRoute command to the backend");
} else {
@ -94,6 +94,8 @@ public class AdvancedNetworkTopology extends BasicNetworkTopology {
@Override
public boolean setupDhcpForPvlan(final boolean isAddPvlan, final DomainRouterVO router, final Long hostId, final NicProfile nic) throws ResourceUnavailableException {
s_logger.debug("SETUP DHCP PVLAN RULES");
if (!nic.getBroadCastUri().getScheme().equals("pvlan")) {
return false;
}
@ -120,14 +122,14 @@ public class AdvancedNetworkTopology extends BasicNetworkTopology {
return subNetRules.accept(_advancedVisitor, router);
}
@Override
public boolean setupPrivateGateway(PrivateGateway gateway, VirtualRouter router) throws ConcurrentOperationException, ResourceUnavailableException {
s_logger.debug("SETUP PRIVATE GATEWAY RULES");
public boolean setupPrivateGateway(final PrivateGateway gateway, final VirtualRouter router) throws ConcurrentOperationException, ResourceUnavailableException {
s_logger.debug("SETUP PRIVATE GATEWAY RULES");
PrivateGatewayRules routesRules = _virtualNetworkApplianceFactory.createPrivateGatewayRules(gateway);
PrivateGatewayRules routesRules = _virtualNetworkApplianceFactory.createPrivateGatewayRules(gateway);
return routesRules.accept(_advancedVisitor, router);
return routesRules.accept(_advancedVisitor, router);
}
@Override
@ -284,7 +286,8 @@ public class AdvancedNetworkTopology extends BasicNetworkTopology {
if (!connectedRouters.isEmpty()) {
if (!isZoneBasic && !disconnectedRouters.isEmpty() && disconnectedRouters.get(0).getIsRedundantRouter()) {
// These disconnected redundant virtual routers are out of sync now, stop them for synchronization
// These disconnected redundant virtual routers are out of sync
// now, stop them for synchronization
_nwHelper.handleSingleWorkingRedundantRouter(connectedRouters, disconnectedRouters, msg);
}
} else if (!disconnectedRouters.isEmpty()) {

View File

@ -32,7 +32,9 @@ import com.cloud.dc.DataCenter;
import com.cloud.exception.ResourceUnavailableException;
import com.cloud.network.Network;
import com.cloud.network.PublicIpAddress;
import com.cloud.network.VpnUser;
import com.cloud.network.router.VirtualRouter;
import com.cloud.network.rules.AdvancedVpnRules;
import com.cloud.network.rules.DhcpEntryRules;
import com.cloud.network.rules.DhcpSubNetRules;
import com.cloud.network.rules.NetworkAclsRules;
@ -118,7 +120,6 @@ public class AdvancedNetworkVisitor extends BasicNetworkVisitor {
Map<String, String> vlanMacAddress = vpcip.getVlanMacAddress();
List<PublicIpAddress> ipsToSend = vpcip.getIpsToSend();
if (!ipsToSend.isEmpty()) {
vpcip.createVpcAssociatePublicIPCommands(router, ipsToSend, cmds, vlanMacAddress);
return _networkGeneralHelper.sendCommandsToRouter(router, cmds);
@ -129,26 +130,26 @@ public class AdvancedNetworkVisitor extends BasicNetworkVisitor {
@Override
public boolean visit(final PrivateGatewayRules privateGW) throws ResourceUnavailableException {
final VirtualRouter router = privateGW.getRouter();
final NicProfile nicProfile = privateGW.getNicProfile();
final VirtualRouter router = privateGW.getRouter();
final NicProfile nicProfile = privateGW.getNicProfile();
final boolean isAddOperation = privateGW.isAddOperation();
final boolean isAddOperation = privateGW.isAddOperation();
if (router.getState() == State.Running) {
if (router.getState() == State.Running) {
PrivateIpVO ipVO = privateGW.retrivePrivateIP();
Network network = privateGW.retrievePrivateNetwork();
String netmask = NetUtils.getCidrNetmask(network.getCidr());
PrivateIpAddress ip = new PrivateIpAddress(ipVO, network.getBroadcastUri().toString(), network.getGateway(), netmask, nicProfile.getMacAddress());
List<PrivateIpAddress> privateIps = new ArrayList<PrivateIpAddress>(1);
privateIps.add(ip);
Commands cmds = new Commands(Command.OnError.Stop);
privateGW.createVpcAssociatePrivateIPCommands(router, privateIps, cmds, isAddOperation);
try{
try {
if (_networkGeneralHelper.sendCommandsToRouter(router, cmds)) {
s_logger.debug("Successfully applied ip association for ip " + ip + " in vpc network " + network);
return true;
@ -156,8 +157,8 @@ public class AdvancedNetworkVisitor extends BasicNetworkVisitor {
s_logger.warn("Failed to associate ip address " + ip + " in vpc network " + network);
return false;
}
}catch (Exception ex) {
s_logger.warn("Failed to send " + (isAddOperation ?"add ":"delete ") + " private network " + network + " commands to rotuer ");
} catch (Exception ex) {
s_logger.warn("Failed to send " + (isAddOperation ? "add " : "delete ") + " private network " + network + " commands to rotuer ");
return false;
}
} else if (router.getState() == State.Stopped || router.getState() == State.Stopping) {
@ -176,7 +177,8 @@ public class AdvancedNetworkVisitor extends BasicNetworkVisitor {
final VirtualRouter router = dhcp.getRouter();
final PvlanSetupCommand setupCommand = dhcp.getSetupCommand();
// In fact we send command to the host of router, we're not programming router but the host
// In fact we send command to the host of router, we're not programming
// router but the host
Commands cmds = new Commands(Command.OnError.Stop);
cmds.addCommand(setupCommand);
@ -202,7 +204,8 @@ public class AdvancedNetworkVisitor extends BasicNetworkVisitor {
subnet.createIpAlias(router, ipaliasTo, nicAlias.getNetworkId(), cmds);
//also add the required configuration to the dnsmasq for supporting dhcp and dns on the new ip.
// also add the required configuration to the dnsmasq for supporting
// dhcp and dns on the new ip.
subnet.configDnsMasq(router, network, cmds);
return _networkGeneralHelper.sendCommandsToRouter(router, cmds);
@ -210,12 +213,26 @@ public class AdvancedNetworkVisitor extends BasicNetworkVisitor {
@Override
public boolean visit(final StaticRoutesRules staticRoutesRules) throws ResourceUnavailableException {
final VirtualRouter router = staticRoutesRules.getRouter();
List<StaticRouteProfile> staticRoutes = staticRoutesRules.getStaticRoutes();
Commands cmds = new Commands(Command.OnError.Continue);
staticRoutesRules.createStaticRouteCommands(staticRoutes, router, cmds);
return _networkGeneralHelper.sendCommandsToRouter(router, cmds);
final VirtualRouter router = staticRoutesRules.getRouter();
List<StaticRouteProfile> staticRoutes = staticRoutesRules.getStaticRoutes();
Commands cmds = new Commands(Command.OnError.Continue);
staticRoutesRules.createStaticRouteCommands(staticRoutes, router, cmds);
return _networkGeneralHelper.sendCommandsToRouter(router, cmds);
}
@Override
public boolean visit(final AdvancedVpnRules vpnRules) throws ResourceUnavailableException {
final VirtualRouter router = vpnRules.getRouter();
List<? extends VpnUser> users = vpnRules.getUsers();
Commands cmds = new Commands(Command.OnError.Continue);
vpnRules.createApplyVpnUsersCommand(users, router, cmds);
// Currently we receive just one answer from the agent. In the future we
// have to parse individual answers and set
// results accordingly
return _networkGeneralHelper.sendCommandsToRouter(router, cmds);
}
}

View File

@ -101,11 +101,6 @@ public class BasicNetworkTopology implements NetworkTopology {
return null;
}
@Override
public String retrieveGuestDhcpRange(final NicProfile guestNic, final Network guestNetwork, final DataCenter dc) {
return null;
}
@Override
public boolean setupPrivateGateway(final PrivateGateway gateway, final VirtualRouter router) throws ConcurrentOperationException, ResourceUnavailableException {
throw new CloudRuntimeException("setupPrivateGateway not implemented in Basic Network Topology.");

View File

@ -64,10 +64,14 @@ public interface NetworkTopology {
boolean applyStaticRoutes(final List<StaticRouteProfile> staticRoutes, final List<DomainRouterVO> routers) throws ResourceUnavailableException;
<<<<<<< HEAD
<<<<<<< HEAD
=======
=======
>>>>>>> 5e11fba... fixing check style issues
boolean setupPrivateGateway(final PrivateGateway gateway, final VirtualRouter router) throws ConcurrentOperationException, ResourceUnavailableException;
String[] applyVpnUsers(final RemoteAccessVpn vpn, final List<? extends VpnUser> users, final VirtualRouter router) throws ResourceUnavailableException;
>>>>>>> 0b8b22f... adding setupPrivateGateway to new style;