-
Notifications
You must be signed in to change notification settings - Fork 7
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
Schedulable archs flag #68
Merged
miguelbernadi
merged 3 commits into
adevinta:main
from
miguelbernadi:schedulable-archs-flag
Jan 10, 2024
Merged
Schedulable archs flag #68
miguelbernadi
merged 3 commits into
adevinta:main
from
miguelbernadi:schedulable-archs-flag
Jan 10, 2024
Conversation
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
Fsero
reviewed
Jan 9, 2024
Fsero
reviewed
Jan 9, 2024
Fsero
reviewed
Jan 9, 2024
Fsero
reviewed
Jan 9, 2024
Fsero
reviewed
Jan 9, 2024
Fsero
reviewed
Jan 9, 2024
Fsero
approved these changes
Jan 9, 2024
7a54231
to
eca8cd2
Compare
zonzamas
reviewed
Jan 10, 2024
zonzamas
reviewed
Jan 10, 2024
zonzamas
reviewed
Jan 10, 2024
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.
I won't block, but I see some improvements
# Context In some cases we have seen that the common architectures of the images do not match the default preferred architecture. In those cases, one of the common architectures is selected, which may not match the available architectures in the cluster. In those cases, the Pod is always pending scheduling waiting for a node that will never exist. # Approach Allow passing a comma-separated list of architectures schedulable in the cluster. As we detect image's architecture support, we ignore those architectures that have not been specified as supported by the cluster. This new flag is optional and defaults to empty string (which disables the feature and keeps the prior behaviour). ## Startup fail if preferred architecture is not part of the supported architectures Startup will fail if the preferred architecture selected via commandline is not part of the list of schedulable architectures to prevent misconfigurations. ## Ignore preferred arch at Pod level if unsupported If a preferred architecture is indicated at Pod level, but it does not belong to the list of schedulable architectures, we ignore the preference and treat it as not specified. A log line is generated in that case. # Non-goal ## Detect architectures present in the cluster We do not want to prevent scheduling of Pods with architectures supported but which have no nodes currently in the cluster (downscaled) to avoid interfering with scale from 0 set ups. Change-Id: I0b85ab61fb3a267b41d938bd90f2e2d2050e5447 Co-authored-by: Fabián Sellés Rosa <[email protected]>
476a126
to
0791f04
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Context
In some cases we have seen that the common architectures of the images
do not match the default preferred architecture. In those cases, one
of the common architectures is selected, which may not match the
available architectures in the cluster. In those cases, the Pod is
always pending scheduling waiting for a node that will never exist.
Approach
Allow passing a comma-separated list of architectures schedulable in
the cluster. As we detect image's architecture support, we ignore
those architectures that have not been specified as supported by the
cluster.
This new flag is optional and defaults to empty string (which disables
the feature and keeps the prior behaviour).
Startup fail if preferred architecture is not part of the supported architectures
Startup will fail if the preferred architecture selected via
commandline is not part of the list of schedulable architectures to
prevent misconfigurations.
Ignore preferred arch at Pod level if unsupported
If a preferred architecture is indicated at Pod level, but it does not
belong to the list of schedulable architectures, we ignore the preference
and treat it as not specified. A log line is generated in that case.
Non-goal
Detect architectures present in the cluster
We do not want to prevent scheduling of Pods with architectures
supported but which have no nodes currently in the cluster
(downscaled) to avoid interfering with scale from 0 set ups.