Project

Profile

Help

Issue #3228

As an authenticated user, I can create a new repository version

Added by dkliban@redhat.com about 2 years ago. Updated 9 months ago.

Status:
CLOSED - DUPLICATE
Priority:
Normal
Assignee:
-
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
Severity:
2. Medium
Version:
Platform Release:
Blocks Release:
OS:
Backwards Incompatible:
No
Triaged:
No
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
QA Contact:
Complexity:
Smash Test:
Verified:
No
Verification Required:
No
Sprint:

Description

A user should be able to make POST request to /api/v3/repositories/<id>/versions/ in order to create a new repository version. The user should be able to provide 3 optional arguments: importer, add_many, and remove_many. A task should be spawned to create a new repository version. The repository version starts with the content from previous version, if any, and then adds units from add_many, then removes content from remove_many, and then uses the importer to import units. If the importer is configured with 'mirror' sync mode, the user cannot expect the changes from add_many or remove_many to be present in the new version.

The ViewSet for the RepositoryVersion model needs to be extended to handle POST requests. The repository version API endpoint should accept 3 parameters: importer, add_many, remove_many.

The detail 'sync' view for the Importer viewset needs to be removed.

The sync task in pulp/pulpcore/pulpcore/app/tasks/importer.py needs to be removed.

A repository_version task should be added to pulp/pulpcore/pulpcore/app/tasks/repository.py

The new task should implement the algorithm described above. The task should lock on the importer, the new repository version, and the associated repository itself.


Related issues

Duplicates Pulp - Story #3173: As a plugin author, I have documentation on how to implement a sync operation for my importer CLOSED - DUPLICATE Actions

History

#1 Updated by dkliban@redhat.com about 2 years ago

  • Parent task set to #3209

#2 Updated by bmbouter about 2 years ago

  • Description updated (diff)

It should also lock on the repository itself so that two repo versions associated with 1 repo are not running at the same time. I made a small edit as such.

#3 Updated by dkliban@redhat.com about 2 years ago

  • Status changed from NEW to CLOSED - DUPLICATE
  • Parent task deleted (#3209)

#4 Updated by dkliban@redhat.com about 2 years ago

  • Duplicates Story #3173: As a plugin author, I have documentation on how to implement a sync operation for my importer added

#5 Updated by bmbouter 9 months ago

  • Tags Pulp 2 added

Please register to edit this issue

Also available in: Atom PDF