Actions
Story #5108
closedAs a user, a task can reserve multiple resources
Start date:
Due date:
% Done:
100%
Estimated time:
Platform Release:
2.21.0
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Quarter:
Description
Motivation¶
Dependency solving for multiple repositories (which implies copy to multiple target repositories) requires the ability to lock on multiple resources.
Without this feature, changes to a repo might not be deterministic.
Solution¶
- Change uniqueness constraint on the ReservedResource model, from
task_id
to(task_id, resource_id)
. - For multi-lock task choose a worker if only 0 or 1 workers have a lock for any of the resources from a multi-lock task, otherwise wait.
- release all the locks for the task when it's complete.
- document the worst case scenario (N-2 works can be idle until there is only one worker being busy)
the pulp3 patch adding multi-locking support https://github.com/pulp/pulpcore/commit/ff0739e9a9fe4d3c0762e498ae59ec756d02fb71
Related issues
Updated by ttereshc over 5 years ago
- Blocks Story #5067: As a user, multiple source/target repositories can be used for recursive copy added
Updated by ggainey over 5 years ago
- Status changed from NEW to ASSIGNED
- Assignee set to ggainey
Updated by dkliban@redhat.com over 5 years ago
- Groomed changed from No to Yes
- Sprint Candidate changed from No to Yes
- Sprint set to Sprint 55
Updated by dkliban@redhat.com over 5 years ago
- Sprint changed from Sprint 55 to Sprint 56
Updated by ggainey over 5 years ago
- Status changed from ASSIGNED to POST
- Groomed changed from Yes to No
- Sprint Candidate changed from Yes to No
- Sprint deleted (
Sprint 56)
PR submitted:
Added by ggainey over 5 years ago
Updated by ggainey over 5 years ago
- Status changed from POST to MODIFIED
- % Done changed from 0 to 100
Applied in changeset pulp:pulp|e1bb056fa66a15b6bc651b618cf4bd5976fb22bc.
Updated by dalley about 5 years ago
- Status changed from MODIFIED to CLOSED - CURRENTRELEASE
Actions
Add API to allow queueing an async task for multiple resources
Adds API to tasks.py:
Closes #5108 https://pulp.plan.io/issues/5108