@Transactional(readOnly = true) private LdapServerVO getLdapServer() { SimpleQuery<LdapServerVO> sq = dbf.createQuery(LdapServerVO.class); List<LdapServerVO> ldapServers = sq.list(); if (ldapServers.isEmpty()) { throw new CloudRuntimeException("No ldap server record in database."); } if (ldapServers.size() > 1) { throw new CloudRuntimeException("More than one ldap server record in database."); } return ldapServers.get(0); }
private List<HostVO> findHostUnderClusterByUuid(String clusterUuid) { SimpleQuery<HostVO> query = dbf.createQuery(HostVO.class); query.add(HostVO_.clusterUuid, Op.EQ, clusterUuid); return query.list(); }
private List<ClusterVO> findClusterUnderZone(String uuid) { SimpleQuery<ClusterVO> q = dbf.createQuery(ClusterVO.class); q.add(ClusterVO_.zoneUuid, Op.EQ, uuid); return q.list(); }
@Override public void releaseServicesOnVip(VipInventory vip, final Completion completion) { SimpleQuery<LoadBalancerVO> q = dbf.createQuery(LoadBalancerVO.class); q.add(LoadBalancerVO_.vipUuid, Op.EQ, vip.getUuid()); List<LoadBalancerVO> rules = q.list(); releaseServicesOnVip(rules.iterator(), completion); } }
@Override public void run(FlowTrigger trigger, Map data) { final String vrUuid = (String) data.get(Param.VR_UUID.toString()); SimpleQuery<VirtualRouterEipRefVO> q = dbf.createQuery(VirtualRouterEipRefVO.class); q.add(VirtualRouterEipRefVO_.virtualRouterVmUuid, Op.EQ, vrUuid); List<VirtualRouterEipRefVO> refs = q.list(); if (!refs.isEmpty()) { dbf.removeCollection(refs, VirtualRouterEipRefVO.class); } trigger.next(); } }
@Override public void run(FlowTrigger trigger, Map data) { final String vrUuid = (String) data.get(Param.VR_UUID.toString()); SimpleQuery<VirtualRouterPortForwardingRuleRefVO> q = dbf.createQuery(VirtualRouterPortForwardingRuleRefVO.class); q.add(VirtualRouterPortForwardingRuleRefVO_.virtualRouterVmUuid, Op.EQ, vrUuid); List<VirtualRouterPortForwardingRuleRefVO> refs = q.list(); if (!refs.isEmpty()) { dbf.removeCollection(refs, VirtualRouterPortForwardingRuleRefVO.class); } trigger.next(); } }
@Override public void releaseServicesOnVip(VipInventory vip, Completion complete) { SimpleQuery<PortForwardingRuleVO> q = dbf.createQuery(PortForwardingRuleVO.class); q.add(PortForwardingRuleVO_.vipUuid, Op.EQ, vip.getUuid()); List<PortForwardingRuleVO> rules = q.list(); releaseServicesOnVip(rules.iterator(), complete); }
private void buildFullSnapshotTree() { SimpleQuery<VolumeSnapshotVO> q = dbf.createQuery(VolumeSnapshotVO.class); q.add(VolumeSnapshotVO_.treeUuid, SimpleQuery.Op.EQ, currentRoot.getTreeUuid()); List<VolumeSnapshotVO> vos = q.list(); fullTree = VolumeSnapshotTree.fromVOs(vos); }
private void prepareFirewallInfo(FlowChain chain) { SimpleQuery<ApplianceVmFirewallRuleVO> q = dbf.createQuery(ApplianceVmFirewallRuleVO.class); q.add(ApplianceVmFirewallRuleVO_.applianceVmUuid, Op.EQ, getSelf().getUuid()); List<ApplianceVmFirewallRuleVO> vos = q.list(); List<ApplianceVmFirewallRuleInventory> rules = ApplianceVmFirewallRuleInventory.valueOf(vos); chain.getData().put(ApplianceVmConstant.Params.applianceVmFirewallRules.toString(), rules); }
public SnapshotLeaf buildRootLeaf(String uuid) { VolumeSnapshotVO s = dbf.findByUuid(uuid, VolumeSnapshotVO.class); SimpleQuery<VolumeSnapshotVO> q = dbf.createQuery(VolumeSnapshotVO.class); q.add(VolumeSnapshotVO_.treeUuid, Op.EQ, s.getTreeUuid()); List<VolumeSnapshotVO> vos = q.list(); VolumeSnapshotTree tree = VolumeSnapshotTree.fromVOs(vos); SnapshotLeaf leaf = tree.getRoot(); if (!leaf.getInventory().getUuid().equals(uuid)) { Assert.fail(String.format("snapshot[%s] is not root snapshot", uuid)); } return leaf; } }
private void recalculatePrimaryStorageCapacity(String clusterUuid) { SimpleQuery<PrimaryStorageClusterRefVO> q = dbf.createQuery(PrimaryStorageClusterRefVO.class); q.add(PrimaryStorageClusterRefVO_.clusterUuid, Op.EQ, clusterUuid); List<PrimaryStorageClusterRefVO> refs = q.list(); if (refs != null && !refs.isEmpty()) { for (PrimaryStorageClusterRefVO ref : refs) { RecalculatePrimaryStorageCapacityMsg msg = new RecalculatePrimaryStorageCapacityMsg(); msg.setPrimaryStorageUuid(ref.getPrimaryStorageUuid()); bus.makeTargetServiceIdByResourceUuid(msg, PrimaryStorageConstant.SERVICE_ID, ref.getPrimaryStorageUuid()); bus.send(msg); } } }
protected WorkFlowContext carryOnRestart() throws WorkFlowException { SimpleQuery<WorkFlowVO> query = dbf.createQuery(WorkFlowVO.class); query.add(WorkFlowVO_.chainUuid, Op.EQ, chainvo.getUuid()); query.orderBy(WorkFlowVO_.position, Od.DESC); List<WorkFlowVO> vos = query.list(); WorkFlowVO last = vos.get(0); assert last.getState() == WorkFlowState.Done || last.getState() == WorkFlowState.Processing : String.format("How can work flow[%s] in %s state when restart workflow chain[uuid:%s] !!?", last.getName(), last.getState(), chainvo.getUuid()); return run(WorkFlowContext.fromBytes(last.getContext()), last); }
public void copy(String srcUuid, Class srcClass, String dstUuid, Class dstClass) { SimpleQuery<SystemTagVO> q = dbf.createQuery(SystemTagVO.class); q.add(SystemTagVO_.resourceType, Op.EQ, srcClass.getSimpleName()); q.add(SystemTagVO_.resourceUuid, Op.EQ, srcUuid); q.add(SystemTagVO_.tag, useOp(), useTagFormat()); List<SystemTagVO> tags = q.list(); for (SystemTagVO tag : tags) { if (tag.isInherent()) { deleteInherentTag(dstUuid, dstClass); tagMgr.createInherentSystemTag(dstUuid, tag.getTag(), dstClass.getSimpleName()); } else { delete(dstUuid, dstClass); tagMgr.createNonInherentSystemTag(dstUuid, tag.getTag(), dstClass.getSimpleName()); } } }
public void rollback() { SimpleQuery<WorkFlowVO> query = dbf.createQuery(WorkFlowVO.class); query.add(WorkFlowVO_.chainUuid, Op.EQ, chainvo.getUuid()); query.orderBy(WorkFlowVO_.position, Od.DESC); List<WorkFlowVO> vos = query.list(); logger.debug(String.format("starting to rollback AsyncWorkFlowChain[name: %s, owner: %s]", name, owner)); for (WorkFlowVO vo : vos) { if (vo.getState() == WorkFlowState.RollbackDone) { /* when this is called from carryOn(), some flows may have been rolled back, skip them */ continue; } rollbackFlow(vo); } chainvo.setState(chainStates.getNextState(chainvo.getState(), WorkFlowChainStateEvent.rollbackDone)); chainvo = dbf.updateAndRefresh(chainvo); logger.debug(String.format("Rolled back all flows in AsyncWorkFlow chain[%s]", getName())); }
private void handle(APIRemoveMonFromCephBackupStorageMsg msg) { SimpleQuery<CephBackupStorageMonVO> q = dbf.createQuery(CephBackupStorageMonVO.class); q.add(CephBackupStorageMonVO_.hostname, Op.IN, msg.getMonHostnames()); q.add(CephBackupStorageMonVO_.backupStorageUuid, Op.EQ, self.getUuid()); List<CephBackupStorageMonVO> vos = q.list(); if (!vos.isEmpty()) { dbf.removeCollection(vos, CephBackupStorageMonVO.class); } APIRemoveMonFromCephBackupStorageEvent evt = new APIRemoveMonFromCephBackupStorageEvent(msg.getId()); evt.setInventory(CephBackupStorageInventory.valueOf(dbf.reload(getSelf()))); bus.publish(evt); }
private void marshal(APIQueryVolumeSnapshotTreeReply reply) { if (reply.getInventories() == null) { // this is for count return; } for (VolumeSnapshotTreeInventory inv : reply.getInventories()) { SimpleQuery<VolumeSnapshotVO> sq = dbf.createQuery(VolumeSnapshotVO.class); sq.add(VolumeSnapshotVO_.treeUuid, Op.EQ, inv.getUuid()); List<VolumeSnapshotVO> vos = sq.list(); VolumeSnapshotTree tree = VolumeSnapshotTree.fromVOs(vos); inv.setTree(tree.getRoot().toLeafInventory()); } }
private void handle(APIRemoveMonFromFusionstorBackupStorageMsg msg) { SimpleQuery<FusionstorBackupStorageMonVO> q = dbf.createQuery(FusionstorBackupStorageMonVO.class); q.add(FusionstorBackupStorageMonVO_.hostname, Op.IN, msg.getMonHostnames()); q.add(FusionstorBackupStorageMonVO_.backupStorageUuid, Op.EQ, self.getUuid()); List<FusionstorBackupStorageMonVO> vos = q.list(); if (!vos.isEmpty()) { dbf.removeCollection(vos, FusionstorBackupStorageMonVO.class); } APIRemoveMonFromFusionstorBackupStorageEvent evt = new APIRemoveMonFromFusionstorBackupStorageEvent(msg.getId()); evt.setInventory(FusionstorBackupStorageInventory.valueOf(dbf.reload(getSelf()))); bus.publish(evt); }
private List<HostVO> allocate(String hypervisorType) { SimpleQuery<HostVO> query = dbf.createQuery(HostVO.class); query.add(HostVO_.state, Op.EQ, HostState.Enabled); query.add(HostVO_.status, Op.EQ, HostStatus.Connected); if (hypervisorType != null) { query.add(HostVO_.hypervisorType, Op.EQ, hypervisorType); } if (usePagination()) { query.setStart(paginationInfo.getOffset()); query.setLimit(paginationInfo.getLimit()); } return query.list(); }
private void handle(APIRemoveMonFromCephPrimaryStorageMsg msg) { APIRemoveMonFromCephPrimaryStorageEvent evt = new APIRemoveMonFromCephPrimaryStorageEvent(msg.getId()); SimpleQuery<CephPrimaryStorageMonVO> q = dbf.createQuery(CephPrimaryStorageMonVO.class); q.add(CephPrimaryStorageMonVO_.hostname, Op.IN, msg.getMonHostnames()); List<CephPrimaryStorageMonVO> vos = q.list(); dbf.removeCollection(vos, CephPrimaryStorageMonVO.class); evt.setInventory(CephPrimaryStorageInventory.valueOf(dbf.reload(getSelf()))); bus.publish(evt); }
private void handle(APIRemoveMonFromFusionstorPrimaryStorageMsg msg) { APIRemoveMonFromFusionstorPrimaryStorageEvent evt = new APIRemoveMonFromFusionstorPrimaryStorageEvent(msg.getId()); SimpleQuery<FusionstorPrimaryStorageMonVO> q = dbf.createQuery(FusionstorPrimaryStorageMonVO.class); q.add(FusionstorPrimaryStorageMonVO_.hostname, Op.IN, msg.getMonHostnames()); List<FusionstorPrimaryStorageMonVO> vos = q.list(); dbf.removeCollection(vos, FusionstorPrimaryStorageMonVO.class); evt.setInventory(FusionstorPrimaryStorageInventory.valueOf(dbf.reload(getSelf()))); bus.publish(evt); }