private void optimizeVolumesForVirtStore(final List<GlusterVolumeEntity> volumeList) { if(getConfirmWindow() != null) { setConfirmWindow(null); } AsyncDataProvider.getInstance().getConfigFromCache( new GetConfigurationValueParameters(ConfigValues.GlusterVolumeOptionGroupVirtValue, AsyncDataProvider.getInstance().getDefaultConfigurationVersion()), new AsyncQuery<String>(optionGroupVirt -> AsyncDataProvider.getInstance().getConfigFromCache(new GetConfigurationValueParameters(ConfigValues.GlusterVolumeOptionOwnerUserVirtValue, AsyncDataProvider.getInstance().getDefaultConfigurationVersion()), new AsyncQuery<String>(optionOwnerUserVirt -> AsyncDataProvider.getInstance().getConfigFromCache(new GetConfigurationValueParameters(ConfigValues.GlusterVolumeOptionOwnerGroupVirtValue, AsyncDataProvider.getInstance().getDefaultConfigurationVersion()), new AsyncQuery<String>(optionOwnerGroupVirt -> { ArrayList<ActionParametersBase> list = new ArrayList<>(); for (GlusterVolumeEntity volume : volumeList) { Guid volumeId = volume.getId(); list.add(new GlusterVolumeOptionParameters(getOption(volumeId, "group", optionGroupVirt)));//$NON-NLS-1$ list.add(new GlusterVolumeOptionParameters(getOption(volumeId, "storage.owner-uid", optionOwnerUserVirt)));//$NON-NLS-1$ list.add(new GlusterVolumeOptionParameters(getOption(volumeId, "storage.owner-gid", optionOwnerGroupVirt)));//$NON-NLS-1$ list.add(new GlusterVolumeOptionParameters(getOption(volumeId, "performance.strict-o-direct", "on")));//$NON-NLS-1$ $NON-NLS-2$ list.add(new GlusterVolumeOptionParameters(getOption(volumeId, "network.remote-dio", "off")));//$NON-NLS-1$ $NON-NLS-2$ list.add(new GlusterVolumeOptionParameters(getOption(volumeId, "cluster.granular-entry-heal", "enable")));//$NON-NLS-1$ $NON-NLS-2$ final GlusterVolumeOptionEntity checkOption = getOption(volumeId, "network.ping-timeout", "30");//$NON-NLS-1$//$NON-NLS-2$ if (volume.getOptions().stream().noneMatch (obj -> obj.getKey().equalsIgnoreCase(checkOption.getKey()))) { list.add(new GlusterVolumeOptionParameters(checkOption));//$NON-NLS-1$ } } Frontend.getInstance().runMultipleAction(ActionType.SetGlusterVolumeOption, list); })))))); }
public GlusterVolumeOptionParameters(GlusterVolumeOptionEntity option) { super(option.getVolumeId()); setVolumeOption(option); }
@Override public Response setOption(Action action) { Option option = action.getOption(); validateParameters(option, "name", "value"); return doAction(ActionType.SetGlusterVolumeOption, new GlusterVolumeOptionParameters(new GlusterVolumeOptionEntity(guid, option.getName(), option.getValue())), action); }
private void onSetParameter() { if (getEntity() == null) { return; } GlusterVolumeEntity volume = getEntity(); VolumeParameterModel model = (VolumeParameterModel) getWindow(); if (!model.validate()) { return; } GlusterVolumeOptionEntity option = new GlusterVolumeOptionEntity(); option.setVolumeId(volume.getId()); option.setKey(model.getKeyList().getSelectedItem()); option.setValue(model.getValue().getEntity()); model.startProgress(); Frontend.getInstance().runAction(ActionType.SetGlusterVolumeOption, new GlusterVolumeOptionParameters(option), result -> { VolumeParameterListModel localModel = (VolumeParameterListModel) result.getState(); localModel.postOnSetParameter(result.getReturnValue()); }, this); }