Project

Profile

Help

Issue #4793

Updated by dalley over 5 years ago

Expected behavior:    A publication can be created immediately after kicking off a sync task, because it will wait for the prior task to complete, at which point there will be a repository version to use. 

 Actual behavior: 

 <pre> 
 # Create a new Foo repository version by syncing repository from remote. 

 http POST :24817$REMOTE_HREF'sync/' repository=$REPO_HREF 
 HTTP/1.1 202 Accepted 
 Allow: POST, OPTIONS 
 Connection: close 
 Content-Length: 67 
 Content-Type: application/json 
 Date: Tue, 07 May 2019 19:32:29 GMT 
 Server: gunicorn/19.9.0 
 Vary: Accept, Cookie 
 X-Frame-Options: SAMEORIGIN 

 { 
     "task": "/pulp/api/v3/tasks/69e8be69-7754-4c87-88ed-e295fd01e643/" 
 } 


 # sleep 2 

 # Create a publication for the repository 

 http POST :24817/pulp/api/v3/publications/rpm/rpm/ repository=$REPO_HREF 
 HTTP/1.1 400 Bad Request 
 Allow: GET, POST, HEAD, OPTIONS 
 Connection: close 
 Content-Length: 87 
 Content-Type: application/json 
 Date: Tue, 07 May 2019 19:32:30 GMT 
 Server: gunicorn/19.9.0 
 Vary: Accept, Cookie 
 X-Frame-Options: SAMEORIGIN 

 { 
     "non_field_errors": [ 
         "Repository has no version available to create Publication from" 
     ] 
 } 

 </pre> 

 Uncommenting the "sleep" statement will make this script work. 

 This is probably not an issue with task locking, but rather with the synchronous code in the viewset.

Back