-
Notifications
You must be signed in to change notification settings - Fork 89
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
Optionally constrain to connected, approved compute nodes when selecting/ranking them #3768
Conversation
Important Auto Review SkippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the To trigger a single review, invoke the TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
4c55e38
to
d3e94bd
Compare
When ranking jobs to send a job to, exclude those that are not connected or not approved.
d3e94bd
to
2ff7abb
Compare
…ing/ranking them (#3768) When ranking jobs to send a job to, exclude those that are not connected or not approved. By defaults nodes MUST be both approved and connected, but we have added options to the NodeSelector (in the form of `orchestrator.NodeSelectionCriteria`) to allow for explicit specification of whether we want them to be approved/connected. ```go # Show top matching approved nodes whether they are connected # or not selectedNodes, err := b.nodeSelector.TopMatchingNodes( ctx, job, len(execs), &orchestrator.NodeSelectionConstraints{ RequireApproval: true, RequireConnected: false, }, ) ``` To make this workable, we change the default node state to APPROVED, requiring aconfig-option to rely on manual approval - it is this way around to ensure there is no required change for users upgrading to use this feature until they are ready to enforce it. ```yaml # Require manual node approval (not default) node: requester: manualnodeapproval: true # Do not require manual node approval (default) node: requester: manualnodeapproval: false ```
When ranking jobs to send a job to, exclude those that are not connected or not approved. By defaults nodes MUST be both approved and connected, but we have added options to the NodeSelector (in the form of
orchestrator.NodeSelectionCriteria
) to allow for explicit specification of whether we want them to be approved/connected.To make this workable, we change the default node state to APPROVED, requiring aconfig-option to rely on manual approval - it is this way around to ensure there is no required change for users upgrading to use this feature until they are ready to enforce it.