private boolean isRootVolume(String uuid) { SimpleQuery<VolumeVO> q = dbf.createQuery(VolumeVO.class); q.select(VolumeVO_.type); q.add(VolumeVO_.uuid, Op.EQ, uuid); VolumeType type = q.findValue(); return type == VolumeType.Root; }
@Transactional(readOnly = true) public long getVmInstanceRootVolumeSize(String vmInstanceUuid) { SimpleQuery<VolumeVO> sq = dbf.createQuery(VolumeVO.class); sq.select(VolumeVO_.size); sq.add(VolumeVO_.type, SimpleQuery.Op.EQ, VolumeType.Root); sq.add(VolumeVO_.vmInstanceUuid, SimpleQuery.Op.EQ, vmInstanceUuid); Long rootVolumeSize = sq.findValue(); rootVolumeSize = rootVolumeSize == null ? 0 : rootVolumeSize; return rootVolumeSize; } }
private boolean volumeIsAttached(final String volumeUuid) { SimpleQuery<VolumeVO> q = dbf.createQuery(VolumeVO.class); q.select(VolumeVO_.vmInstanceUuid); q.add(VolumeVO_.uuid, Op.EQ, volumeUuid); return q.findValue() != null; }
public AccountType getAccountType(String accountUuid) { SimpleQuery<AccountVO> q = dbf.createQuery(AccountVO.class); q.select(AccountVO_.type); q.add(AccountVO_.uuid, SimpleQuery.Op.EQ, accountUuid); return q.findValue(); }
private CephPrimaryStorageConfig getConfig(AgentCommand cmd) { SimpleQuery<PrimaryStorageVO> q = dbf.createQuery(PrimaryStorageVO.class); q.select(BackupStorageVO_.name); q.add(BackupStorageVO_.uuid, Op.EQ, cmd.getUuid()); String name = q.findValue(); CephPrimaryStorageConfig c = config.config.get(name); if (c == null) { throw new CloudRuntimeException(String.format("cannot find CephPrimaryStorageConfig by name[%s], uuid[%s]", name, cmd.getUuid())); } return c; }
private FusionstorBackupStorageConfig getConfig(AgentCommand cmd) { SimpleQuery<BackupStorageVO> q = dbf.createQuery(BackupStorageVO.class); q.select(BackupStorageVO_.name); q.add(BackupStorageVO_.uuid, Op.EQ, cmd.getUuid()); String name = q.findValue(); FusionstorBackupStorageConfig c = config.config.get(name); if (c == null) { throw new CloudRuntimeException(String.format("cannot find FusionstorBackupStorageConfig by name[%s], uuid[%s]", name, cmd.getUuid())); } c.name = name; return c; }
@Override public void attachHook(String clusterUuid, Completion completion) { SimpleQuery<ClusterVO> q = dbf.createQuery(ClusterVO.class); q.select(ClusterVO_.hypervisorType); q.add(ClusterVO_.uuid, Op.EQ, clusterUuid); String hvType = q.findValue(); if (KVMConstant.KVM_HYPERVISOR_TYPE.equals(hvType)) { attachToKvmCluster(clusterUuid, completion); } else { completion.success(); } }
@Override public void attachHook(String clusterUuid, Completion completion) { SimpleQuery<ClusterVO> q = dbf.createQuery(ClusterVO.class); q.select(ClusterVO_.hypervisorType); q.add(ClusterVO_.uuid, Op.EQ, clusterUuid); String hvType = q.findValue(); if (KVMConstant.KVM_HYPERVISOR_TYPE.equals(hvType)) { attachToKvmCluster(clusterUuid, completion); } else { completion.success(); } }
protected HypervisorFactory getHypervisorFactoryByClusterUuid(String cuuid) { SimpleQuery<ClusterVO> q = dbf.createQuery(ClusterVO.class); q.select(ClusterVO_.hypervisorType); q.add(ClusterVO_.uuid, Op.EQ, cuuid); String hvType = q.findValue(); return getHypervisorFactoryByHypervisorType(hvType); }
private String getBackupStorageUuidFromImageInventory(ImageInventory img) { SimpleQuery<ImageBackupStorageRefVO> q = dbf.createQuery(ImageBackupStorageRefVO.class); q.select(ImageBackupStorageRefVO_.backupStorageUuid); q.add(ImageBackupStorageRefVO_.imageUuid, SimpleQuery.Op.EQ, img.getUuid()); String backupStorageUuid = q.findValue(); DebugUtils.Assert(backupStorageUuid != null, String.format("cannot find backup storage for image [uuid:%s]", img.getUuid())); return backupStorageUuid; }
protected String getBackupStorageUuidFromImageInventory(ImageInventory img) { SimpleQuery<ImageBackupStorageRefVO> q = dbf.createQuery(ImageBackupStorageRefVO.class); q.select(ImageBackupStorageRefVO_.backupStorageUuid); q.add(ImageBackupStorageRefVO_.imageUuid, SimpleQuery.Op.EQ, img.getUuid()); String backupStorageUuid = q.findValue(); DebugUtils.Assert(backupStorageUuid != null, String.format("cannot find backup storage for image [uuid:%s]", img.getUuid())); return backupStorageUuid; }
private void getPrimaryStorageCapacities(Map<String, Object> ret) { SimpleQuery<PrimaryStorageVO> q = dbf.createQuery(PrimaryStorageVO.class); q.select(PrimaryStorageVO_.type); q.add(PrimaryStorageVO_.uuid, Op.EQ, self.getPrimaryStorageUuid()); String type = q.findValue(); PrimaryStorageType psType = PrimaryStorageType.valueOf(type); ret.put(Capability.MigrationInCurrentPrimaryStorage.toString(), psType.isSupportVolumeMigrationInCurrentPrimaryStorage()); ret.put(Capability.MigrationToOtherPrimaryStorage.toString(), psType.isSupportVolumeMigrationToOtherPrimaryStorage()); }
private String getHostUuidByResourceUuid(String resUuid, String resType) { SimpleQuery<LocalStorageResourceRefVO> q = dbf.createQuery(LocalStorageResourceRefVO.class); q.select(LocalStorageResourceRefVO_.hostUuid); q.add(LocalStorageResourceRefVO_.primaryStorageUuid, Op.EQ, self.getUuid()); q.add(LocalStorageResourceRefVO_.resourceUuid, Op.EQ, resUuid); String hostUuid = q.findValue(); if (hostUuid == null) { throw new CloudRuntimeException(String.format("resource[uuid:%s, type:%s] is not any on any host of local primary storage[uuid:%s]", resUuid, resType, self.getUuid())); } return hostUuid; }
protected HypervisorBackend getHypervisorBackendByVolumeUuid(String volUuid) { SimpleQuery<VolumeVO> q = dbf.createQuery(VolumeVO.class); q.select(VolumeVO_.format); q.add(VolumeVO_.uuid, Op.EQ, volUuid); String format = q.findValue(); if (format == null) { throw new CloudRuntimeException(String.format("cannot find the volume[uuid:%s]", volUuid)); } HypervisorType type = VolumeFormat.getMasterHypervisorTypeByVolumeFormat(format); HypervisorFactory f = getHypervisorFactoryByHypervisorType(type.toString()); return f.getHypervisorBackend(self); }
public SystemTagInventory update(String resourceUuid, String newTag) { SimpleQuery<SystemTagVO> q = dbf.createQuery(SystemTagVO.class); q.select(SystemTagVO_.uuid); q.add(SystemTagVO_.resourceType, Op.EQ, resourceClass.getSimpleName()); q.add(SystemTagVO_.resourceUuid, Op.EQ, resourceUuid); q.add(SystemTagVO_.tag, useOp(), useTagFormat()); String tagUuid = q.findValue(); if (tagUuid == null) { return null; } return tagMgr.updateSystemTag(tagUuid, newTag); }
@Override public void attachHook(final String clusterUuid, Completion completion) { SimpleQuery<ClusterVO> q = dbf.createQuery(ClusterVO.class); q.select(ClusterVO_.hypervisorType); q.add(ClusterVO_.uuid, Op.EQ, clusterUuid); String hvType = q.findValue(); LocalStorageHypervisorFactory f = getHypervisorBackendFactory(hvType); LocalStorageHypervisorBackend bkd = f.getHypervisorBackend(self); bkd.attachHook(clusterUuid, completion); }
private void validate(APIDetachPortForwardingRuleMsg msg) { SimpleQuery<PortForwardingRuleVO> q = dbf.createQuery(PortForwardingRuleVO.class); q.select(PortForwardingRuleVO_.vmNicUuid); q.add(PortForwardingRuleVO_.uuid, Op.EQ, msg.getUuid()); String vmNicUuid = q.findValue(); if (vmNicUuid == null) { throw new ApiMessageInterceptionException(operr("port forwarding rule rule[uuid:%s] has not been attached to any vm nic, can't detach", msg.getUuid())); } msg.vmNicUuid = vmNicUuid; }
private void validate(APICreateVolumeSnapshotMsg msg) { SimpleQuery<VolumeVO> q = dbf.createQuery(VolumeVO.class); q.select(VolumeVO_.status); q.add(VolumeVO_.uuid, Op.EQ, msg.getVolumeUuid()); VolumeStatus status = q.findValue(); if (status != VolumeStatus.Ready) { throw new ApiMessageInterceptionException(operr("volume[uuid:%s] is not in status Ready, current is %s, can't create snapshot", msg.getVolumeUuid(), status)); } }
private void validate(APIUpdateCephPrimaryStorageMonMsg msg) { if (msg.getHostname() != null && !NetworkUtils.isIpv4Address(msg.getHostname()) && !NetworkUtils.isHostname(msg.getHostname())) { throw new ApiMessageInterceptionException(argerr( String.format("hostname[%s] is neither an IPv4 address nor a valid hostname", msg.getHostname()) )); } SimpleQuery<CephPrimaryStorageMonVO> q = dbf.createQuery(CephPrimaryStorageMonVO.class); q.select(CephPrimaryStorageMonVO_.primaryStorageUuid); q.add(CephPrimaryStorageMonVO_.uuid, Op.EQ, msg.getMonUuid()); String psUuid = q.findValue(); msg.setPrimaryStorageUuid(psUuid); }
private void validate(APIUpdateCephBackupStorageMonMsg msg) { if (msg.getHostname() != null && !NetworkUtils.isIpv4Address(msg.getHostname()) && !NetworkUtils.isHostname(msg.getHostname())) { throw new ApiMessageInterceptionException(argerr("hostname[%s] is neither an IPv4 address nor a valid hostname", msg.getHostname())); } SimpleQuery<CephBackupStorageMonVO> q = dbf.createQuery(CephBackupStorageMonVO.class); q.select(CephBackupStorageMonVO_.backupStorageUuid); q.add(CephPrimaryStorageMonVO_.uuid, Op.EQ, msg.getMonUuid()); String bsUuid = q.findValue(); msg.setBackupStorageUuid(bsUuid); }