(queryStatus == null || queryStatus.equals(oSN.getStatus())) && (bShared == null || bShared.booleanValue() == oSN.isShared()) && (bRouterExternal == null || bRouterExternal.booleanValue() == oSN.isRouterExternal()) && (queryTenantID == null || queryTenantID.equals(oSN.getTenantID()))) { if (fields.size() > 0) {
public int canAttachInterface(NeutronRouter router, NeutronRouter_Interface routerInterface) { //See if a EGW will need to be configured //If so, and there aren't GWs available, return BADREQUEST with a message INeutronSubnetCRUD neutronSubnetIf = NeutronCRUDInterfaces.getINeutronSubnetCRUD(this); NeutronSubnet neutronSubnet = neutronSubnetIf.getSubnet(routerInterface.getSubnetUUID()); INeutronNetworkCRUD neutronNetworkIf = NeutronCRUDInterfaces.getINeutronNetworkCRUD(this); NeutronNetwork neutronNetwork = neutronNetworkIf.getNetwork(neutronSubnet.getNetworkUUID()); if (neutronNetwork.isRouterExternal()) { IfOpenDoveServiceApplianceCRUD serviceApplianceDB = OpenDoveCRUDInterfaces.getIfDoveServiceApplianceCRUD(this); List<OpenDoveServiceAppliance> oDSAs = serviceApplianceDB.getAppliances(); Iterator<OpenDoveServiceAppliance> iterator = oDSAs.iterator(); while (iterator.hasNext()) { if (iterator.next().get_isDGW()) { return 200; } } return 400; } return 200; }
public int canDeleteSubnet(NeutronSubnet subnet) { /* check if router external - if so, check for EGW assignments or SNAT pool assignments * if either exist, can't delete router external subnet */ INeutronNetworkCRUD neutronNetworkIf = NeutronCRUDInterfaces.getINeutronNetworkCRUD(this); NeutronNetwork neutronNetwork = neutronNetworkIf.getNetwork(subnet.getNetworkUUID()); if (neutronNetwork.isRouterExternal()) { IfSBDoveEGWSNATPoolCRUD snatPoolDB = OpenDoveCRUDInterfaces.getIfDoveEGWSNATPoolCRUD(this); if (snatPoolDB.getEgwSNATPools().size() > 0 ) { return 409; } IfSBDoveGwIpv4CRUD gatewayIPDB = OpenDoveCRUDInterfaces.getIfSBDoveGwIpv4CRUD(this); for (OpenDoveGwIpv4 ipv4 : gatewayIPDB.getGwIpv4Pool()) { if (ipv4.getType().equalsIgnoreCase("external")) { return 409; } } } return 200; }
if (neutronNetwork.isRouterExternal() || oldNeutronNetwork.isRouterExternal()) { if (neutronNetwork.isRouterExternal()) { Iterator<OpenDoveSubnet> i = doveSubnetDB.getSubnets().iterator(); while (i.hasNext()) {
if (neutronNetwork.isRouterExternal() || oldNeutronNetwork.isRouterExternal()) { if (neutronNetwork.isRouterExternal()) { Iterator<OpenDoveSubnet> i = doveSubnetDB.getSubnets().iterator(); while (i.hasNext()) {
throw new BadRequestException("External Network Pointer doesn't exist"); NeutronNetwork externNetwork = networkInterface.getNetwork(externNetworkPtr); if (!externNetwork.isRouterExternal()) throw new BadRequestException("External Network Pointer isn't marked as router:external");
throw new BadRequestException("External Network Pointer does not exist"); NeutronNetwork externNetwork = networkInterface.getNetwork(externNetworkPtr); if (!externNetwork.isRouterExternal()) throw new BadRequestException("External Network Pointer isn't marked as router:external");
private int canAllocateEGW(String uuid, boolean negate) { /* if object is shared and domains are not separated, * then we need to configure an external gateway at this point. If we don't have one * don't create the port */ IfNBSystemRU systemDB = OpenDoveCRUDInterfaces.getIfSystemRU(this); INeutronNetworkCRUD neutronNetworkIf = NeutronCRUDInterfaces.getINeutronNetworkCRUD(this); NeutronNetwork neutronNetwork = neutronNetworkIf.getNetwork(uuid); if (!neutronNetwork.isRouterExternal()) { if (neutronNetwork.isShared()) { OpenDoveNeutronControlBlock controlBlock = systemDB.getSystemBlock(); //get system block if ((!negate && controlBlock.getDomainSeparation()) || (negate && !controlBlock.getDomainSeparation())) { IfOpenDoveServiceApplianceCRUD serviceApplianceDB = OpenDoveCRUDInterfaces.getIfDoveServiceApplianceCRUD(this); for (OpenDoveServiceAppliance oDSA : serviceApplianceDB.getAppliances()) { if (oDSA.get_isDGW() && oDSA.getDoveTunnel() != null){ return 200; } } return 400; } } } return 200; } }
throw new BadRequestException("external network UUID doesn't exist."); NeutronNetwork externNetwork = networkInterface.getNetwork(externalNetworkUUID); if (!externNetwork.isRouterExternal()) throw new BadRequestException("external network isn't marked router:external");
NeutronSubnet neutronSubnet = neutronSubnetIf.getSubnet(port.getFixedIPs().get(0).getSubnetUUID()); if (!neutronNetwork.isRouterExternal()) { if (neutronNetwork.isShared()) { if (controlBlock.getDomainSeparation()) {
INeutronNetworkCRUD neutronNetworkIf = NeutronCRUDInterfaces.getINeutronNetworkCRUD(this); NeutronNetwork neutronNetwork = neutronNetworkIf.getNetwork(subnet.getNetworkUUID()); if (!neutronNetwork.isRouterExternal()) { if (neutronNetwork.isShared()) { if (!controlBlock.getDomainSeparation()) {
INeutronSubnetCRUD neutronSubnetIf = NeutronCRUDInterfaces.getINeutronSubnetCRUD(this); NeutronSubnet neutronSubnet = neutronSubnetIf.getSubnet(port.getFixedIPs().get(0).getSubnetUUID()); if (!neutronNetwork.isRouterExternal()) { if (neutronNetwork.isShared()) {
public void neutronNetworkCreated(NeutronNetwork input) { IfNBSystemRU systemDB = OpenDoveCRUDInterfaces.getIfSystemRU(this); IfOpenDoveDomainCRUD domainDB = OpenDoveCRUDInterfaces.getIfDoveDomainCRU(this); IfOpenDoveNetworkCRUD doveNetworkDB = OpenDoveCRUDInterfaces.getIfDoveNetworkCRU(this); if (!input.isRouterExternal()) { // don't map router external networks if (input.isShared()) { // map shared network OpenDoveNeutronControlBlock controlBlock = systemDB.getSystemBlock(); //get system block if (!controlBlock.getDomainSeparation()) { //if domain separation not supported, map to shared domain OpenDoveDomain sharedDomain = createDoveDomain("SharedDomain", input.getID(), domainDB, doveNetworkDB); int vnid = doveNetworkDB.allocateVNID(); String networkName = "Neutron "+input.getID(); OpenDoveNetwork doveNetwork = new OpenDoveNetwork(networkName, vnid, sharedDomain, 0, input.getID()); doveNetworkDB.addNetwork(doveNetwork.getUUID(), doveNetwork); } } else { // map dedicated network String domainName = "Neutron "+input.getTenantID(); OpenDoveDomain domain = createDoveDomain(domainName, input.getID(), domainDB, doveNetworkDB); domain.setAssociatedOSTenantUUID(input.getTenantID()); int vnid = doveNetworkDB.allocateVNID(); String networkName = "Neutron "+input.getID(); OpenDoveNetwork doveNetwork = new OpenDoveNetwork(networkName, vnid, domain, 0, input.getID()); doveNetworkDB.addNetwork(doveNetwork.getUUID(), doveNetwork); } } }
NeutronNetwork neutronNetwork = neutronNetworkIf.getNetwork(neutronSubnet.getNetworkUUID()); if (!neutronNetwork.isRouterExternal()) { if (neutronNetwork.isShared()) { if (!controlBlock.getDomainSeparation()) {