protected Map<Long, StoragePoolHostMap> constructStoragePoolMaps(StoragePool storagePool, List<String> hostUuids) { List<? extends Host> hosts = hostDao.getHosts(storagePool.getAccountId(), hostUuids); Map<Long, StoragePoolHostMap> maps = new HashMap<Long, StoragePoolHostMap>(); for (Host h : hosts) { StoragePoolHostMap sphm = objectManager.newRecord(StoragePoolHostMap.class); sphm.setHostId(h.getId()); sphm.setStoragePoolId(storagePool.getId()); maps.put(h.getId(), sphm); } return maps; } }
@Override public void doWithLockNoResult() { StoragePool extPool = getExtPool(); if (extPool == null) { extPool = getObjectManager().create(StoragePool.class, ObjectMetaDataManager.UUID_FIELD, EXT_UUID, ObjectMetaDataManager.KIND_FIELD, KIND, STORAGE_POOL.ACCOUNT_ID, pool.getAccountId(), STORAGE_POOL.EXTERNAL, true); getObjectProcessManager().executeStandardProcess(StandardProcess.CREATE, extPool, null); } } });
@Override public void createVolumeInStoragePool(Map<String, Object> volumeData, String volumeName, StoragePool storagePool) { Record record = create() .select(VOLUME.fields()) .from(VOLUME) .join(VOLUME_STORAGE_POOL_MAP) .on(VOLUME_STORAGE_POOL_MAP.VOLUME_ID.eq(VOLUME.ID) .and(VOLUME_STORAGE_POOL_MAP.STORAGE_POOL_ID.eq(storagePool.getId()))) .join(STORAGE_POOL) .on(VOLUME_STORAGE_POOL_MAP.STORAGE_POOL_ID.eq(STORAGE_POOL.ID)) .and(STORAGE_POOL.REMOVED.isNull()) .where(VOLUME.NAME.eq(volumeName) .and((VOLUME.REMOVED.isNull().or(VOLUME.STATE.eq(CommonStatesConstants.REMOVING))))) .and(VOLUME.ACCOUNT_ID.eq(storagePool.getAccountId())) .fetchAny(); if (record != null) { return; } Volume volume = resourceDao.createAndSchedule(Volume.class, volumeData); Map<String, Object> vspm = new HashMap<String, Object>(); vspm.put("volumeId", volume.getId()); vspm.put("storagePoolId", storagePool.getId()); resourceDao.createAndSchedule(VolumeStoragePoolMap.class, vspm); }
/** * {@inheritDoc} */ @Override public void from(io.cattle.platform.core.model.StoragePool from) { setId(from.getId()); setName(from.getName()); setAccountId(from.getAccountId()); setKind(from.getKind()); setUuid(from.getUuid()); setDescription(from.getDescription()); setState(from.getState()); setCreated(from.getCreated()); setRemoved(from.getRemoved()); setRemoveTime(from.getRemoveTime()); setData(from.getData()); setPhysicalTotalSizeMb(from.getPhysicalTotalSizeMb()); setVirtualTotalSizeMb(from.getVirtualTotalSizeMb()); setExternal(from.getExternal()); setAgentId(from.getAgentId()); setZoneId(from.getZoneId()); setExternalId(from.getExternalId()); setDriverName(from.getDriverName()); setVolumeAccessMode(from.getVolumeAccessMode()); setStorageDriverId(from.getStorageDriverId()); }