Project

Profile

Help

Test #5276

Updated by pulpbot 11 months ago

 

 **Ticket moved to GitHub**: "pulp/pulp_rpm/2221":https://github.com/pulp/pulp_rpm/issues/2221 




 ---- 


 Simple content copy means that content units can be copied from one repository into another repository without considering content-type-specific invariants, such as making sure dependencies are satisfied. 

 The most straightforwards current design is to model this after one-shot upload. A new URL endpoint will be defined at /api/v3/rpm/copy/. POSTing to that endpoint with valid parameters will yield an asynchronous task, which will result in a new repository version in the target repository. 

 The user workflow should look like this: 

 ~~~ 
 http --form POST http://localhost:24817/pulp/api/v3/rpm/copy/ source_repository=${S_REPO_HREF} destination_repository=${D_REPO_HREF} 
 ~~~ 

 Both the repository parameters are required. When called, all content will be copied. 

 The additions to Django boilerplate will look something like this (see also: copy.py for an example of the function that does the work, and OneShotUploadSerializer in serializers.py) 

 urls.py 

 ~~~python 
 urlpatterns = [ 
     url(r'rpm/upload/$', OneShotUploadView.as_view()), 
     url(r'rpm/copy/$', CopyView.as_view()) 
 ] 
 ~~~ 

 

Back