Allow small cpu requests for Synchrony container #650
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Addresses #644
This PR makes it possible to set smaller cpu requests for Synchrony container. Since we use
synchrony.resources.container.requests.cpu
in-XX:ActiveProcessorCount
in synchrony entrypoint script as a JVM flag, setting anything less than 1 is n't possible sinceActiveProcessorCount
accepts int only. See: https://eclipse.dev/openj9/docs/xxactiveprocessorcount/. As a result, settingsynchrony.resources.container.requests.cpu=100m
orsynchrony.resources.container.requests.cpu=0.5
results in Synchrony container crashing.This PR adds a simple check - if
synchrony.resources.container.requests.cpu
containsm
character,-XX:ActiveProcessorCount
is set to 1.I have also added a few comments to values.yaml docs, with a link to https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu
2 simple unit tests check if
-XX:ActiveProcessorCount=1
whensynchrony.resources.container.requests.cpu=20m
, andif if
-XX:ActiveProcessorCount=5
whensynchrony.resources.container.requests.cpu=5
Also, Synchrony is enabled in KinD tests, which wasn't possible because it wasn't possible to have a small cpu claim (GitHub actions have limits)
Checklist
e2e
label)