Project

General

Profile

Feature #17349

Updated by Peter Amstutz about 3 years ago

This specification is for the server side (client side of this will be on separate tickets,).  

 Make sure that endpoint /arvados/v1/collections has all desired functionality, tests and documentation for controller and railsapi 

 This ticket will cover (api) 

 * railsapi    (including storing in the database) 
 * controller 
 * documentation updates the current behaviour 
 * test  

 This ticket will not cover 

 * client behaviour 
 * keep-balance behavirour 


 Acording to the documentation the current behaviour for collections' "replicas_desired" is to accept a Number[1] or 'null'. Also there is an undocumented attribute "storage_classes_desired" and "storage_classes_confirmed".  

 "MyStorageClass" is an example name that has to match with the StorageClass configuration setting on the volume but has no particular meaning for Arvados. 

 Valid values:  

 |_. replicas_desired |_. storage_classes_desired |_. defaultCollectionReplication |_. Collection Effective Value |_. Notes | 
 | null (or omited from the request) | null | 3 | {"default": 3} |    | 
 | null (or omited from the request) | null | 2 | {"default": 2} | current behaviour see [2] | 
 | 42 | null    | 2 | {"default": 42} |    | 
 | 34 | null    | 2 | {"default": 34} |    | 
 | 1    |["MyStorageClass"] | 2 | {"default": 0, "MyStorageClass": 1} |    | 
 | 1    |["default","MyStorageClass"] | 2 | {"default": 1, "MyStorageClass": 1} | | is this correct?| 
 | null    |["default","MyStorageClass"] | 2 | {"default": 2, "MyStorageClass": 2} | | How does defaultCollectionReplication affects this?| 

 The "Effective value" is the amount of copies stored in each storage class, this column will help to clarify cases in following tickets 

 To be talked in next grooming session:  
 * For the error send the user an error, we only will discuss the API errors. arv-put, arvados-cwl-runner and other clients will have their own ticket  
 * How will backward compatibility works here?  


 [1] https://doc.arvados.org/v2.1/api/methods/collections.html 
 [2] https://doc.arvados.org/v2.0/sdk/python/arvados/arvados.collection-pysrc.html#Collection._my_block_manager

Back