public static boolean isDockerPool(StoragePool pool) { return pool == null ? false : DockerStoragePoolConstants.DOCKER_KIND.equals(pool.getKind()); }
@Override public boolean matches(AllocationCandidate candidate) { Set<Long> poolIds = candidate.getPools().get(volume.getId()); for (Long id : poolIds) { StoragePool pool = candidate.loadResource(StoragePool.class, id); if (!AllocatorUtils.UNMANGED_STORAGE_POOLS.contains(pool.getKind())) { return false; } } return true; }
@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { final StoragePool pool = (StoragePool) state.getResource(); if (!KIND.equals(pool.getKind()) || EXT_UUID.equals(pool.getUuid())) { return null; } StoragePool extPool = getExtPool(); if (extPool == null) { lockManager.lock(new SimExtPoolCreateLock(), new LockCallbackNoReturn() { @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); } } }); } else { getObjectProcessManager().executeStandardProcess(StandardProcess.CREATE, extPool, null); } return null; }
protected void removePools(Host host) { for (StoragePoolHostMap map : objectManager.children(host, StoragePoolHostMap.class)) { StoragePool pool = objectManager.loadResource(StoragePool.class, map.getStoragePoolId()); if (DockerHostConstants.KIND_DOCKER.equals(pool.getKind())) { deactivateThenRemove(pool, null); } StorageDriver driver = objectManager.loadResource(StorageDriver.class, pool.getStorageDriverId()); if (driver != null) { String scope = DataAccessor.fieldString(driver, StorageDriverConstants.FIELD_SCOPE); if (StringUtils.equals(scope, StorageDriverConstants.SCOPE_LOCAL)) { deactivateThenRemove(pool, null); } } deactivateThenRemove(map, null); } }
@Override public HandlerResult handle(ProcessState state, ProcessInstance process) { StoragePool registry = (StoragePool) state.getResource(); if (registry.getKind().equalsIgnoreCase(StoragePoolConstants.KIND_REGISTRY)){ for (Credential cred : getObjectManager().find(Credential.class, CredentialTable.CREDENTIAL.REGISTRY_ID, registry.getId(), CredentialTable.CREDENTIAL.REMOVED, null)) { try { deactivateThenScheduleRemove(cred, state.getData()); } catch (ProcessCancelException e) { //Ignore } } return null; } for (Volume v : volumeDao.findNonRemovedVolumesOnPool(registry.getId())) { deactivateThenRemove(v, null); } for (StoragePoolHostMap map : objectManager.children(registry, StoragePoolHostMap.class)) { deactivateThenRemove(map, null); } return null; } }
if (obj instanceof StoragePool) { StoragePool sp = (StoragePool)obj; if (StoragePoolConstants.TYPE.equals(sp.getKind())) {
/** * {@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()); }