aboutsummaryrefslogtreecommitdiff
path: root/src/garage/cli/layout.rs
Commit message (Collapse)AuthorAgeFilesLines
* cli: improvements to the layout commands when multiple layouts are liveAlex Auvolat2023-12-081-24/+43
|
* layout: allow sync update tracker to progress with only quorumsAlex Auvolat2023-12-071-3/+3
|
* layout cli: safer skip-dead-nodes commandAlex Auvolat2023-12-071-10/+25
|
* cli: add layout history and layout assume-sync commandsAlex Auvolat2023-11-271-0/+111
|
* layou: implement ack lockingAlex Auvolat2023-11-151-1/+1
|
* layout: add helper for cached/external values to centralize recomputationAlex Auvolat2023-11-151-2/+1
|
* layout: refactoring of all_nodesAlex Auvolat2023-11-141-3/+3
|
* layout admin: add missing calls to update_hashAlex Auvolat2023-11-091-1/+2
|
* layout: refactor to use a RwLock on LayoutHistoryAlex Auvolat2023-11-091-4/+2
|
* layout: more refactoringAlex Auvolat2023-11-091-2/+4
|
* layout: use separate CRDT for staged layout changesAlex Auvolat2023-11-091-18/+29
|
* cluster layout: adapt all uses of ClusterLayout to LayoutHistoryAlex Auvolat2023-11-081-17/+21
|
* new layout: improve display and fix commentsAlex Auvolat2023-09-181-3/+3
|
* new layout: make zone_redundancy optionnal (if not set, is maximum)Alex Auvolat2023-09-181-15/+22
|
* new layout: improve output displayAlex Auvolat2023-09-121-51/+38
|
* Merge branch 'main' into nextAlex Auvolat2023-06-131-1/+1
|\
| * Split format_table into separate crate and reduce k2v-client dependenciesformat_table-v0.1.0Alex Auvolat2023-05-171-1/+1
| |
* | 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.