Story #5120

Updated by 11 months ago

The ReservedResource object is currently ephemeral. As a result, the Task API does not include the reserved resources. A filter for tasks on 'reserved_resources' would require the following changes:

- Add a TaskReservedResource model Remove the 'release_resources' method[0] from the Task model.
- Remove '_release_resources' task[1] and stop dispatching it
- Update the query in the 'with_reservations' method[2] to exclude reservations associated with tasks
that has have already completed.
- Update
the same fields 'get_unreserved_worker' method[3] with similar queryset filters as ReservedResource above
- Create an instance of TaskReservedResource when creating ReservedResource
Add a 'reserved_resources' field to the TaskSerializer that will get data from the TasReservedResource table
- Extend the TaskFilter with a 'reserved_resources' filter

An additional benefit to this is that Pulp will no longer have to dispatch 2 tasks for every single task with a reservation.