Skip to content
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

introduce scheduling method Selector #2169

Merged
merged 11 commits into from
Aug 4, 2020
Merged

Conversation

mandelsoft
Copy link
Member

@mandelsoft mandelsoft commented Apr 9, 2020

This is a remake #1567
A comprehensive solution seems to be in far distance, therefore here a new try based an the latest enhancements of the scheduler.

What this PR does / why we need it:
The new scheduling method Selector allows to make use of the new label selector field
providers to select seeds running on different providers depending of the provider list list and matching labels. It prefers matching seeds if the load is the same.

Which issue(s) this PR fixes:
Fixes #

Special notes for your reviewer:

Release note:

If automatic cross provider scheduling is desired, it  is possible know to specify a new seed selector field `providers` for a cloud profile to enable scheduling on seeds running on different providers.
It is observed if the scheduling method `Selector` has been chosen, which is the new default now.

@mandelsoft
Copy link
Member Author

New version (see comment above) introducing a better minimal distance strategy

pkg/apis/core/v1alpha1/types_cloudprofile.go Show resolved Hide resolved
pkg/scheduler/apis/config/types.go Outdated Show resolved Hide resolved
pkg/scheduler/controller/shoot/scheduler_control.go Outdated Show resolved Hide resolved
pkg/scheduler/controller/shoot/distance_test.go Outdated Show resolved Hide resolved
pkg/scheduler/controller/shoot/scheduler_control.go Outdated Show resolved Hide resolved
pkg/scheduler/controller/shoot/scheduler_control.go Outdated Show resolved Hide resolved
@rfranzke
Copy link
Member

@danielfoehrKn can you please have a look?

pkg/scheduler/controller/shoot/scheduler_control.go Outdated Show resolved Hide resolved
pkg/scheduler/controller/shoot/scheduler_control.go Outdated Show resolved Hide resolved
pkg/scheduler/controller/shoot/scheduler_control.go Outdated Show resolved Hide resolved
pkg/scheduler/controller/shoot/scheduler_control.go Outdated Show resolved Hide resolved
pkg/scheduler/controller/shoot/scheduler_control.go Outdated Show resolved Hide resolved
pkg/scheduler/controller/shoot/scheduler_control.go Outdated Show resolved Hide resolved
pkg/scheduler/controller/shoot/scheduler_control.go Outdated Show resolved Hide resolved
@mandelsoft
Copy link
Member Author

mandelsoft commented Apr 16, 2020

yepp, I've fixed the protobug generater and added a forked version just for testing.
protobuf generation now succeeds (at least locally).

Could you verify that the api server communication still works, then I would open a PR for the kubernetes/code-generator project

Copy link
Contributor

@timuthy timuthy left a comment

Choose a reason for hiding this comment

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

Sorry, I have to address my comment again since it hasn't been answered: #2169 (comment)

docs/concepts/scheduler.md Outdated Show resolved Hide resolved
pkg/apis/core/v1beta1/types_cloudprofile.go Show resolved Hide resolved
Copy link
Member

@ialidzhikov ialidzhikov left a comment

Choose a reason for hiding this comment

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

Thank you for addressing the previous comments. Minor nits now.

.ci/generate Outdated Show resolved Hide resolved
docs/concepts/scheduler.md Outdated Show resolved Hide resolved
pkg/scheduler/controller/shoot/scheduler_control.go Outdated Show resolved Hide resolved
pkg/scheduler/apis/config/v1alpha1/types.go Outdated Show resolved Hide resolved
@mandelsoft
Copy link
Member Author

@ialidzhikov, I've removed the reference

Copy link
Member

@rfranzke rfranzke left a comment

Choose a reason for hiding this comment

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

/lgtm

@ialidzhikov
Copy link
Member

@mandelsoft , could you please squash to single commit? Then lgtm from my side.

@mandelsoft
Copy link
Member Author

mandelsoft commented Aug 4, 2020

@ialidzhikov, because scripts are always taken from the content branch, there is no way to get them from the meta/ci branch, which would be repository local

@ialidzhikov
Copy link
Member

@ialidzhikov, because scripts are always taken from the content branch, there is no way to get them from the meta/ci branch, which would be repository local

Hmm, how is that preventing squashing to single commit? 🤔

Copy link
Member

@ialidzhikov ialidzhikov left a comment

Choose a reason for hiding this comment

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

Nevermind, I hope we can do squash and merge while merging.

/lgtm

@mandelsoft
Copy link
Member Author

I hadn't squashed it yet, because of github PR comments in code.
Just use squash-and merge

@rfranzke rfranzke merged commit 959a4a5 into gardener:master Aug 4, 2020
@mandelsoft mandelsoft deleted the scheduler branch August 5, 2020 11:59
ezeeyahoo pushed a commit to ezeeyahoo/gardener that referenced this pull request Feb 20, 2021
* introduce scheduling method Selector

* improve minimal distance

* incorporate change requests without protobuf fix

* rework seed useability checks

* fix protobuf error

* fix build error

* incorporate change requests

* incorporate change requests

* incorporate change requests

* some more fixes

* more changes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/usability Usability related kind/enhancement Enhancement, improvement, extension platform/all topology/garden Affects Garden clusters
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

10 participants