-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
new file: contributing/checklist-rpc-endpoint.md
- Loading branch information
1 parent
8537a77
commit eda57a7
Showing
1 changed file
with
24 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# New RPC Endpoint Checklist | ||
|
||
Prefer adding a new message to changing any existing RPC messages. | ||
|
||
## Code | ||
|
||
* [ ] `Request` struct and `RequestType` constant in `nomad/structs/structs.go` | ||
* [ ] In `nomad/fsm.go`, add a dispatch case to the switch statement in `Apply` | ||
* `*nomadFSM` method to decode the request and call the state method | ||
* [ ] State method for modifying objects in a `Txn` in `nomad/state/state_store.go` | ||
* `nomad/state/state_store_test.go` | ||
* [ ] Handler for the request in `nomad/foo_endpoint.go` | ||
* RPCs are resolved by matching the method name for bound structs, | ||
e.g.: `"Node.Deregister"` calls the `(*Node)Deregister(req)` | ||
method without any extra registration | ||
* Wrapper for the HTTP request in `command/agent/foo_endpoint.go` | ||
* [ ] `nomad/core_sched.go` sends many RPCs | ||
* `ServersMeetMinimumVersion` asserts that the server cluster is | ||
upgraded, so use this to gaurd sending the new RPC, else send the old RPC | ||
* Version must match the actual release version! | ||
|
||
## Docs | ||
|
||
* [ ] Changelog |