@DB private void copyNetworkDetails(long srcNetworkId, long dstNetworkId) { List<NetworkDetailVO> networkDetails = _networkDetailsDao.listDetails(srcNetworkId); for (NetworkDetailVO networkDetail : networkDetails) { _networkDetailsDao.persist(new NetworkDetailVO(dstNetworkId, networkDetail.getName(), networkDetail.getValue(), networkDetail.isDisplay())); } }
@Override public void addDetail(long resourceId, String key, String value, boolean display) { super.addDetail(new NetworkDetailVO(resourceId, key, value, display)); }
if(network.isRedundant() && updateInSequence!=null && "true".equalsIgnoreCase(updateInSequence.getValue())){ List<DomainRouterVO> masterRouters=new ArrayList<DomainRouterVO>(); int noOfrouters=routers.size();
@Override public void setPreConfiguredDomainTemplateName(Network network, String domainTemplateName) { if (network.getVpcId() != null) { setPreConfiguredDomainTemplateName(network.getVpcId(), domainTemplateName); } else { NetworkDetailVO networkDetail = new NetworkDetailVO(network.getId(), NuageVspManager.nuageDomainTemplateDetailName, domainTemplateName, false); _networkDetailsDao.persist(networkDetail); } }
@Override public void configureResource(Network network) { NetworkDetailVO networkDetail=_networkDetailsDao.findDetail(network.getId(), Network.updatingInSequence); if(networkDetail==null || !"true".equalsIgnoreCase(networkDetail.getValue())) throw new CloudRuntimeException("failed to configure the resource, network update is not in progress."); List<DomainRouterVO>routers = _routerDao.listByNetworkAndRole(network.getId(), VirtualRouter.Role.VIRTUAL_ROUTER); for(DomainRouterVO router : routers){ router.setUpdateState(VirtualRouter.UpdateState.UPDATE_NEEDED); _routerDao.persist(router); } }
&& (networkOfferingId == null || _networkOfferingDao.findById(networkOfferingId).isRedundantRouter()) && network.getVpcId() == null) { _networkMgr.canUpdateInSequence(network, forced); NetworkDetailVO networkDetail = new NetworkDetailVO(network.getId(), Network.updatingInSequence, "true", true); _networkDetailsDao.persist(networkDetail); _networkMgr.configureUpdateInSequence(network);
protected void deployAllVirtualRouters() throws ConcurrentOperationException, InsufficientCapacityException, ResourceUnavailableException { final int routersToDeploy = getNumberOfRoutersToDeploy(); for (int i = 0; i < routersToDeploy; i++) { // Don't start the router as we are holding the network lock that // needs to be released at the end of router allocation final DomainRouterVO router = nwHelper.deployRouter(this, false); //check if the network update is in progress. //if update is in progress add the update_pending flag to DomainRouterVO. NetworkDetailVO detail = networkDetailsDao.findDetail(guestNetwork.getId(),Network.updatingInSequence); if("true".equalsIgnoreCase(detail!=null ? detail.getValue() : null)) { router.setUpdateState(VirtualRouter.UpdateState.UPDATE_IN_PROGRESS); routerDao.persist(router); } if (router != null) { routerDao.addRouterToGuestNetwork(router, guestNetwork); //Fix according to changes by Sheng Yang in commit ID cb4513379996b262ae378daf00c6388c6b7313cf routers.add(router); } } }
@Override public boolean completeAggregatedExecution(final Network network, final DeployDestination dest) throws ResourceUnavailableException { final List<DomainRouterVO> routers = getRouters(network, dest); if (routers == null || routers.size() == 0) { throw new ResourceUnavailableException("Can't find at least one router!", DataCenter.class, network.getDataCenterId()); } NetworkDetailVO networkDetail=_networkDetailsDao.findDetail(network.getId(), Network.updatingInSequence); boolean updateInSequence= "true".equalsIgnoreCase((networkDetail!=null ? networkDetail.getValue() : null)); if(updateInSequence){ DomainRouterVO router=routers.get(0); router.setUpdateState(VirtualRouter.UpdateState.UPDATE_COMPLETE); _routerDao.persist(router); } boolean result=false; try{ result=_routerMgr.completeAggregatedExecution(network, routers); } finally { if(!result && updateInSequence) { //fail the network update. even if one router fails we fail the network update. updateToFailedState(network); } } return result; }
@Override public String getPreConfiguredDomainTemplateName(Network network) { if (network.getVpcId() != null) { VpcDetailVO domainTemplateNetworkDetail = _vpcDetailsDao.findDetail(network.getVpcId(), NuageVspManager.nuageDomainTemplateDetailName); if (domainTemplateNetworkDetail != null) { return domainTemplateNetworkDetail.getValue(); } return NuageVspVpcDomainTemplateName.value(); } else { NetworkDetailVO domainTemplateNetworkDetail = _networkDetailsDao.findDetail(network.getId(), NuageVspManager.nuageDomainTemplateDetailName); if (domainTemplateNetworkDetail != null) { return domainTemplateNetworkDetail.getValue(); } if (network.getGuestType() == Network.GuestType.Shared) { return NuageVspSharedNetworkDomainTemplateName.value(); } return NuageVspIsolatedNetworkDomainTemplateName.value(); } }