use of com.cloud.legacymodel.to.NetworkOverviewTO in project cosmic by MissionCriticalCloud.
the class AdvancedNetworkVisitor method visit.
@Override
public boolean visit(final StaticRoutesRules staticRoutesRules) throws ResourceUnavailableException {
final VirtualRouter router = staticRoutesRules.getRouter();
final Commands cmds = new Commands(Command.OnError.Continue);
final NetworkOverviewTO networkOverview = _commandSetupHelper.createNetworkOverviewFromRouter(router, new ArrayList<>(), new ArrayList<>(), new ArrayList<>(), null, null, null);
final UpdateNetworkOverviewCommand updateNetworkOverviewCommand = _commandSetupHelper.createUpdateNetworkOverviewCommand(router, networkOverview);
cmds.addCommand(updateNetworkOverviewCommand);
return _networkGeneralHelper.sendCommandsToRouter(router, cmds);
}
use of com.cloud.legacymodel.to.NetworkOverviewTO in project cosmic by MissionCriticalCloud.
the class AdvancedNetworkVisitor method visit.
@Override
public boolean visit(final PrivateGatewayRules privateGW) throws ResourceUnavailableException {
final VirtualRouter router = privateGW.getRouter();
final NicProfile nicProfile = privateGW.getNicProfile();
final boolean add = privateGW.isAddOperation();
if (router.getState() == State.Running) {
final PrivateIpVO ipVO = privateGW.retrivePrivateIP(this);
final Network network = privateGW.retrievePrivateNetwork(this);
final String netmask = NetUtils.getCidrNetmask(network.getCidr());
final PrivateIpAddress ip = new PrivateIpAddress(ipVO, network.getBroadcastUri().toString(), network.getGateway(), netmask, nicProfile.getMacAddress());
final Commands cmds = new Commands(Command.OnError.Stop);
final List<Ip> ipsToExclude = new ArrayList<>();
if (!add) {
ipsToExclude.add(new Ip(NetUtils.ip2Long(ip.getIpAddress())));
}
final NetworkOverviewTO networkOverview = _commandSetupHelper.createNetworkOverviewFromRouter(router, new ArrayList<>(), ipsToExclude, new ArrayList<>(), null, null, null);
final UpdateNetworkOverviewCommand updateNetworkOverviewCommand = _commandSetupHelper.createUpdateNetworkOverviewCommand(router, networkOverview);
cmds.addCommand(updateNetworkOverviewCommand);
try {
if (_networkGeneralHelper.sendCommandsToRouter(router, cmds)) {
s_logger.debug("Successfully applied ip association for ip " + ip + " in vpc network " + network);
return true;
} else {
s_logger.warn("Failed to associate ip address " + ip + " in vpc network " + network);
return false;
}
} catch (final Exception ex) {
s_logger.warn("Failed to send " + (add ? "add " : "delete ") + " private network " + network + " commands to rotuer ");
return false;
}
} else if (router.getState() == State.Stopped || router.getState() == State.Stopping) {
s_logger.debug("Router " + router.getInstanceName() + " is in " + router.getState() + ", so not sending setup private network command to the backend");
} else {
s_logger.warn("Unable to setup private gateway, virtual router " + router + " is not in the right state " + router.getState());
throw new ResourceUnavailableException("Unable to setup Private gateway on the backend," + " virtual router " + router + " is not in the right state", DataCenter.class, router.getDataCenterId());
}
return true;
}
use of com.cloud.legacymodel.to.NetworkOverviewTO in project cosmic by MissionCriticalCloud.
the class AdvancedNetworkVisitor method visit.
@Override
public boolean visit(final VpcIpAssociationRules vpcip) throws ResourceUnavailableException {
final VirtualRouter router = vpcip.getRouter();
final Commands cmds = new Commands(Command.OnError.Continue);
final List<PublicIpAddress> ipsToSend = vpcip.getIpsToSend();
if (!ipsToSend.isEmpty()) {
final List<Ip> ipsToExclude = new ArrayList<>();
_commandSetupHelper.findIpsToExclude(ipsToSend, ipsToExclude);
final NetworkOverviewTO networkOverview = _commandSetupHelper.createNetworkOverviewFromRouter(router, new ArrayList<>(), ipsToExclude, new ArrayList<>(), null, null, null);
final UpdateNetworkOverviewCommand updateNetworkOverviewCommand = _commandSetupHelper.createUpdateNetworkOverviewCommand(router, networkOverview);
updateNetworkOverviewCommand.setPlugNics(true);
cmds.addCommand(updateNetworkOverviewCommand);
return _networkGeneralHelper.sendCommandsToRouter(router, cmds);
} else {
return true;
}
}
use of com.cloud.legacymodel.to.NetworkOverviewTO in project cosmic by MissionCriticalCloud.
the class CommandSetupHelper method createNetworkOverviewFromRouter.
public NetworkOverviewTO createNetworkOverviewFromRouter(final VirtualRouter router, final List<Nic> nicsToExclude, final List<Ip> ipsToExclude, final List<StaticRouteProfile> staticRoutesToExclude, final RemoteAccessVpn remoteAccessVpnToExclude, final Site2SiteVpnConnection site2siteVpnToExclude, final LoadBalancer loadBalancerExclude) {
final NetworkOverviewTO networkOverviewTO = new NetworkOverviewTO();
final List<NetworkOverviewTO.InterfaceTO> interfacesTO = new ArrayList<>();
final NetworkOverviewTO.ServiceTO servicesTO = new NetworkOverviewTO.ServiceTO();
final List<NetworkOverviewTO.ServiceTO.ServiceSourceNatTO> serviceSourceNatsTO = new ArrayList<>();
configureInterfacesAndIps(router, nicsToExclude, ipsToExclude, networkOverviewTO, interfacesTO, serviceSourceNatsTO);
configureStaticRoutes(router, staticRoutesToExclude, networkOverviewTO);
servicesTO.setSourceNat(serviceSourceNatsTO.toArray(new NetworkOverviewTO.ServiceTO.ServiceSourceNatTO[serviceSourceNatsTO.size()]));
networkOverviewTO.setServices(servicesTO);
final NetworkOverviewTO.VPNTO vpnTO = new NetworkOverviewTO.VPNTO();
configureRemoteAccessVpn(router, remoteAccessVpnToExclude, vpnTO);
configureSite2SiteVpn(router, site2siteVpnToExclude, vpnTO);
networkOverviewTO.setVpn(vpnTO);
configureSyslog(router, networkOverviewTO);
final NetworkOverviewTO.LoadBalancerTO loadBalancerTO = new NetworkOverviewTO.LoadBalancerTO();
configureLoadBalancer(router, loadBalancerTO);
networkOverviewTO.setLoadbalancer(loadBalancerTO);
return networkOverviewTO;
}
use of com.cloud.legacymodel.to.NetworkOverviewTO in project cosmic by MissionCriticalCloud.
the class CommandSetupHelper method configureSyslog.
private void configureSyslog(final VirtualRouter router, final NetworkOverviewTO networkOverviewTO) {
final Vpc vpc = _vpcDao.findById(router.getVpcId());
if (StringUtils.isNotBlank(vpc.getSyslogServerList())) {
final NetworkOverviewTO.SyslogTO syslogTO = new NetworkOverviewTO.SyslogTO();
syslogTO.setServers(vpc.getSyslogServerList().split(","));
networkOverviewTO.setSyslog(syslogTO);
}
}
Aggregations