Project

Profile

Help

Story #3821

Updated by dkliban@redhat.com over 5 years ago

h1. Description 

 Pulp 3 will provide optional plugins that will enable users a tool called *pulp-2to3-migrate*. This tool is going to migrate their be a Pulp 2 instances 3 plugin. This tool is going to Pulp 3. The main package will be called pulp-2to3-migrate. Each plugin modular. Some functionality will also provide a package that will enable migration of come from the core, but specific implementation for each content types managed by that plugin.  

 After installing pulp-2to3-migrate on a Pulp 3 system, users type will be able to use provided by the REST API on Pulp 3 to start the migration plugins. 

 Users of the Pulp 2 instance to Pulp 3. Users this tool will be able required to describe the final state of their Pulp 3 instance using write a Migration Plan (MP). The MP which is a JSON document that describes which artifacts, content, repositories, repository versions, publication, remotes, importers, and distributions distributors get created in Pulp 3 migrated from their equivalent counterparts in Pulp 2. 2 to Pulp 3. Users will be able to use Pulp 2's REST API    2 to generate a default MP Migration plan for migrating everything. Users will then submit the MP via REST API to Pulp 3. 

  

 h1. Features 

 h3. Pulp 2 will provide a REST API that returns a default Migration Plan.  

 This Migration Plan will migrate all content, all repositories, all importers, and all distributors. 

 h3. Pulp 3 will provide a REST API that will accept three two parameters: Migration Plan, concurrency, Plan and dry_run. 

 concurrency.  

 This API will dispatch one more tasks to perform the migration. The default concurrency will be (Pulp 3 worker count) - 1. The concurrency will determine the number of tasks that will be dispatched in parallel. The tasking system will limit one migration "operation" at a time, although many tasks may run concurrently for that operation. 

 This API will dispatch one more tasks to perform the migration. The default concurrency will be (Pulp 3 worker count) - 1. The concurrency will determine the number of tasks that will be dispatched in parallel. The tasking system will limit one migration "operation" at a time, although many tasks may run concurrently for that operation. 

 When dry_run is set to True, the Migration Plan is simply validated. Some validation that will be performed will include: 

 * JSON syntax 
 * do the listed Pulp 2 entities exist 


Back