Story #3810
Updated by ttereshc over 5 years ago
h2. Desired workflow for migrating ISO content
h5. 1. Create a migration plan by POSTing to */pulp/api/v3/migration-plans/* the following JSON.
<pre>
{
"plugins": [
{
"type": "iso",
"content": true,
}
]
}
</pre>
h5. 2. Run the migration plan
POST request to */pulp/api/v3/migration-plans/asdf-2345-ghjk-4567-adc/run/*
h2. 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