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

Initial Assessment for Scheduler Plugin #1

Open
cmisale opened this issue Feb 5, 2021 · 4 comments
Open

Initial Assessment for Scheduler Plugin #1

cmisale opened this issue Feb 5, 2021 · 4 comments

Comments

@cmisale
Copy link
Collaborator

cmisale commented Feb 5, 2021

As discussed during our meeting on Feb 3rd, we have two main options to build the Fluxion Scheduler Plugin

  1. Extension Points (Scheduling Framework)
  2. Out-of-tree Scheduler Plugin

We would need to start a discussion about pros/cons of the two options, so that we can take a decision ASAP.
Initial metrics we can consider are:

  • Maintainability wrt Kubernetes/OpenShift releases
  • Ease of implementation and deployment in Kubernetes/OpenShift
  • Ease of integration with Fluxion
  • What else?

Regardless of the option we go for, there are certain tasks we have to address that we identified during our discussion:

  • Implement a Golang binding for Fluxion C CLI
  • Define where/how to save state for Fluxion (i.e., Resource Graph)
    • Define what's the minimal state that we need
    • How the state is shared/accessed in case of hierarchical instances
  • Talk about how to access information about NFD in the future
@milroy
Copy link
Member

milroy commented Feb 5, 2021

I'm going to create issues for each of the tasks you define here so we can track them separately.

@milroy
Copy link
Member

milroy commented Feb 5, 2021

I've opened several derived issues based on this one. Have I missed anything?

@cmisale: let's limit this issue to a discussion of the pros and cons of making use of the Scheduling Framework versus an out-of-tree scheduler plugin approach. Does that sound reasonable?

@swatisehgal
Copy link

Please refer to the link here which describes how the scheduler plugin allows us to write a custom scheduler without forking the scheduler's code. The scheduler-plugins repo here: https://github.com/kubernetes-sigs/scheduler-plugins/blob/master/cmd/scheduler/main.go is an example of a custom scheduler. So essentially in your above issue description where you mention building Fluxion Scheduler Plugin either with the scheduler framework or as an out of tree scheduler plugin please keep in mind that you could use both and develop a customized out-of-tree scheduler plugin that uses the scheduler framework!

@dongahn
Copy link
Member

dongahn commented Feb 23, 2021

Oh this is a great resource, @swatisehgal! Thank you for chiming in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants