@Override public void findInfrastructureNetworks(PhysicalNetworkVO phys, List<NetworkVO> dbList) { final TrafficType[] ttypes = {TrafficType.Control, // maps to __link_local__ TrafficType.Management, // maps to ip-fabric TrafficType.Public, TrafficType.Storage // maps to ip-fabric }; for (int i = 0; i < ttypes.length; i++) { List<NetworkVO> phys_nets; phys_nets = _networksDao.listByZoneAndTrafficType(phys.getDataCenterId(), ttypes[i]); dbList.addAll(phys_nets); } }
@Override public void doInTransactionWithoutResult(TransactionStatus status) { if (addVnetsFinal != null) { s_logger.debug("Adding vnet range " + addVnetsFinal.toString() + " for the physicalNetwork id= " + network.getId() + " and zone id=" + network.getDataCenterId() + " as a part of updatePhysicalNetwork call"); //add vnet takes a list of strings to be added. each string is a vnet. _dcDao.addVnet(network.getDataCenterId(), network.getId(), addVnetsFinal); } if (removeVnetsFinal != null) { s_logger.debug("removing vnet range " + removeVnetsFinal.toString() + " for the physicalNetwork id= " + network.getId() + " and zone id=" + network.getDataCenterId() + " as a part of updatePhysicalNetwork call"); //deleteVnets takes a list of strings to be removed. each string is a vnet. _datacneterVnet.deleteVnets(TransactionLegacy.currentTxn(), network.getDataCenterId(), network.getId(), removeVnetsFinal); } _physicalNetworkDao.update(network.getId(), network); } });
protected PhysicalNetworkDaoImpl() { super(); ZoneSearch = createSearchBuilder(); ZoneSearch.and("dataCenterId", ZoneSearch.entity().getDataCenterId(), Op.EQ); ZoneSearch.done(); }
s_logger.debug("Looking to see if VNI " + vnet + " already exists on another network in zone " + network.getDataCenterId()); List<DataCenterVnetVO> vnis = _datacneterVnet.findVnet(network.getDataCenterId(), vnet); if (vnis != null && !vnis.isEmpty()) { for (DataCenterVnetVO vni : vnis) {
List<String> removeVnets = new ArrayList<String>(); HashSet<String> vnetsInDb = new HashSet<String>(); vnetsInDb.addAll(_datacneterVnet.listVnetsByPhysicalNetworkAndDataCenter(network.getDataCenterId(), network.getId())); Integer start = Integer.parseInt(range[0]); Integer end = Integer.parseInt(range[1]); _datacneterVnet.lockRange(network.getDataCenterId(), network.getId(), start, end); List<DataCenterVnetVO> result = _datacneterVnet.listAllocatedVnetsInRange(network.getDataCenterId(), network.getId(), start, end); if (!result.isEmpty()) { throw new InvalidParameterValueException("physicalnetwork " + network.getId() + " has allocated vnets in the range " + start + "-" + end);
vnetsInDb.addAll(_datacneterVnet.listVnetsByPhysicalNetworkAndDataCenter(network.getDataCenterId(), network.getId())); tempVnets.addAll(vnetsInDb); for (Pair<Integer, Integer> vlan : vnetranges) {
throw new InvalidParameterValueException("Could not find phyical network with ID: " + physicalNetworkId); long zoneId = physicalNetwork.getDataCenterId(); hostParams.put("zoneId", String.valueOf(physicalNetwork.getDataCenterId())); hostParams.put("physicalNetworkId", String.valueOf(physicalNetwork.getId())); hostParams.put("name", "ODL Controller - " + hostParams.get("guid"));
if (!_physicalNetworkDao.listByZoneAndTrafficType(network.getDataCenterId(), trafficType).isEmpty()) { throw new CloudRuntimeException("Fail to add the traffic type to physical network because Zone already has a physical network with this traffic type: " + trafficType); List<SecondaryStorageVmVO> ssvms = _stnwMgr.getSSVMWithNoStorageNetwork(network.getDataCenterId()); if (!ssvms.isEmpty()) { StringBuilder sb = new StringBuilder("Cannot add " + trafficType || (isolationMethod != null && isolationMethods.contains(isolationMethod) && isolationMethod.toLowerCase().equals("vxlan"))) { NetworkVO publicNetwork = _networksDao.listByZoneAndTrafficType(network.getDataCenterId(), TrafficType.Public).get(0); if (publicNetwork != null) { s_logger.debug("setting public network " + publicNetwork + " to broadcast type vxlan");
throw new InvalidParameterValueException("Could not find phyical network with ID: " + physicalNetworkId); zoneId = pNetwork.getDataCenterId(); hostDetails.put("name", guid); hostDetails.put("guid", guid); hostDetails.put("zoneId", String.valueOf(pNetwork.getDataCenterId())); hostDetails.put("ip", ipAddress); hostDetails.put("physicalNetworkId", String.valueOf(pNetwork.getId()));
DataCenter zone = _dcDao.findById(network.getDataCenterId()); if (zone == null) { throwInvalidIdException("Zone with id=" + network.getDataCenterId() + " doesn't exist in the system", String.valueOf(network.getDataCenterId()), "dataCenterId");
throw new InvalidParameterValueException("Could not find phyical network with ID: " + physicalNetworkId); long zoneId = physicalNetwork.getDataCenterId(); params.put("zoneId", String.valueOf(physicalNetwork.getDataCenterId())); params.put("physicalNetworkId", String.valueOf(physicalNetwork.getId())); params.put("name", "Brocade VCS - " + cmd.getHost());
throw new InvalidParameterValueException("Could not find phyical network with ID: " + physicalNetworkId); long zoneId = physicalNetwork.getDataCenterId(); params.put("zoneId", String.valueOf(physicalNetwork.getDataCenterId())); params.put("physicalNetworkId", String.valueOf(physicalNetwork.getId())); params.put("name", "Nicira Controller - " + cmd.getHost());
private PhysicalNetworkServiceProvider addConfigDriveToPhysicalNetwork(long physicalNetworkId) { PhysicalNetworkVO pvo = _physicalNetworkDao.findById(physicalNetworkId); DataCenterVO dvo = _dcDao.findById(pvo.getDataCenterId()); if (dvo.getNetworkType() == NetworkType.Advanced) { Provider provider = Network.Provider.getProvider("ConfigDrive"); if (provider == null) { return null; } addProviderToPhysicalNetwork(physicalNetworkId, Provider.ConfigDrive.getName(), null, null); enableProvider(Provider.ConfigDrive.getName()); } return null; }
throw new IllegalArgumentException("Could not find phyical network with ID: " + cmd.getPhysicalNetworkId()); zoneId = pNetwork.getDataCenterId();
throw new IllegalArgumentException("Could not find phyical network with ID: " + cmd.getPhysicalNetworkId()); zoneId = pNetwork.getDataCenterId(); DataCenterVO zone = _dcDao.findById(zoneId);
private PhysicalNetworkServiceProvider addDefaultBaremetalProvidersToPhysicalNetwork(long physicalNetworkId) { PhysicalNetworkVO pvo = _physicalNetworkDao.findById(physicalNetworkId); DataCenterVO dvo = _dcDao.findById(pvo.getDataCenterId()); if (dvo.getNetworkType() == NetworkType.Basic) { Provider provider = Network.Provider.getProvider("BaremetalDhcpProvider"); if (provider == null) { // baremetal is not loaded return null; } addProviderToPhysicalNetwork(physicalNetworkId, "BaremetalDhcpProvider", null, null); addProviderToPhysicalNetwork(physicalNetworkId, "BaremetalPxeProvider", null, null); addProviderToPhysicalNetwork(physicalNetworkId, "BaremetalUserdataProvider", null, null); } else if (dvo.getNetworkType() == NetworkType.Advanced) { addProviderToPhysicalNetwork(physicalNetworkId, "BaremetalPxeProvider", null, null); enableProvider("BaremetalPxeProvider"); } return null; }
@Override @ActionEvent(eventType = EventTypes.EVENT_TRAFFIC_TYPE_DELETE, eventDescription = "Deleting physical network TrafficType", async = true) public boolean deletePhysicalNetworkTrafficType(Long id) { PhysicalNetworkTrafficTypeVO trafficType = _pNTrafficTypeDao.findById(id); if (trafficType == null) { throw new InvalidParameterValueException("Traffic Type with id=" + id + "doesn't exist in the system"); } // check if there are any networks associated to this physical network with this traffic type if (TrafficType.Guest.equals(trafficType.getTrafficType())) { if (!_networksDao.listByPhysicalNetworkTrafficType(trafficType.getPhysicalNetworkId(), trafficType.getTrafficType()).isEmpty()) { throw new CloudRuntimeException("The Traffic Type is not deletable because there are existing networks with this traffic type:" + trafficType.getTrafficType()); } } else if (TrafficType.Storage.equals(trafficType.getTrafficType())) { PhysicalNetworkVO pn = _physicalNetworkDao.findById(trafficType.getPhysicalNetworkId()); if (_stnwMgr.isAnyStorageIpInUseInZone(pn.getDataCenterId())) { throw new CloudRuntimeException("The Traffic Type is not deletable because there are still some storage network ip addresses in use:" + trafficType.getTrafficType()); } } return _pNTrafficTypeDao.remove(id); }
@Override public List<PhysicalNetworkVO> listByZoneAndTrafficType(long dataCenterId, TrafficType trafficType) { SearchBuilder<PhysicalNetworkTrafficTypeVO> trafficTypeSearch = _trafficTypeDao.createSearchBuilder(); PhysicalNetworkTrafficTypeVO trafficTypeEntity = trafficTypeSearch.entity(); trafficTypeSearch.and("trafficType", trafficTypeSearch.entity().getTrafficType(), SearchCriteria.Op.EQ); SearchBuilder<PhysicalNetworkVO> pnSearch = createSearchBuilder(); pnSearch.and("dataCenterId", pnSearch.entity().getDataCenterId(), Op.EQ); pnSearch.join("trafficTypeSearch", trafficTypeSearch, pnSearch.entity().getId(), trafficTypeEntity.getPhysicalNetworkId(), JoinBuilder.JoinType.INNER); SearchCriteria<PhysicalNetworkVO> sc = pnSearch.create(); sc.setJoinParameters("trafficTypeSearch", "trafficType", trafficType); sc.setParameters("dataCenterId", dataCenterId); return listBy(sc); } }
@Override public GuestVlanRangeResponse createDedicatedGuestVlanRangeResponse(GuestVlan vlan) { GuestVlanRangeResponse guestVlanRangeResponse = new GuestVlanRangeResponse(); guestVlanRangeResponse.setId(vlan.getUuid()); Long accountId = ApiDBUtils.getAccountIdForGuestVlan(vlan.getId()); Account owner = ApiDBUtils.findAccountById(accountId); if (owner != null) { populateAccount(guestVlanRangeResponse, owner.getId()); populateDomain(guestVlanRangeResponse, owner.getDomainId()); } guestVlanRangeResponse.setGuestVlanRange(vlan.getGuestVlanRange()); guestVlanRangeResponse.setPhysicalNetworkId(vlan.getPhysicalNetworkId()); PhysicalNetworkVO physicalNetwork = ApiDBUtils.findPhysicalNetworkById(vlan.getPhysicalNetworkId()); guestVlanRangeResponse.setZoneId(physicalNetwork.getDataCenterId()); return guestVlanRangeResponse; }
physicalnetworkSearch.and("zoneId", physicalnetworkSearch.entity().getDataCenterId(), SearchCriteria.Op.EQ); sb.join("physicalnetworkSearch", physicalnetworkSearch, sb.entity().getPhysicalNetworkId(), physicalnetworkSearch.entity().getId(), JoinBuilder.JoinType.INNER);