@Override public void rollback(FlowRollback trigger, Map data) { List<VirtualRouterVipVO> refs = (List<VirtualRouterVipVO>) data.get(VirtualRouterSyncVipForNewCreateFlow.class.getName()); if (refs != null) { dbf.removeCollection(refs, VirtualRouterVipVO.class); } trigger.rollback(); } }
@Override public void rollback(FlowRollback trigger, Map data) { List<VirtualRouterEipRefVO> refs = (List<VirtualRouterEipRefVO>) data.get(VirtualRouterSyncEipOnStartFlow.class.getName()); if (refs != null) { dbf.removeCollection(refs, VirtualRouterEipRefVO.class); } trigger.rollback(); } }
@Override public void rollback(FlowRollback chain, Map data) { List<VirtualRouterPortForwardingRuleRefVO> refs = (List<VirtualRouterPortForwardingRuleRefVO>) data.get(VirtualRouterSyncPortForwardingRulesOnStartFlow.class.getName()); if (refs != null) { dbf.removeCollection(refs, VirtualRouterPortForwardingRuleRefVO.class); } chain.rollback(); } }
@Override public void rollback(FlowRollback trigger, Map data) { List<VirtualRouterLoadBalancerRefVO> refs = (List<VirtualRouterLoadBalancerRefVO>) data.get(VirtualRouterSyncLbOnStartFlow.class); if (refs != null) { dbf.removeCollection(refs, VirtualRouterLoadBalancerRefVO.class); } trigger.rollback(); } }
@Override public void deleteHook() { dbf.removeCollection(getSelf().getMons(), FusionstorBackupStorageMonVO.class); } }
@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 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()); List<VirtualRouterLoadBalancerRefVO> refs = Q.New(VirtualRouterLoadBalancerRefVO.class).eq(VirtualRouterLoadBalancerRefVO_.virtualRouterVmUuid, vrUuid).list(); if (!refs.isEmpty()){ dbf.removeCollection(refs, VirtualRouterLoadBalancerRefVO.class); } trigger.next(); } }
public void clearPeerL3Network() { List<VipPeerL3NetworkRefVO> vos = Q.New(VipPeerL3NetworkRefVO.class) .eq(VipPeerL3NetworkRefVO_.vipUuid, self.getUuid()) .list(); if (vos != null && !vos.isEmpty()) { dbf.removeCollection(vos, VipPeerL3NetworkRefVO.class); } self.setPeerL3NetworkRefs(null); refresh(); } }
@Override public void handle(Map data) { CollectionUtils.safeForEach(pluginRgty.getExtensionList(VmAfterExpungeExtensionPoint.class), arg -> arg.vmAfterExpunge(inv)); callVmJustBeforeDeleteFromDbExtensionPoint(); dbf.reload(self); dbf.removeCollection(self.getVmNics(), VmNicVO.class); dbf.removeCollection(self.getVmCdRoms(), VmCdRomVO.class); dbf.remove(self); logger.debug(String.format("successfully expunged the vm[uuid:%s]", self.getUuid())); dbf.eoCleanup(VmInstanceVO.class, Collections.singletonList(self.getUuid())); completion.success(); } }).error(new FlowErrorHandler(completion) {
private void handle(APIDetachNetworkServiceFromL3NetworkMsg msg) { for (Map.Entry<String, List<String>> e : msg.getNetworkServices().entrySet()) { SimpleQuery<NetworkServiceL3NetworkRefVO> q = dbf.createQuery(NetworkServiceL3NetworkRefVO.class); q.add(NetworkServiceL3NetworkRefVO_.networkServiceProviderUuid, Op.EQ, e.getKey()); q.add(NetworkServiceL3NetworkRefVO_.l3NetworkUuid, Op.EQ, self.getUuid()); q.add(NetworkServiceL3NetworkRefVO_.networkServiceType, Op.IN, e.getValue()); List<NetworkServiceL3NetworkRefVO> refs = q.list(); if (refs.isEmpty()) { logger.warn(String.format("no network service references found for the provider[uuid:%s] and L3 network[uuid:%s]", e.getKey(), self.getUuid())); } else { dbf.removeCollection(refs, NetworkServiceL3NetworkRefVO.class); } logger.debug(String.format("successfully detached network service provider[uuid:%s] to l3network[uuid:%s, name:%s] with services%s", e.getKey(), self.getUuid(), self.getName(), e.getValue())); } self = dbf.reload(self); APIDetachNetworkServiceFromL3NetworkEvent evt = new APIDetachNetworkServiceFromL3NetworkEvent(msg.getId()); evt.setInventory(L3NetworkInventory.valueOf(self)); bus.publish(evt); }
@Override public void deleteHook() { String fsid = getSelf().getFsid(); new SQLBatch() { @Override protected void scripts() { if(Q.New(CephPrimaryStorageVO.class).eq(CephPrimaryStorageVO_.fsid, fsid).find() == null){ SQL.New(CephCapacityVO.class).eq(CephCapacityVO_.fsid, fsid).delete(); } } }.execute(); dbf.removeCollection(getSelf().getMons(), CephBackupStorageMonVO.class); } }
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 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); }
dbf.removeCollection(vos, SystemTagVO.class);
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); }
changeVmStateInDb(VmInstanceStateEvent.destroyed); callVmJustBeforeDeleteFromDbExtensionPoint(); dbf.removeCollection(self.getVmCdRoms(), VmCdRomVO.class); dbf.remove(getSelf()); } else if (deletionPolicy == VmInstanceDeletionPolicy.DBOnly || deletionPolicy == VmInstanceDeletionPolicy.KeepVolume) {
@Override public void deleteHook() { if (FusionstorGlobalConfig.PRIMARY_STORAGE_DELETE_POOL.value(Boolean.class)) { DeletePoolCmd cmd = new DeletePoolCmd(); cmd.poolNames = list(getSelf().getImageCachePoolName(), getSelf().getDataVolumePoolName(), getSelf().getRootVolumePoolName()); FutureReturnValueCompletion completion = new FutureReturnValueCompletion(null); httpCall(DELETE_POOL_PATH, cmd, DeletePoolRsp.class, completion); completion.await(TimeUnit.MINUTES.toMillis(30)); if (!completion.isSuccess()) { throw new OperationFailureException(completion.getErrorCode()); } } dbf.removeCollection(getSelf().getMons(), FusionstorPrimaryStorageMonVO.class); }
@Override public void deleteHook() { List<String> poolNameLists = list( getDefaultRootVolumePoolName(), getDefaultDataVolumePoolName(), getDefaultImageCachePoolName() ); SQL.New(CephPrimaryStoragePoolVO.class) .in(CephPrimaryStoragePoolVO_.poolName, poolNameLists).delete(); if (CephGlobalConfig.PRIMARY_STORAGE_DELETE_POOL.value(Boolean.class)) { DeletePoolCmd cmd = new DeletePoolCmd(); cmd.poolNames = poolNameLists; FutureReturnValueCompletion completion = new FutureReturnValueCompletion(null); httpCall(DELETE_POOL_PATH, cmd, DeletePoolRsp.class, completion); completion.await(TimeUnit.MINUTES.toMillis(30)); if (!completion.isSuccess()) { throw new OperationFailureException(completion.getErrorCode()); } } String fsid = getSelf().getFsid(); new SQLBatch(){ @Override protected void scripts() { if(Q.New(CephBackupStorageVO.class).eq(CephBackupStorageVO_.fsid, fsid).find() == null){ SQL.New(CephCapacityVO.class).eq(CephCapacityVO_.fsid, fsid).delete(); } } }.execute(); dbf.removeCollection(getSelf().getMons(), CephPrimaryStorageMonVO.class); }