Skip to content

Add SchedulerHints to server controller#632

Merged
mandre merged 3 commits intok-orc:mainfrom
eshulman2:shints
Apr 23, 2026
Merged

Add SchedulerHints to server controller#632
mandre merged 3 commits intok-orc:mainfrom
eshulman2:shints

Conversation

@eshulman2
Copy link
Copy Markdown
Contributor

Add schedulerHints field with support for:

  • serverGroupRef - schedule server in a server group
  • differentHostServerRefs / sameHostServerRefs - affinity/anti-affinity with other servers
  • query, targetCell, differentCell, buildNearHostIP - advanced placement options
  • additionalProperties - arbitrary scheduler hints

NOTE! this change MOVED the ServerGroupRef inside the ServerSchedulerHints

Copy link
Copy Markdown
Contributor

@winiciusallan winiciusallan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good overall! Great job! Just a few comments. Let me know what you think.

Comment thread api/v1alpha1/server_types.go Outdated
Comment thread api/v1alpha1/server_types.go Outdated
Comment thread api/v1alpha1/server_types.go Outdated
@eshulman2 eshulman2 force-pushed the shints branch 10 times, most recently from 7b0df63 to bdf5e4f Compare January 15, 2026 15:10
Comment thread api/v1alpha1/server_types.go
Comment thread api/v1alpha1/server_types.go
Comment thread internal/controllers/server/actuator.go
Comment thread api/v1alpha1/server_types.go Outdated
@eshulman2 eshulman2 force-pushed the shints branch 2 times, most recently from f6e8392 to 8894f8f Compare January 18, 2026 08:00
@eshulman2 eshulman2 requested a review from mandre January 18, 2026 09:12
@eshulman2 eshulman2 force-pushed the shints branch 6 times, most recently from 4bc925c to 54a3ad6 Compare January 19, 2026 10:11
Comment thread api/v1alpha1/server_types.go Outdated
@eshulman2 eshulman2 force-pushed the shints branch 2 times, most recently from ce7d860 to d979876 Compare January 19, 2026 10:55
Copy link
Copy Markdown
Contributor

@winiciusallan winiciusallan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your effort, @eshulman2!

To me, it is very close to a merge state, I just left a comment on the dependency that you added, let me know what you think.

Comment thread internal/controllers/server/actuator.go
Comment thread internal/controllers/server/controller.go Outdated
Copy link
Copy Markdown
Collaborator

@mandre mandre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this is almost ready. I would still like to keep this for a little longer in the queue to make up my mind about the breaking/non-breaking change.

Comment thread api/v1alpha1/server_types.go Outdated
Comment thread api/v1alpha1/server_types.go
Comment thread internal/controllers/server/actuator.go
@mandre mandre added this to the Release 3.0 milestone Apr 17, 2026
@mandre mandre enabled auto-merge April 17, 2026 15:52
Comment thread internal/controllers/server/actuator.go Outdated
reconcileStatus := progress.NewReconcileStatus()

// Resolve ServerGroupRef to server group ID
sg, sgReconcileStatus := dependency.FetchDependency(
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll want to rework this dependency fetch after #674 merges.

@mandre mandre added this pull request to the merge queue Apr 17, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Apr 17, 2026
eshulman2 and others added 3 commits April 23, 2026 13:52
- Add SchedulerHints to server controller
- enable required nova filters for testing hints

NOTE! this change MOVED the ServerGroupRef inside the ServerSchedulerHints
Since IsAvailable implies Status.ID is set, the redundant check for
Status.ID != nil can be removed. Pass orcv1alpha1.IsAvailable directly
as the filter function for the ServerGroup and boot Volume dependencies,
consistent with the changes made in all other controllers.
@mandre mandre enabled auto-merge April 23, 2026 11:57
@mandre mandre added this pull request to the merge queue Apr 23, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Apr 23, 2026
@mandre
Copy link
Copy Markdown
Collaborator

mandre commented Apr 23, 2026

The test failure is due to a name clash in the namespaces as generated by kuttl. I'll work on a kuttl fix.

@mandre
Copy link
Copy Markdown
Collaborator

mandre commented Apr 23, 2026

Kuttl fix submitted at kudobuilder/kuttl#682, for reference.

@mandre mandre added this pull request to the merge queue Apr 23, 2026
Merged via the queue into k-orc:main with commit 07105fd Apr 23, 2026
12 checks passed
@mandre mandre mentioned this pull request Apr 23, 2026
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

semver:major Breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants