Project

Profile

Help

Issue #3228

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

Added by dkliban@redhat.com over 2 years ago. Updated over 1 year ago.

Status:
CLOSED - DUPLICATE
Priority:
Normal
Assignee:
-
Category:
-
Start date:
Due date:
Estimated time:
Severity:
2. Medium
Version:
Platform Release:
OS:
Triaged:
No
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
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

Is duplicate of Pulp - Story #3173: As a plugin author, I have documentation on how to implement a sync operation for my importerCLOSED - DUPLICATE

<a title="Actions" class="icon-only icon-actions js-contextmenu" href="#">Actions</a>

History

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

  • Parent task set to #3209

#2 Updated by bmbouter over 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 over 2 years ago

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

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

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

#5 Updated by bmbouter over 1 year ago

  • Tags Pulp 2 added

Please register to edit this issue

Also available in: Atom PDF