@Override public void shutdown(NetworkProfile profile, NetworkOffering offering) { NetworkVO networkObject = _networkDao.findById(profile.getId()); if (networkObject.getBroadcastDomainType() != BroadcastDomainType.Vlan || networkObject.getBroadcastUri() == null) { s_logger.warn("BroadcastUri is empty or incorrect for guestnetwork " + networkObject.getDisplayText()); return; } bcfUtilsInit(); // tenantId stored in network domain field at creation String tenantId = networkObject.getNetworkDomain(); String networkId = networkObject.getUuid(); DeleteBcfSegmentCommand cmd = new DeleteBcfSegmentCommand(tenantId, networkId); _bcfUtils.sendBcfCommandWithNetworkSyncCheck(cmd, networkObject); super.shutdown(profile, offering); }
NetworkOffering newOffering = _networkOfferingDao.findByIdIncludingRemoved(networkOfferingId); long gurusImplementing = 0; network.setBroadcastUri(null); AccountVO networkAccount = _accountDao.findById(network.getAccountId()); DataCenterDeployment plan = new DataCenterDeployment(network.getDataCenterId(), null, null, null, null, newPhysicalNetworkId); for (final NetworkGuru guru : _networkMgr.getNetworkGurus()) { network.setTrafficType(designedNetwork.getTrafficType()); network.setMode(designedNetwork.getMode()); network.setBroadcastDomainType(designedNetwork.getBroadcastDomainType()); network.setBroadcastUri(designedNetwork.getBroadcastUri()); network.setNetworkOfferingId(designedNetwork.getNetworkOfferingId()); network.setState(designedNetwork.getState()); network.setPhysicalNetworkId(designedNetwork.getPhysicalNetworkId()); network.setRedundant(designedNetwork.isRedundant()); network.setGateway(designedNetwork.getGateway()); network.setCidr(designedNetwork.getCidr()); network.setGuruName(guru.getName()); network.setVpcId(vpcId); _networksDao.update(network.getId(), network, _networkMgr.finalizeServicesAndProvidersForNetwork(_entityMgr.findById(NetworkOffering.class, networkOfferingId), newPhysicalNetworkId)); return network;
final NetworkVO userNetwork = new NetworkVO(); userNetwork.setNetworkDomain(networkDomainFinal); userNetwork.setCidr(cidr); userNetwork.setGateway(gateway); userNetwork.setIp6Cidr(ip6Cidr); userNetwork.setIp6Gateway(ip6Gateway); userNetwork.setExternalId(externalId); if (UuidUtils.validateUUID(vlanIdFinal)){ userNetwork.setVlanIdAsUUID(vlanIdFinal); //Set transient field } else { uri = BroadcastDomainType.fromString(vlanIdFinal); userNetwork.setBroadcastUri(uri); if (!vlanIdFinal.equalsIgnoreCase(Vlan.UNTAGGED)) { userNetwork.setBroadcastDomainType(BroadcastDomainType.Vlan); } else { userNetwork.setBroadcastDomainType(BroadcastDomainType.Native); throw new InvalidParameterValueException("Cannot support pvlan with untagged primary vlan!"); userNetwork.setBroadcastUri(NetUtils.generateUriForPvlan(vlanIdFinal, isolatedPvlan)); userNetwork.setBroadcastDomainType(BroadcastDomainType.Pvlan);
/** * Swaps the UUID's of the given networks * @param oldNetwork * @param newNetwork */ private void swapUuids(NetworkVO oldNetwork, NetworkVO newNetwork) { String realUuid = oldNetwork.getUuid(); String dummyUuid = newNetwork.getUuid(); oldNetwork.setUuid(dummyUuid.replace("-","+")); newNetwork.setUuid(realUuid); _networksDao.update(oldNetwork.getId(), oldNetwork); _networksDao.update(newNetwork.getId(), newNetwork); oldNetwork.setUuid(dummyUuid); _networksDao.update(oldNetwork.getId(), oldNetwork); }
private void setRestartRequired(final NetworkVO network, final boolean restartRequired) { s_logger.debug("Marking network " + network + " with restartRequired=" + restartRequired); network.setRestartRequired(restartRequired); _networksDao.update(network.getId(), network); }
@Override public void shutdown(NetworkProfile profile, NetworkOffering offering) { NetworkVO networkObject = _networkDao.findById(profile.getId()); if (networkObject.getBroadcastDomainType() != BroadcastDomainType.Vxlan || networkObject.getBroadcastUri() == null) { s_logger.warn("BroadcastUri is empty or incorrect for guestnetwork " + networkObject.getDisplayText()); return; } super.shutdown(profile, offering); }
if (network.getVpcId() != null && networkOfferingId != null) { Vpc vpc = _entityMgr.findById(Vpc.class, network.getVpcId()); _vpcMgr.validateNtwkOffForNtwkInVpc(networkId, networkOfferingId, null, null, vpc, null, _accountMgr.getAccount(network.getAccountId()), network.getNetworkACLId()); if (network.getState() == Network.State.Destroy) { throw new InvalidParameterValueException("Don't allow to update network in state " + Network.State.Destroy); NetworkOffering offering = _networkOfferingDao.findByIdIncludingRemoved(network.getNetworkOfferingId()); if (offering.isSystemOnly()) { throw new InvalidParameterValueException("Can't update system networks"); if (network.getTrafficType() != Networks.TrafficType.Guest) { throw new InvalidParameterValueException("Can't allow networks which traffic type is not " + TrafficType.Guest); network.setName(name); network.setDisplayText(displayText); network.setUuid(customId); if (displayNetwork != null && displayNetwork != network.getDisplayNetwork()) { NetworkOffering networkOffering = _networkOfferingDao.findById(network.getNetworkOfferingId()); if (_networkMgr.resourceCountNeedsUpdate(networkOffering, network.getAclType())) { _resourceLimitMgr.changeResourceCount(network.getAccountId(), Resource.ResourceType.network, displayNetwork); network.setDisplayNetwork(displayNetwork); if ((networkOfferingId != null || domainSuffix != null) && network.getGuestType() != GuestType.Isolated) {
@PostConstruct protected void init() { AllFieldsSearch = createSearchBuilder(); AllFieldsSearch.and("trafficType", AllFieldsSearch.entity().getTrafficType(), Op.EQ); AllFieldsSearch.and("cidr", AllFieldsSearch.entity().getCidr(), Op.EQ); AllFieldsSearch.and("broadcastType", AllFieldsSearch.entity().getBroadcastDomainType(), Op.EQ); AllFieldsSearch.and("offering", AllFieldsSearch.entity().getNetworkOfferingId(), Op.EQ); AllFieldsSearch.and("datacenter", AllFieldsSearch.entity().getDataCenterId(), Op.EQ); AllFieldsSearch.and("account", AllFieldsSearch.entity().getAccountId(), Op.EQ); AllFieldsSearch.and("related", AllFieldsSearch.entity().getRelated(), Op.EQ); AllFieldsSearch.and("guestType", AllFieldsSearch.entity().getGuestType(), Op.EQ); AllFieldsSearch.and("physicalNetwork", AllFieldsSearch.entity().getPhysicalNetworkId(), Op.EQ); AllFieldsSearch.and("broadcastUri", AllFieldsSearch.entity().getBroadcastUri(), Op.EQ); AllFieldsSearch.and("vpcId", AllFieldsSearch.entity().getVpcId(), Op.EQ); AllFieldsSearch.and("aclId", AllFieldsSearch.entity().getNetworkACLId(), Op.EQ); AllFieldsSearch.and("redundant", AllFieldsSearch.entity().isRedundant(), Op.EQ); final SearchBuilder<NetworkOfferingVO> join1 = _ntwkOffDao.createSearchBuilder(); join1.and("isSystem", join1.entity().isSystemOnly(), Op.EQ); join1.and("isRedundant", join1.entity().isRedundantRouter(), Op.EQ); AllFieldsSearch.join("offerings", join1, AllFieldsSearch.entity().getNetworkOfferingId(), join1.entity().getId(), JoinBuilder.JoinType.INNER); AllFieldsSearch.done(); AccountSearch.and("offering", AccountSearch.entity().getNetworkOfferingId(), Op.EQ); final SearchBuilder<NetworkAccountVO> join = _accountsDao.createSearchBuilder(); join.and("account", join.entity().getAccountId(), Op.EQ); AccountSearch.join("accounts", join, AccountSearch.entity().getId(), join.entity().getNetworkId(), JoinBuilder.JoinType.INNER); AccountSearch.and("datacenter", AccountSearch.entity().getDataCenterId(), Op.EQ); AccountSearch.and("cidr", AccountSearch.entity().getCidr(), Op.EQ); AccountSearch.and("vpcId", AccountSearch.entity().getVpcId(), Op.EQ); AccountSearch.done();
NetworkVO implemented = new NetworkVO(network.getTrafficType(), network.getMode(), network.getBroadcastDomainType(), network.getNetworkOfferingId(), State.Allocated, network.getDataCenterId(), physicalNetworkId, offering.isRedundantRouter()); implemented.setGateway(network.getGateway()); implemented.setCidr(network.getCidr()); name = ((NetworkVO)network).getUuid(); implemented.setBroadcastUri(BroadcastDomainType.OpenDaylight.toUri(answer.getNetworkUuid())); implemented.setBroadcastDomainType(BroadcastDomainType.OpenDaylight); s_logger.info("Implemented OK, network linked to = " + implemented.getBroadcastUri().toString());
implemented = new NetworkVO(network.getId(), network, network.getNetworkOfferingId(), network.getGuruName(), network.getDomainId(), network.getAccountId(), network.getRelated(), network.getName(), network.getDisplayText(), network.getNetworkDomain(), network.getGuestType(), network.getDataCenterId(), physicalNetworkId, network.getAclType(), network.getSpecifyIpRanges(), network.getVpcId(), offering.isRedundantRouter(), network.getExternalId()); implemented.setUuid(network.getUuid()); implemented.setState(State.Allocated); if (network.getGateway() != null) { implemented.setGateway(network.getGateway()); implemented.setCidr(network.getCidr()); implemented.setBroadcastUri(_nuageVspManager.calculateBroadcastUri(implemented)); implemented.setBroadcastDomainType(Networks.BroadcastDomainType.Vsp); VspNetwork vspNetwork = _nuageVspEntityBuilder.buildVspNetwork(implemented); saveVpcDetail(network.getVpcId(), NuageVspManager.nuageDomainTemplateDetailName, vspNetwork.getDomainTemplateName()); } else { saveNetworkDetail(implemented.getId(), NuageVspManager.nuageDomainTemplateDetailName, vspNetwork.getDomainTemplateName()); s_logger.info("Implemented OK, network " + implemented.getUuid() + " in tenant " + tenantId + " linked to " + implemented.getBroadcastUri()); } finally { _networkDao.releaseFromLockTable(network.getId());
new NetworkVO(offering.getTrafficType(), Mode.Dhcp, BroadcastDomainType.Vlan, offering.getId(), State.Allocated, plan.getDataCenterId(), plan.getPhysicalNetworkId(), offering.isRedundantRouter()); if (userSpecified != null) { network.setCidr(userSpecified.getCidr()); network.setGateway(userSpecified.getGateway()); } else if (offering.getGuestType() != GuestType.L2 && (offering.getGuestType() == GuestType.Shared || !_networkModel.listNetworkOfferingServices(offering.getId()).isEmpty())) { final String guestNetworkCidr = dc.getGuestNetworkCidr(); if (guestNetworkCidr != null) { final String[] cidrTuple = guestNetworkCidr.split("\\/"); network.setGateway(NetUtils.getIpRangeStartIpFromCidr(cidrTuple[0], Long.parseLong(cidrTuple[1]))); network.setCidr(guestNetworkCidr); } else if (dc.getNetworkType() == NetworkType.Advanced) { throw new CloudRuntimeException("Can't design network " + network + "; guest CIDR is not configured per zone " + dc); network.setBroadcastUri(userSpecified.getBroadcastUri()); network.setState(State.Setup); network.setGateway(NetUtils.getIpRangeStartIpFromCidr(cidrTuple[0], Long.parseLong(cidrTuple[1]))); network.setCidr(guestNetworkCidr);
new NetworkVO(network.getTrafficType(), network.getMode(), network.getBroadcastDomainType(), network.getNetworkOfferingId(), State.Allocated, network.getDataCenterId(), physicalNetworkId, false); implemented.setGateway(network.getGateway()); implemented.setCidr(network.getCidr()); "part of network " + network + " implement ", DataCenter.class, dcId); implemented.setBroadcastUri(BroadcastDomainType.Vlan.toUri(vnetId)); ActionEventUtils.onCompletedActionEvent(CallContext.current().getCallingUserId(), network.getAccountId(), EventVO.LEVEL_INFO, EventTypes.EVENT_ZONE_VLAN_ASSIGN, "Assigned Zone Vlan: " + vnetId + " Network Id: " + network.getId(), 0); } else { implemented.setBroadcastUri(network.getBroadcastUri()); name = ((NetworkVO)network).getUuid(); String networkId = networkObject.getUuid(); networkObject.setNetworkDomain(tenantId); implemented.setNetworkDomain(tenantId); String vlanStr = BroadcastDomainType.getValue(implemented.getBroadcastUri()); sc.setParameters("network_id", pubNet.getId()); VlanVO pubVlanVO = _vlanDao.findOneBy(sc); String pubVlanStr = pubVlanVO.getVlanTag();
new NetworkVO(offering.getTrafficType(), Mode.Dhcp, BroadcastDomainType.Vlan, offering.getId(), state, plan.getDataCenterId(), plan.getPhysicalNetworkId(), offering.isRedundantRouter()); config.setCidr(userSpecified.getCidr()); config.setGateway(userSpecified.getGateway()); config.setIp6Cidr(userSpecified.getIp6Cidr()); config.setIp6Gateway(userSpecified.getIp6Gateway()); config.setBroadcastUri(userSpecified.getBroadcastUri()); config.setState(State.Setup); config.setBroadcastDomainType(userSpecified.getBroadcastDomainType()); config.setName("SecurityGroupEnabledNetwork"); config.setDisplayText("SecurityGroupEnabledNetwork");
final NetworkGuru guru = AdapterBase.getAdapterByName(networkGurus, network.getGuruName()); if (isNetworkImplemented(network)) { s_logger.debug("Network id=" + networkId + " is already implemented"); final NetworkOfferingVO offering = _networkOfferingDao.findById(network.getNetworkOfferingId()); network.setReservationId(context.getReservationId()); if (isSharedNetworkWithServices(network)) { network.setState(Network.State.Implementing); } else { stateTransitTo(network, Event.ImplementNetwork); network.setCidr(result.getCidr()); network.setBroadcastUri(result.getBroadcastUri()); network.setGateway(result.getGateway()); network.setMode(result.getMode()); network.setPhysicalNetworkId(result.getPhysicalNetworkId()); _networksDao.update(networkId, network); network.setState(Network.State.Implemented); } else { stateTransitTo(network, Event.OperationSucceeded); network.setRestartRequired(false); _networksDao.update(network.getId(), network); implemented.set(guru, network); return implemented; try {
sc.setParameters("network_id", pubNet.getId()); VlanVO vlanVO = _vlanDao.findOneBy(sc); network.setId(netVO.getUuid()); network.setName(netVO.getName()); if (netVO.getBroadcastUri() != null) { String vlanStr = BroadcastDomainType.getValue(netVO.getBroadcastUri()); if(StringUtils.isNumeric(vlanStr)){ vlan = Integer.valueOf(vlanStr); network.setState(netVO.getState().name()); nics = _nicDao.listByNetworkId(netVO.getId()); List<Port> ports = new ArrayList<Port>(); String tenantId = null; if(netVO.getVpcId()!=null){ vpc = _vpcDao.acquireInLockTable(netVO.getVpcId()); tenantName = vpc.getName(); } else { tenantId = netVO.getUuid(); tenantName = netVO.getName(); long zoneId = netVO.getDataCenterId(); String vmwareVswitchLabel = _networkModel.getDefaultGuestTrafficLabel(zoneId, HypervisorType.VMware); String[] labelArray = null;
public void finalizeNetworkDesign(long networkId, String vlanIdAsUUID) { NetworkVO designedNetwork = _networkDao.findById(networkId); String externalId = designedNetwork.getExternalId(); boolean isVpc = designedNetwork.getVpcId() != null; if (isVpc && _networkDao.listByVpc(designedNetwork.getVpcId()).size() > 1) { boolean isVsdManagedVpc = isVsdManagedVpc(designedNetwork.getVpcId()); if (isVsdManagedVpc && externalId == null) { throw new CloudRuntimeException("Refusing to design network. Network is vsdManaged but is part of a non vsd managed vpc."); HostVO nuageVspHost = _nuageVspManager.getNuageVspHost(designedNetwork.getPhysicalNetworkId()); NetworkVO forUpdate = _networkDao.createForUpdate(networkId); if (isVpc && (!designedNetwork.getCidr().equals(updatedVspNetwork.getCidr()) || !designedNetwork.getGateway().equals(updatedVspNetwork.getGateway()))) { throw new CloudRuntimeException("Tier network does not match the VsdManaged subnet cidr or gateway."); } else { forUpdate.setCidr(updatedVspNetwork.getCidr()); forUpdate.setGateway(updatedVspNetwork.getGateway()); saveNetworkAndVpcDetails(vspNetwork, implementAnswer.getNetworkRelatedVsdIds(), designedNetwork.getVpcId()); saveNetworkDetail(networkId, NuageVspManager.NETWORK_METADATA_VSD_SUBNET_ID, externalId); saveNetworkDetail(networkId, NuageVspManager.NETWORK_METADATA_VSD_MANAGED, "true"); forUpdate.setState(State.Allocated); _networkDao.update(networkId, forUpdate);
implemented.setGateway(network.getGateway()); implemented.setCidr(network.getCidr()); implemented.setBroadcastDomainType(BroadcastDomainType.Vswitch); String keyStr = BroadcastDomainType.getValue(implemented.getBroadcastUri()); Long vpcid= network.getVpcId(); implemented.setBroadcastUri(BroadcastDomainType.Vswitch.toUri(vpcid.toString() + "." + keyStr));
@Override public Network design(NetworkOffering offering, DeploymentPlan plan, Network specifiedConfig, Account owner) { if (!canHandle(offering)) { return null; } NetworkVO config = new NetworkVO(offering.getTrafficType(), Mode.Static, BroadcastDomainType.LinkLocal, offering.getId(), Network.State.Setup, plan.getDataCenterId(), plan.getPhysicalNetworkId(), offering.isRedundantRouter()); config.setCidr(_cidr); config.setGateway(_gateway); return config; }
@Override public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, Account owner) { if (!canHandle(offering)) { return null; } NetworkVO network = new NetworkVO(offering.getTrafficType(), Mode.Dhcp, BroadcastDomainType.Lswitch, offering.getId(), Network.State.Allocated, plan.getDataCenterId(), plan.getPhysicalNetworkId(), offering.isRedundantRouter()); if (_mgmtCidr != null) { network.setCidr(_mgmtCidr); network.setGateway(_mgmtGateway); } s_logger.debug("Allocated network " + userSpecified.getName() + (network.getCidr() == null ? "" : " subnet: " + network.getCidr())); return network; }
@Override public void shutdown(NetworkProfile profile, NetworkOffering offering) { NetworkVO networkObject = networkDao.findById(profile.getId()); if (networkObject.getBroadcastDomainType() != BroadcastDomainType.OpenDaylight || networkObject.getBroadcastUri() == null) { s_logger.warn("BroadcastUri is empty or incorrect for guestnetwork " + networkObject.getDisplayText()); return; } List<OpenDaylightControllerVO> devices = openDaylightControllerMappingDao.listByPhysicalNetwork(networkObject.getPhysicalNetworkId()); if (devices.isEmpty()) { s_logger.error("No Controller on physical network " + networkObject.getPhysicalNetworkId()); return; } OpenDaylightControllerVO controller = devices.get(0); DestroyNetworkCommand cmd = new DestroyNetworkCommand(BroadcastDomainType.getValue(networkObject.getBroadcastUri())); DestroyNetworkAnswer answer = (DestroyNetworkAnswer)agentManager.easySend(controller.getHostId(), cmd); if (answer == null || !answer.getResult()) { s_logger.error("DestroyNetworkCommand failed"); } super.shutdown(profile, offering); }