Feature #17349
closed[Keep API] Revisit "replicas_desired" and "storage_classes_desired".
Description
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 Number1 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} | |
null | ["default","MyStorageClass"] | 2 | {"default": 2, "MyStorageClass": 2} |
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
Updated by Nico César almost 4 years ago
- Related to Idea #16107: Storage classes added
Updated by Nico César almost 4 years ago
- Project changed from Arvados Epics to Arvados
Updated by Nico César almost 4 years ago
- Description updated (diff)
- Subject changed from Allow "replicas_desired" to accept multiple values to [Keep API] Allow "replicas_desired" to accept multiple values
Updated by Nico César almost 4 years ago
- Blocks Feature #17350: [keep-balance] Expected behaviour with different "replicas_desired" and "storage_classes_desired" values added
Updated by Nico César almost 4 years ago
- Description updated (diff)
- Subject changed from [Keep API] Allow "replicas_desired" to accept multiple values to [Keep API] Revisit "replicas_desired" and "storage_classes_desired".
Updated by Nico César almost 4 years ago
- Blocks Feature #17388: [arv-copy] Storage classes revisit added
Updated by Nico César almost 4 years ago
- Blocks Feature #17389: Storage classes support in keepproxy added
Updated by Nico César almost 4 years ago
- Blocks Bug #17390: Set storage classes for intermediates and final outputs added
Updated by Peter Amstutz almost 4 years ago
- Status changed from New to Rejected