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

Mark Scheduler as deprecated #1460

Closed
3 tasks done
Tracked by #1448
thisthat opened this issue May 24, 2023 · 2 comments · Fixed by #2212
Closed
3 tasks done
Tracked by #1448

Mark Scheduler as deprecated #1460

thisthat opened this issue May 24, 2023 · 2 comments · Fixed by #2212
Labels
documentation Improvements or additions to documentation enhancement New feature or request helm lifecycle-operator scheduler
Milestone

Comments

@thisthat
Copy link
Member

thisthat commented May 24, 2023

Goal

Mark the scheduler as deprecated

Details

The operator can use the client to discover the K8s cluster version (see https://github.com/kubernetes/client-go/blob/7a7ea209369275ab8374bf7e89ea4fad99e820d7/discovery/discovery_client.go#L619).
Based on this, it can change the default value of the FF klt.readiness-gate. If the version supports the readiness gate in stable version, the FF default value is true; false otherwise.
The version of K8s we are looking for should be configured via Env Var and Helm Chart value.yaml and default to 1.27.

Similarly, the Helm chart should check for the Kubernetes version to decide whether the scheduler should be deployed.

DoD

  • Based on K8s version, Helm chart doesn't add the scheduler
  • Based on K8s version, the operator uses the Readiness Gate APIs or the Scheduler
  • Documentation is updated

Depends on

@thisthat thisthat changed the title Mark Scheduler as deprecated (WIP) Mark Scheduler as deprecated May 25, 2023
@thisthat thisthat added enhancement New feature or request status: ready-for-refinement Issue is relevant for the next backlog refinment operator scheduler helm labels May 26, 2023
@thisthat thisthat changed the title (WIP) Mark Scheduler as deprecated Mark Scheduler as deprecated May 26, 2023
@thisthat thisthat added the documentation Improvements or additions to documentation label May 26, 2023
@thisthat thisthat added this to the 0.9 milestone May 31, 2023
@agardnerIT
Copy link
Contributor

Does this have any user impact (eg. change in a way of working) or is this a "behind hte scenes" detail?

@thisthat thisthat removed the status: ready-for-refinement Issue is relevant for the next backlog refinment label Jun 13, 2023
@thisthat thisthat modified the milestones: 0.9, 0.10 Sep 25, 2023
@RealAnna
Copy link
Contributor

RealAnna commented Oct 2, 2023

Does this have any user impact (eg. change in a way of working) or is this a "behind hte scenes" detail?

@agardnerIT under the hood, scheduling gates are implemented as a PreEnqueue scheduler plugin. Our original scheduler is also a plugin.
As far as I know, there could be two interesting scenarios: (1) users have their own custom logic for scheduling implemented as a separate scheduler that has nothing to do with the default one and is not a plugin, (2) users also implemented a plugin to the default scheduler as we did in the previous versions of Keptn.

I do not think there will be many visible changes in either scenario: in case of (1) they need to choose between Keptn and their scheduler. Scheduling gates will not work since they modify the default scheduler behavior. With (2) scheduling gate should work out of the box, and then they could have used our scheduler plugin in combination with theirs so this worked before and works now. Only difference in case (2) was that before they had to tweek the scheduler plugin configuration to use both theirs and ours, now this is not needed anymore with k8s 1.27 and above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request helm lifecycle-operator scheduler
Projects
Archived in project
3 participants