Project

Profile

Help

Story #3821

Updated by dkliban@redhat.com over 2 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