Project

Profile

Help

Refactor #3074

closed

Story #3209: As a user, I have Repository Versions

Move sync logic from models to tasks

Added by mhrivnak over 6 years ago. Updated over 4 years ago.

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

100%

Estimated time:
Platform Release:
Groomed:
Yes
Sprint Candidate:
Yes
Tags:
Sprint:
Sprint 31
Quarter:

Description

Most of the work of this move will be handled by plugins, so refactor tasks will be created to implement this change for each plugin. The scope of this refactor should be limited to Importers/sync for now, so Publish is deliberately left out for now.

The pulpcore changes are:

  1. Remove models.Importer.sync
  2. Remove the viewsets.Importer.sync detail route
  3. remove the sync task from tasks/importer.py
  4. add UserFacingTask to the plugin API
  5. add RepositoryVersion model to plugin API
  6. ensure plugin API docs include new objects

Plugin refactor issues should:

  1. Create a celery task (probably called `sync`) in pulp_myplugin.app.tasks.py
  2. define a POST detail route (probably called sync) on MyTypeImporterViewset that deploys the celery task with appropriate locks. This viewset should accept `repository` as a POST body parameter.

Related issues

Related to File Support - Refactor #3260: Move sync logic from Importer model to a taskCLOSED - CURRENTRELEASEamacdona@redhat.com

Actions
Has duplicate Pulp - Task #3224: Update plugin API with repository version changesCLOSED - DUPLICATE

Actions
Blocks Python Support - Task #3294: Update Python plugin to sync with versioned repositoriesMODIFIEDamacdona@redhat.com

Actions

Also available in: Atom PDF