aboutsummaryrefslogtreecommitdiff
path: root/src/garage/cli/layout.rs
Commit message (Collapse)AuthorAgeFilesLines
* Changed all instances of assignation to assignment.Jonathan Davies2023-01-051-2/+2
|
* Slightly simplify code at placesAlex Auvolat2022-11-081-7/+4
|
* Return more info when layout's .check() fails, fix compilation, fix testAlex Auvolat2022-11-081-11/+21
|
* Use bytes as capacity unitsAlex Auvolat2022-11-071-4/+14
|
* Style improvementsAlex Auvolat2022-11-071-10/+10
|
* Improved the statistics displayed in layout showMendes2022-10-111-24/+45
| | | | corrected a few bugs
* cargo fmtMendes2022-10-101-42/+52
|
* Tests written in layout.rsMendes2022-10-101-2/+2
| | | | | added staged_parameters to ClusterLayout removed the serde(default) -> will need a migration function
* Corrected two bugs:Mendes2022-10-061-1/+5
| | | | | - self.node_id_vec was not properly updated when the previous ring was empty - ClusterLayout::merge was not considering changes in the layout parameters
* Added a CLI command to update the parameters for the layout computation (for ↵Mendes2022-10-051-2/+33
| | | | now, only the zone redundancy)
* modifications in several files to :Mendes2022-10-051-14/+21
| | | | | | - have consistent error return types - store the zone redundancy in a Lww - print the error and message in the CLI (TODO: for the server Api, should msg be returned in the body response?)
* First adaptation to WIP netapp with streaming bodyAlex Auvolat2022-07-291-3/+3
|
* First version of admin API (#298)Alex2022-05-241-43/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | **Spec:** - [x] Start writing - [x] Specify all layout endpoints - [x] Specify all endpoints for operations on keys - [x] Specify all endpoints for operations on key/bucket permissions - [x] Specify all endpoints for operations on buckets - [x] Specify all endpoints for operations on bucket aliases View rendered spec at <https://git.deuxfleurs.fr/Deuxfleurs/garage/src/branch/admin-api/doc/drafts/admin-api.md> **Code:** - [x] Refactor code for admin api to use common api code that was created for K2V **General endpoints:** - [x] Metrics - [x] GetClusterStatus - [x] ConnectClusterNodes - [x] GetClusterLayout - [x] UpdateClusterLayout - [x] ApplyClusterLayout - [x] RevertClusterLayout **Key-related endpoints:** - [x] ListKeys - [x] CreateKey - [x] ImportKey - [x] GetKeyInfo - [x] UpdateKey - [x] DeleteKey **Bucket-related endpoints:** - [x] ListBuckets - [x] CreateBucket - [x] GetBucketInfo - [x] DeleteBucket - [x] PutBucketWebsite - [x] DeleteBucketWebsite **Operations on key/bucket permissions:** - [x] BucketAllowKey - [x] BucketDenyKey **Operations on bucket aliases:** - [x] GlobalAliasBucket - [x] GlobalUnaliasBucket - [x] LocalAliasBucket - [x] LocalUnaliasBucket **And also:** - [x] Separate error type for the admin API (this PR includes a quite big refactoring of error handling) - [x] Add management of website access - [ ] Check that nothing is missing wrt what can be done using the CLI - [ ] Improve formatting of the spec - [x] Make sure everyone is cool with the API design Fix #231 Fix #295 Co-authored-by: Alex Auvolat <alex@adnab.me> Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/298 Co-authored-by: Alex <alex@adnab.me> Co-committed-by: Alex <alex@adnab.me>
* Add a K2V client library and CLI (#303)trinity-1686a2022-05-181-0/+1
| | | | | | | | | lib.rs could use getting split in modules, but I'm not sure how exactly Co-authored-by: trinity-1686a <trinity@deuxfleurs.fr> Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/303 Co-authored-by: trinity-1686a <trinity.pointard@gmail.com> Co-committed-by: trinity-1686a <trinity.pointard@gmail.com>
* Fix `layout show` to not show changes when there are no changes (#297)Alex2022-05-091-4/+21
| | | | | | | | | fixes #295, partially Co-authored-by: Alex Auvolat <alex@adnab.me> Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/297 Co-authored-by: Alex <alex@adnab.me> Co-committed-by: Alex <alex@adnab.me>
* Allow `garage layout assign` to assign to several nodes at onceAlex Auvolat2022-03-241-44/+53
|
* Small change to partition assignation algorithmAlex Auvolat2022-03-241-9/+9
| | | | | | This change helps ensure that nodes for each partition are spread over all datacenters, a property that wasn't ensured previously when going from a 2 DC deployment to a 3 DC deployment
* Improve how node roles are assigned in Garagev0.5-beta1Alex Auvolat2021-11-161-0/+340
- change the terminology: the network configuration becomes the role table, the configuration of a nodes becomes a node's role - the modification of the role table takes place in two steps: first, changes are staged in a CRDT data structure. Then, once the user is happy with the changes, they can commit them all at once (or revert them). - update documentation - fix tests - implement smarter partition assignation algorithm This patch breaks the format of the network configuration: when migrating, the cluster will be in a state where no roles are assigned. All roles must be re-assigned and commited at once. This migration should not pose an issue.