Project

Profile

Help

Task #5837

Updated by ttereshc over 4 years ago

h3. Motivation 

 Distributor can't be identified by @distributor_id@, the uniqueness constraint for pulp2 distributor is `distributor_id` + `repo_id`. 
 pulp-admin creates a distributor with @distributor_id=distributor_type_id@, so we can't rely on distributor_id at all. It can be the same for many repositories. 

 h3. Solution 

 Migration plan will accept pulp2_distributor_repository_ids( pulp2_distributor_repository_id1 ( repo_id of the distributor associated to it). If repo has 2 distributors, we will migrate both of them. 


 Update Migration plan parsing: fetch distributors from the mentioned repos, filter only those that are specified in the Migrator. 

 <pre> 

  { 
     "plugins": [ 
        {  
          "type": "iso",    # it should be a pulp2 type 
          "repositories" :    [ 
            { 
              "name": "foo", 
              "pulp2_importer_repository_id":    "my_repo_id to use to find an importer to migrate" 
              "repository_versions": [ 
                  { 
                    "pulp2_repository_id": "idA", 
                    "distributor_ids":    ["pulp2_distributor_repository_id1", "pulp2_distributor_repository_id2"]  

                   },                 
                   { 
                     "pulp2_repository_id": "idB", 
                     "distributor_ids":    ["pulp2_distributor_repository_id3"] 
                   }, 
                ] 
             } 
         ] 
      }, 
      { 
        "type": "docker", 
      } 
   ] 
 } 


 </pre>

Back