Project

Profile

Help

Story #6673

closed

Task #6672: [Epic] Upload Process Improvements

As a subclasser of the collection upload viewset, I can customize the task I'm dispatching to instead of always using import_collection

Added by bmbouter almost 4 years ago. Updated over 3 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
Normal
Assignee:
Sprint/Milestone:
Start date:
Due date:
% Done:

100%

Estimated time:
Platform Release:
Groomed:
Yes
Sprint Candidate:
No
Tags:
Sprint:
Sprint 72
Quarter:

Description

Background

Currently there are two Galaxy viewsets that provide collection import functionality.

  • One in the Galaxy V2 API here
  • Another in the Galaxy V3 API here

Goal

The subclasser wants to be able to provide their own task to perform collection import. As long as these viewsets hard-code the task that isn't possible.

Solution

  1. Add a new internal method named _dispatch_import_collection_task(repository, temp_file_path).
  2. The viewsets currently save an Artifact, but this should be a temporary file instead. Artifacts are for permanent storage, but the need here is only to save something temporarily until the backend task can analyze it and then save it.
  3. The _dispatch_import _collection_task() needs to form its own locks. The default lock should only lock on the repository it is being imported to. By default it should use the pulp_ansible.app.tasks.import_collection like it does today.

Also available in: Atom PDF