private void validateScope(VolumeTemplate template) { if (!(Boolean.TRUE.equals(template.getPerContainer()) || Boolean.TRUE.equals(template.getExternal()) || template .getStackId() != null)) { throw new ValidationErrorException(ValidationErrorCodes.INVALID_OPTION, "Scope is not set on the volume. Should either be per container, external or per stack"); } } }
private Volume createVolume(Service service, VolumeTemplate template, String name) { Map<String, Object> params = new HashMap<>(); if (template.getPerContainer()) { params.put(ServiceConstants.FIELD_DEPLOYMENT_UNIT_ID, unit.getId()); } params.put("name", name); params.put("accountId", service.getAccountId()); params.put(ServiceConstants.FIELD_STACK_ID, service.getStackId()); params.put(ServiceConstants.FIELD_VOLUME_TEMPLATE_ID, template.getId()); params.put(VolumeConstants.FIELD_VOLUME_DRIVER_OPTS, DataAccessor.fieldMap(template, VolumeConstants.FIELD_VOLUME_DRIVER_OPTS)); String driver = StringUtils.isBlank(template.getDriver()) ? VolumeConstants.LOCAL_DRIVER : template.getDriver(); params.put(VolumeConstants.FIELD_VOLUME_DRIVER, driver); params.put(VolumeConstants.FIELD_DEVICE_NUM, -1); return context.resourceDao.createAndSchedule(Volume.class, params); }
cattleVolumeData.put(ServiceConstants.FIELD_VOLUME_EXTERNAL, volume.getExternal()); cattleVolumeData.put(ServiceConstants.FIELD_VOLUME_DRIVER, volume.getDriver()); cattleVolumeData.put(ServiceConstants.FIELD_VOLUME_PER_CONTAINER, volume.getPerContainer()); Map<String, Object> composeVolumeData = new HashMap<>(); for (String cattleVolume : cattleVolumeData.keySet()) {
} else { final String postfix = io.cattle.platform.util.resource.UUID.randomUUID().toString(); if (template.getPerContainer()) { String name = stack.getName() + "_" + volumeNamePostfix + "_" + this.unit.getServiceIndex() + "_" + uuid + "_";
/** * {@inheritDoc} */ @Override public void from(io.cattle.platform.core.model.VolumeTemplate 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()); setDriver(from.getDriver()); setStackId(from.getStackId()); setExternal(from.getExternal()); setPerContainer(from.getPerContainer()); }