h1. Description Pulp 3 will provide a tool called *pulp-2to3-migrate*. This tool The current plan is going to be provide users with a Pulp 3 plugin. This tool is going to be modular. Some functionality that will come from the core, but specific implementation for each migrate content type will be provided by the plugins. Users of this tool will be required to write a Migration Plan which is a JSON document that describes which content, repositories, importers, and distributors get migrated units from Pulp 2 to Pulp 3. Users 3 while allowing normal operation of Pulp to occur. The tool will likely need to be able to use Pulp 2 to generate perform migration of a Migration plan for migrating everything. h1. Features specific content type or types at a time. h3. Pulp 2 The second step of the migration will provide a REST API that returns a default Migration Plan. This Migration Plan will migrate require creating all content, all repositories, all remotes, publishers, distributions, repository versions, and publications needed to represent repositories, importers, and all distributors. h3. distributors found in Pulp 3 will provide a REST API that will accept two parameters: Migration Plan and concurrency. This API will dispatch one more tasks 2. Still need to perform research 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 best approach for that operation. this step.