Project

Profile

Help

Story #3810

closed

Story #3821: As a user, I can migrate from Pulp 2 to Pulp 3

Story #3822: As a user, I can migrate all content units of a specific type from Pulp 2 to Pulp 3

As a user, I can migrate ISO content units from Pulp 2 into Pulp 3 as File Content

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

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

100%

Estimated time:
Platform Release:
Groomed:
Yes
Sprint Candidate:
Yes
Tags:
Katello
Sprint:
Sprint 57
Quarter:

Description

Desired workflow for migrating ISO content

1. Create a migration plan by POSTing to /pulp/api/v3/migration-plans/ the following JSON.
{  
    "plugins": [ 
       {
         "type": "iso",
       }
    ]
}
2. Run the migration plan

POST request to /pulp/api/v3/migration-plans/asdf-2345-ghjk-4567-adc/run/

Implementation details

The migrate_from_pulp2 task[0] needs to be updated to do the following:

1. Query the Pulp2Content model for: type='iso', pulp3content=None
2. Dispatch 36 'migrate_content' coroutines with 1 parameter: content_queryset - a slice of the queryset from step 1.
3. For each unit discovered, the coroutine will do the following:

  • create a hard link in /var/lib/pulp/artifacts/ directory
  • create Artifact in the Pulp3 database
  • create FileContent in the Pulp3 database
  • update the Pulp2Content model with a reference to the FileContent

[0] https://github.com/pulp/pulp-2to3-migrate/blob/master/pulp_2to3_migrate/app/tasks/migrate.py#L3

Also available in: Atom PDF