Change in ovirt-engine[master]: core: Intrdoucing UploadStream capabillity

laravot at redhat.com laravot at redhat.com
Wed Mar 19 14:51:41 UTC 2014


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



More information about the Engine-commits mailing list