private long getVolumeId(long storagePoolId) { StoragePoolDetailVO storagePoolDetail = storagePoolDetailsDao.findDetail(storagePoolId, SolidFireUtil.VOLUME_ID); String volumeId = storagePoolDetail.getValue(); return Long.parseLong(volumeId); }
@Override public void addDetail(long resourceId, String key, String value, boolean display) { super.addDetail(new StoragePoolDetailVO(resourceId, key, value, display)); } }
/** * Retrieves the storage pool tags as a {@link String}. If the storage pool does not have tags we return a null value. */ protected String getStoragePoolTags(StoragePool destPool) { List<StoragePoolDetailVO> storagePoolDetails = storagePoolDetailsDao.listDetails(destPool.getId()); if (CollectionUtils.isEmpty(storagePoolDetails)) { return null; } String storageTags = ""; for (StoragePoolDetailVO storagePoolDetailVO : storagePoolDetails) { storageTags = storageTags + storagePoolDetailVO.getName() + ","; } return storageTags.substring(0, storageTags.length() - 1); }
private long getDefaultMaxIops(long storagePoolId) { StoragePoolDetailVO storagePoolDetail = storagePoolDetailsDao.findDetail(storagePoolId, SolidFireUtil.CLUSTER_DEFAULT_MAX_IOPS); String clusterDefaultMaxIops = storagePoolDetail.getValue(); return Long.parseLong(clusterDefaultMaxIops); }
@Override public void updateDetails(long poolId, Map<String, String> details) { if (details != null) { List<StoragePoolDetailVO> detailsVO = new ArrayList<StoragePoolDetailVO>(); for (String key : details.keySet()) { detailsVO.add(new StoragePoolDetailVO(poolId, key, details.get(key), true)); } _detailsDao.saveDetails(detailsVO); if (details.size() == 0) { _detailsDao.removeDetails(poolId); } } }
private long getDefaultBurstIops(long storagePoolId, long maxIops) { StoragePoolDetailVO storagePoolDetail = storagePoolDetailsDao.findDetail(storagePoolId, SolidFireUtil.CLUSTER_DEFAULT_BURST_IOPS_PERCENT_OF_MAX_IOPS); String clusterDefaultBurstIopsPercentOfMaxIops = storagePoolDetail.getValue(); float fClusterDefaultBurstIopsPercentOfMaxIops = Float.parseFloat(clusterDefaultBurstIopsPercentOfMaxIops); return Math.min((long)(maxIops * fClusterDefaultBurstIopsPercentOfMaxIops), SolidFireUtil.MAX_IOPS_PER_VOLUME); }
@Override @DB public StoragePoolVO persist(StoragePoolVO pool, Map<String, String> details, List<String> tags) { TransactionLegacy txn = TransactionLegacy.currentTxn(); txn.start(); pool = super.persist(pool); if (details != null) { for (Map.Entry<String, String> detail : details.entrySet()) { StoragePoolDetailVO vo = new StoragePoolDetailVO(pool.getId(), detail.getKey(), detail.getValue(), true); _detailsDao.persist(vo); } } if (CollectionUtils.isNotEmpty(tags)) { _tagsDao.persist(pool.getId(), tags); } txn.commit(); return pool; }
private long getIopsValue(long storagePoolId, String iopsKey) { StoragePoolDetailVO storagePoolDetail = storagePoolDetailsDao.findDetail(storagePoolId, iopsKey); String iops = storagePoolDetail.getValue(); return Long.parseLong(iops); }
private long getDefaultMinIops(long storagePoolId) { StoragePoolDetailVO storagePoolDetail = storagePoolDetailsDao.findDetail(storagePoolId, SolidFireUtil.CLUSTER_DEFAULT_MIN_IOPS); String clusterDefaultMinIops = storagePoolDetail.getValue(); return Long.parseLong(clusterDefaultMinIops); }
public static SolidFireConnection getSolidFireConnection(long storagePoolId, StoragePoolDetailsDao storagePoolDetailsDao) { StoragePoolDetailVO storagePoolDetail = storagePoolDetailsDao.findDetail(storagePoolId, SolidFireUtil.MANAGEMENT_VIP); String mVip = storagePoolDetail.getValue(); storagePoolDetail = storagePoolDetailsDao.findDetail(storagePoolId, SolidFireUtil.MANAGEMENT_PORT); int mPort = Integer.parseInt(storagePoolDetail.getValue()); storagePoolDetail = storagePoolDetailsDao.findDetail(storagePoolId, SolidFireUtil.CLUSTER_ADMIN_USERNAME); String clusterAdminUsername = storagePoolDetail.getValue(); storagePoolDetail = storagePoolDetailsDao.findDetail(storagePoolId, SolidFireUtil.CLUSTER_ADMIN_PASSWORD); String clusterAdminPassword = storagePoolDetail.getValue(); return new SolidFireConnection(mVip, mPort, clusterAdminUsername, clusterAdminPassword); }
@Override public String getConfigValue(long id, ConfigKey<?> key) { StoragePoolDetailVO vo = findDetail(id, key.key()); return vo == null ? null : vo.getValue(); }
private NexentaStorAppliance getNexentaStorAppliance(long storagePoolId) { NexentaPluginParameters parameters = new NexentaPluginParameters(); parameters.setNmsUrl(_storagePoolDetailsDao.findDetail(storagePoolId, NexentaUtil.NMS_URL).getValue()); parameters.setVolume(_storagePoolDetailsDao.findDetail(storagePoolId, NexentaUtil.VOLUME).getValue()); parameters.setStorageType(_storagePoolDetailsDao.findDetail(storagePoolId, NexentaUtil.STORAGE_TYPE).getValue()); parameters.setStorageHost(_storagePoolDetailsDao.findDetail(storagePoolId, NexentaUtil.STORAGE_HOST).getValue()); parameters.setStoragePort(_storagePoolDetailsDao.findDetail(storagePoolId, NexentaUtil.STORAGE_PORT).getValue()); parameters.setStoragePath(_storagePoolDetailsDao.findDetail(storagePoolId, NexentaUtil.STORAGE_PATH).getValue()); parameters.setSparseVolumes(_storagePoolDetailsDao.findDetail(storagePoolId, NexentaUtil.SPARSE_VOLUMES).getValue()); parameters.setVolumeBlockSize(_storagePoolDetailsDao.findDetail(storagePoolId, NexentaUtil.VOLUME_BLOCK_SIZE).getValue()); return new NexentaStorAppliance(parameters); }
private void handleTargetsForVMware(long hostId, long storagePoolId) { HostVO host = hostDao.findById(hostId); if (host.getHypervisorType() == HypervisorType.VMware) { String storageAddress = storagePoolDetailsDao.findDetail(storagePoolId, SolidFireUtil.STORAGE_VIP).getValue(); int storagePort = Integer.parseInt(storagePoolDetailsDao.findDetail(storagePoolId, SolidFireUtil.STORAGE_PORT).getValue()); String iqn = storagePoolDetailsDao.findDetail(storagePoolId, SolidFireUtil.IQN).getValue(); ModifyTargetsCommand cmd = new ModifyTargetsCommand(); List<Map<String, String>> targets = new ArrayList<>(); Map<String, String> target = new HashMap<>(); target.put(ModifyTargetsCommand.STORAGE_HOST, storageAddress); target.put(ModifyTargetsCommand.STORAGE_PORT, String.valueOf(storagePort)); target.put(ModifyTargetsCommand.IQN, iqn); targets.add(target); cmd.setTargets(targets); cmd.setApplyToAllHostsInCluster(true); cmd.setAdd(false); cmd.setTargetTypeToRemove(ModifyTargetsCommand.TargetTypeToRemove.DYNAMIC); cmd.setRemoveAsync(true); sendModifyTargetsCommand(cmd, hostId); } }
details.put(CreateStoragePoolCommand.DATASTORE_NAME, storagePoolDetail.getValue()); details.put(CreateStoragePoolCommand.IQN, storagePoolDetail.getValue()); details.put(CreateStoragePoolCommand.STORAGE_HOST, storagePoolDetail.getValue()); details.put(CreateStoragePoolCommand.STORAGE_PORT, storagePoolDetail.getValue());
details.put(DeleteStoragePoolCommand.DATASTORE_NAME, storagePoolDetail.getValue()); details.put(DeleteStoragePoolCommand.IQN, storagePoolDetail.getValue()); details.put(DeleteStoragePoolCommand.STORAGE_HOST, storagePoolDetail.getValue()); details.put(DeleteStoragePoolCommand.STORAGE_PORT, storagePoolDetail.getValue());