-
Notifications
You must be signed in to change notification settings - Fork 25
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
feat: scheduler (12/): add more scheduler logic #418
feat: scheduler (12/): add more scheduler logic #418
Conversation
A special note: Currently the API has a limit of 100 for cluster decisions, but it also dictates that we need to keep all decisions from selected clusters. Considering that we do not have a schema-side range set for numOfClusters, do we drop decisions when there are over 100 selected clusters or do we set a limit of 100 to numOfClusters as well? |
I wonder where is the 100 limit come from? I think k8s scheduler has a parameter about how many nodes to consider. Do we need to add that? |
we cannot limit the numberOfClusters for the selectAll type and still need to handle the 100 limit size.
100 limit comes from https://github.com/Azure/fleet/blob/main/apis/placement/v1beta1/policysnapshot_types.go#L77 |
Hi Ryan! The API has a maxItems = 100 limit on ClusterDecisions, so it may be in conflict with the status updating process if the customer picks over 100 clusters. This does not concern the node threshold much I think; the threshold does not kick unless the cluster has over 100 nodes IIRC. I guess it's kind of safe right now for us to assume that most fleets will not have over 100 member clusters (the design target was 500?) |
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.
LGTM
nit, i feel maxClusterDecisionCount is better than the current one. leaving the decision to you :)
87dd498
to
96325d1
Compare
Rebased to solve conflicts. I will keep the old name for now and see if there's a better name. |
Description of your changes
This PR is part of the PRs that implement the Fleet workload scheduling.
It features more scheduling logic for PickAll type CRPs.
I have:
make reviewable
to ensure this PR is ready for review.How has this code been tested
Special notes for your reviewer
To control the size of the PR, certain unit tests are not checked in; they will be sent in a separate PR.