-
Notifications
You must be signed in to change notification settings - Fork 2k
drivers: support reserve-only memory oversubscription #27354
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
base: main
Are you sure you want to change the base?
Conversation
1de0831 to
20f390f
Compare
|
|
|
20f390f to
fd06ab0
Compare
Soft-limit-only memory oversubscription has been supported in the Nomad control plane for a long time, but wasn't documented or plumbed through to several task drivers. We've added support for this. Update the documentation for memory oversubscription to note this is possible, and just generally clarify the difference between the hard and soft limit. Ref: https://hashicorp.atlassian.net/browse/NMD-911 Ref: hashicorp/nomad#27354
fd06ab0 to
53666dc
Compare
Soft-limit-only memory oversubscription has been supported in the Nomad control plane for a long time, but wasn't documented or plumbed through to several task drivers. We've added support for this. Update the documentation for memory oversubscription to note this is possible, and just generally clarify the difference between the hard and soft limit. Ref: https://hashicorp.atlassian.net/browse/NMD-911 Ref: hashicorp/nomad#27354
53666dc to
738fe1e
Compare
Soft-limit-only memory oversubscription has been supported in the Nomad control plane for a long time, but wasn't documented or plumbed through to several task drivers. We've added support for this. Update the documentation for memory oversubscription to note this is possible, and just generally clarify the difference between the hard and soft limit. Ref: https://hashicorp.atlassian.net/browse/NMD-911 Ref: hashicorp/nomad#27354
Implement driver-side support in the exec and docker drivers for `resource.memory_max = -1`, which allows a soft-only memory limit for clusters with oversubscription enabled. This was already allowed by the server, but undocumented and unevenly supported by drivers. Ref: hashicorp/nomad#27354 Ref: https://hashicorp.atlassian.net/browse/NMD-911 Ref: hashicorp/web-unified-docs#1629
Implement driver-side support in the exec and docker drivers for `resource.memory_max = -1`, which allows a soft-only memory limit for clusters with oversubscription enabled. This was already allowed by the server, but undocumented and unevenly supported by drivers. Ref: hashicorp/nomad#27354 Ref: https://hashicorp.atlassian.net/browse/NMD-911 Ref: hashicorp/web-unified-docs#1629
Implement driver-side support in the exec and docker drivers for `resource.memory_max = -1`, which allows a soft-only memory limit for clusters with oversubscription enabled. This was already allowed by the server, but undocumented and unevenly supported by drivers. Ref: hashicorp/nomad#27354 Ref: https://hashicorp.atlassian.net/browse/NMD-911 Ref: hashicorp/web-unified-docs#1629
Soft-limit-only memory oversubscription has been supported in the Nomad control plane for a long time, but wasn't documented or plumbed through to several task drivers. We've added support for this. Update the documentation for memory oversubscription to note this is possible, and just generally clarify the difference between the hard and soft limit. Ref: https://hashicorp.atlassian.net/browse/NMD-911 Ref: hashicorp/nomad#27354
|
Failing semgrep check is from existing issue #19833 but that'll get resolved soon |
Implement driver-side support in the `exec` and `docker` drivers for `resource.memory_max = -1`, which allows a reserve-only memory request without a hard limit for clusters with oversubscription enabled. This was already allowed by the server, but undocumented and unevenly supported by the built-in drivers. Fixes: #25939 Ref: https://hashicorp.atlassian.net/browse/NMD-911
738fe1e to
bbfb18c
Compare
Implement driver-side support in the
execanddockerdrivers forresource.memory_max = -1, which allows a reserve-only memory request without a hard limit for clusters with oversubscription enabled. This was already allowed by the server, but undocumented and unevenly supported by the built-in drivers.Fixes: #25939
Ref: https://hashicorp.atlassian.net/browse/NMD-911
Docs: hashicorp/web-unified-docs#1629
Ref: hashicorp/nomad-driver-podman#488
Testing & Reproduction steps
Configure the server to allow oversubscription:
Run the tests shown below:
docker: drivers: support reserve-only memory oversubscription #27354 (comment)exec: drivers: support reserve-only memory oversubscription #27354 (comment)raw_exec: drivers: support reserve-only memory oversubscription #27354 (comment)podmanis missing support (ref), which I've addressed in support soft-only memory oversubscription nomad-driver-podman#488The values shown for the resulting cgroups are described in the kernel docs but in brief:
memory.max: the hard limit at which the task will get OOM'dmemory.low: the "best-effort" soft limitmemory.high: the throttling limit (not supported today in Nomad)Contributor Checklist
changelog entry using the
make clcommand.ensure regressions will be caught.
and job configuration, please update the Nomad product documentation, which is stored in the
web-unified-docsrepo. Refer to theweb-unified-docscontributor guide for docs guidelines.Please also consider whether the change requires notes within the upgrade
guide. If you would like help with the docs, tag the
nomad-docsteam in this PR.Reviewer Checklist
backporting document.
in the majority of situations. The main exceptions are long-lived feature branches or merges where
history should be preserved.
within the public repository.
Changes to Security Controls
Are there any changes to security controls (access controls, encryption, logging) in this pull request? If so, explain.