Repository navigation
[raft] Implement dssctl for cluster membership - #1777
MariemBaccari wants to merge 2 commits into
Conversation
3e5d64f to
3f98d9d
Compare
| Error: rid: 400 Bad Request: node ID 4 was removed from the group and cannot be reused (E:…) | ||
| ``` | ||
|
|
||
| A change can therefore succeed for some groups and fail for others. In that case, the command can be retried for the failed groups only with `--groups`. |
There was a problem hiding this comment.
the example output / message seems unnatural to read no?
There was a problem hiding this comment.
Could you provide an example of what you have in mind ?
There was a problem hiding this comment.
I added a suggestion bellow, it's mostly to have the two sentences together.
(I also changed it to a full example, but that was not the original scope)
| @@ -0,0 +1,73 @@ | |||
| # dssctl | |||
There was a problem hiding this comment.
Open question: should this be only in the docs/website part of the documentation instead?
There was a problem hiding this comment.
I think I'd agree with this for the long term. Do we want to do this for the MVP though ?
There was a problem hiding this comment.
I removed the README.md. It will be addressed separately as part of #1747.
dd0659b to
d856293
Compare
| It calls the admin API served by the `core-service` of the DSS node on the Unix socket at `--admin_socket`. A DSS node using the `raft` datastore runs one Raft group per service: `aux`, `rid` and `scd`. Each group has its own members, and a node joins or leaves each of them independently. A `dssctl raft` command sends one request per selected group, all groups by default. | ||
|
|
||
| ``` | ||
| aux: added node 9145876235489012733 (http://dss4.example.com:9500) | ||
| scd: added node 3376251980046127518 (http://dss4.example.com:9500) | ||
| Error: rid: 503 Service Unavailable: failed to reach the node at http://dss4.example.com:9500 (E:…) | ||
| ``` | ||
|
|
||
| A change can therefore succeed for some groups and fail for others. In that case, the command can be retried for the failed groups only with `--groups`. |
There was a problem hiding this comment.
It calls the admin API served by the core-service of the DSS node on the Unix socket at --admin_socket. A DSS node using the raft datastore runs one Raft group per service: aux, rid and scd. Each group has its own members, and a node joins or leaves each of them independently. A dssctl raft command sends one request per selected group, all groups by default. A change can therefore succeed for some groups and fail for others. In that case, the command can be retried for the failed groups only with --groups.
dssctl raft add --url http://dss4.example.com:9500)
aux: added node 9145876235489012733 (http://dss4.example.com:9500)
scd: added node 3376251980046127518 (http://dss4.example.com:9500)
Error: rid: 503 Service Unavailable: failed to reach the node at http://dss4.example.com:9500 (E:…)
dssctl raft add --url http://dss4.example.com:9500) --groups rid
rid: added node 424242 (http://dss4.example.com:9500)
This PR partially addresses #1719. It depends on #1907 so only the last commit should be reviewed. It implements the CLI tool which sends cluster membership requests to the admin API.
Example command outputs: