Liron Ar has submitted this change and it was merged. Change subject: core: Intrdoucing UploadStream capabillity ......................................................................
core: Intrdoucing UploadStream capabillity The following patch adds UploadStreamCommand/UploadStreamVDSCommand to allow streaming data to vdsm using HTTP. Opposed to regular vdsm verbs that usually have very short sync part, the whole upload needs to be executed in the sync part of the execution in order to stream the whole request body. This operations is a spm operation on the vdsm side, which means that we'll need to execute a spm command with a possibly long sync part (depends on the length of the passed stream) - which is a issue as currently each spm command executed by the engine takes an exclusive spm lock, executes it's short sync part (usually creates task) and return. Therefore, in this patch a support for executing multiple spm commands at the same time had to be added (we don't want to perform the whole upload under the exclusive spm lock). What was done in this patch with use of the LockManager - add a "VDS_EXECUTION" lock type to the and acquire it as shared when uploading stream and as exclusive when stopping the spm while not preventing other spm commands to run meanwhile. Another way to implement this is to add ReadWriteLock to IrsBrokerCommand, which i have implemented locally - according to the reviews i'll choose in which path to go. Currently there is no task created on vdsm side, so task create parts are commented out and will be deleted completly as soon as the vdsm patch will be merged with it's current implementation. Change-Id: I7af6e7b580e8844c1f0cd661d7f62ece688e31d3 Signed-off-by: Liron Aravot <lara...@redhat.com> --- A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/UploadStreamCommand.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/bll/UploadStreamParameters.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/VdcActionType.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/asynctasks/AsyncTaskType.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllErrors.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/errors/VdcBllMessages.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/locks/LockingGroup.java A backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/UploadStreamVDSCommandParameters.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/vdscommands/VDSCommandType.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dal/dbbroker/auditloghandling/AuditLogableBase.java M backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties A backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/UploadStreamVDSCommand.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SpmStopVDSCommand.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/VdsBrokerCommand.java M frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java M frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties M frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties M packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql 19 files changed, 522 insertions(+), 5 deletions(-) Approvals: Liron Ar: Verified; Looks good to me, approved -- To view, visit http://gerrit.ovirt.org/23460 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: I7af6e7b580e8844c1f0cd661d7f62ece688e31d3 Gerrit-PatchSet: 11 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Liron Ar <lara...@redhat.com> Gerrit-Reviewer: Allon Mureinik <amure...@redhat.com> Gerrit-Reviewer: Ayal Baron <aba...@redhat.com> Gerrit-Reviewer: Daniel Erez <de...@redhat.com> Gerrit-Reviewer: Federico Simoncelli <fsimo...@redhat.com> Gerrit-Reviewer: Liron Ar <lara...@redhat.com> Gerrit-Reviewer: Maor Lipchuk <mlipc...@redhat.com> Gerrit-Reviewer: Sergey Gotliv <sgot...@redhat.com> Gerrit-Reviewer: Vered Volansky <vvola...@redhat.com> Gerrit-Reviewer: automat...@ovirt.org Gerrit-Reviewer: oVirt Jenkins CI Server _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches