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 <laravot(a)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 <laravot(a)redhat.com>
Gerrit-Reviewer: Allon Mureinik <amureini(a)redhat.com>
Gerrit-Reviewer: Ayal Baron <abaron(a)redhat.com>
Gerrit-Reviewer: Daniel Erez <derez(a)redhat.com>
Gerrit-Reviewer: Federico Simoncelli <fsimonce(a)redhat.com>
Gerrit-Reviewer: Liron Ar <laravot(a)redhat.com>
Gerrit-Reviewer: Maor Lipchuk <mlipchuk(a)redhat.com>
Gerrit-Reviewer: Sergey Gotliv <sgotliv(a)redhat.com>
Gerrit-Reviewer: Vered Volansky <vvolansk(a)redhat.com>
Gerrit-Reviewer: automation(a)ovirt.org
Gerrit-Reviewer: oVirt Jenkins CI Server