-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multiregion Deployments (OSS integration) #8184
Conversation
Initial struct definitions, jobspec parsing, validation, and conversion between Nomad structs and API structs for multi-region deployments.
Integration points for multiregion jobs to be registered in the enterprise version of Nomad: * hook in `Job.Register` for enterprise to send job to peer regions * remove monitoring from `nomad job run` and `nomad job stop` for multiregion jobs
This changeset establishes hooks in deploymentwatcher for multiregion deployments (for the enterprise version of Nomad).
* `nextRegion` should take status parameter * thread Deployment/Job RPCs thru `nextRegion` * add `nextRegion` calls to `deploymentwatcher` * use a better description for paused for peer
The `paused` state is used as an operator safety mechanism, so that they can debug a deployment or halt one that's causing a wider failure. By using the `paused` state as the first state of a multiregion deployment, we risked resuming an intentionally operator-paused deployment because of activity in a peer region. This changeset replaces the use of the `paused` state with a `pending` state, and provides a `Deployment.Run` internal RPC to replace the use of the `Deployment.Pause` (resume) RPC we were using in `deploymentwatcher`.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good to me, pending passing test suite.
is there explicit rejection of Multiregion jobs by OSS or do they just not work?
Currently it's just ignored (because we don't do license checks in the OSS code). We should probably pull that out during validation though. I'll do that under separate PR. |
I'm going to lock this pull request because it has been closed for 120 days ⏳. This helps our maintainers find and focus on the active contributions. |
This changeset includes all the bits of the upcoming enterprise-only Multiregion Deployments feature that we'll need in the OSS build. All code in this PR has been previously reviewed in the private repository for enterprise.
Documentation is under #8185