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

Support scheduler config options so custom schedulers can be used #10064

Merged
merged 1 commit into from
Aug 1, 2016

Conversation

smarterclayton
Copy link
Contributor

Will allow us to be consistent with upstream on this.

@ncdc

@smarterclayton
Copy link
Contributor Author

[test]

@cameronbrunner
Copy link

👍

// SchedulerConfigFile points to a file that describes how to set up the scheduler. If empty, you get the default scheduling rules.
SchedulerConfigFile string `json:"schedulerConfigFile"`
// SchedulerName is the name this scheduler uses to assign pods.
Copy link
Contributor

@liggitt liggitt Jul 27, 2016

Choose a reason for hiding this comment

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

can we group scheduler config options?

edit: actually, we should go the schedulerArguments route

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We can group them - except we'd have to move scheduler config (to be
consistent with upstream). Upstream has two configs - the policy file, and
then the "component config" that wraps it. I don't like having scheduler
config file at the root and the other scheduler config in a sub object, but
I could be convinced. I'd argue we'd fix this by splitting it out
eventually.

On Wed, Jul 27, 2016 at 3:52 PM, Jordan Liggitt [email protected]
wrote:

In pkg/cmd/server/api/v1/types.go
#10064 (comment):

// SchedulerConfigFile points to a file that describes how to set up the scheduler. If empty, you get the default scheduling rules.
SchedulerConfigFile string `json:"schedulerConfigFile"`
  • // SchedulerName is the name this scheduler uses to assign pods.

I'm sort of surprised these options weren't already part of the scheduler
config object read from the file


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/openshift/origin/pull/10064/files/b4296d1dbcfd5294ac9467d4d42ad735d1cfbc5d#r72510463,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABG_p4Lwhdvxg6K-Glh-pzVW032YvinVks5qZ7bwgaJpZM4JWjvW
.

Copy link
Contributor

Choose a reason for hiding this comment

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

I'd rather have schedulerArguments, override the default scheduler file with the first-class field from our config, and be perfectly consistent with no effort

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think doing that is going to require fixing the upstream scheduler args,
because it includes the scheduler, so it would get added into oc.

On Wed, Jul 27, 2016 at 4:04 PM, Jordan Liggitt [email protected]
wrote:

In pkg/cmd/server/api/v1/types.go
#10064 (comment):

// SchedulerConfigFile points to a file that describes how to set up the scheduler. If empty, you get the default scheduling rules.
SchedulerConfigFile string `json:"schedulerConfigFile"`
  • // SchedulerName is the name this scheduler uses to assign pods.

I'd rather have schedulerArguments, override the default scheduler file
with the first-class field from our config, and be perfectly consistent
with no effort


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/openshift/origin/pull/10064/files/b4296d1dbcfd5294ac9467d4d42ad735d1cfbc5d#r72512606,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABG_p_GrH3yWraronSVzq3cZSn9zYJ3wks5qZ7nogaJpZM4JWjvW
.

Copy link
Contributor

Choose a reason for hiding this comment

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

I mean schedulerArguments map[string][]string, like we do for other components...

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Apparently we were already including the upstream scheduler, so it's not
any worse.

On Wed, Jul 27, 2016 at 4:16 PM, Clayton Coleman [email protected]
wrote:

I think doing that is going to require fixing the upstream scheduler args,
because it includes the scheduler, so it would get added into oc.

On Wed, Jul 27, 2016 at 4:04 PM, Jordan Liggitt [email protected]
wrote:

In pkg/cmd/server/api/v1/types.go
#10064 (comment):

// SchedulerConfigFile points to a file that describes how to set up the scheduler. If empty, you get the default scheduling rules.
SchedulerConfigFile string json:"schedulerConfigFile"

  • // SchedulerName is the name this scheduler uses to assign pods.

I'd rather have schedulerArguments, override the default scheduler file
with the first-class field from our config, and be perfectly consistent
with no effort


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/openshift/origin/pull/10064/files/b4296d1dbcfd5294ac9467d4d42ad735d1cfbc5d#r72512606,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABG_p_GrH3yWraronSVzq3cZSn9zYJ3wks5qZ7nogaJpZM4JWjvW
.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Updated

On Wed, Jul 27, 2016 at 4:30 PM, Clayton Coleman [email protected]
wrote:

Apparently we were already including the upstream scheduler, so it's not
any worse.

On Wed, Jul 27, 2016 at 4:16 PM, Clayton Coleman [email protected]
wrote:

I think doing that is going to require fixing the upstream scheduler
args, because it includes the scheduler, so it would get added into oc.

On Wed, Jul 27, 2016 at 4:04 PM, Jordan Liggitt <[email protected]

wrote:

In pkg/cmd/server/api/v1/types.go
#10064 (comment):

// SchedulerConfigFile points to a file that describes how to set up the scheduler. If empty, you get the default scheduling rules.
SchedulerConfigFile string json:"schedulerConfigFile"

  • // SchedulerName is the name this scheduler uses to assign pods.

I'd rather have schedulerArguments, override the default scheduler file
with the first-class field from our config, and be perfectly consistent
with no effort


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/openshift/origin/pull/10064/files/b4296d1dbcfd5294ac9467d4d42ad735d1cfbc5d#r72512606,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABG_p_GrH3yWraronSVzq3cZSn9zYJ3wks5qZ7nogaJpZM4JWjvW
.

// resolve extended arguments
// TODO: this should be done in config validation (along with the above) so we can provide
// proper errors
schedulerserver := scheduleroptions.NewSchedulerServer()
Copy link
Contributor

Choose a reason for hiding this comment

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

thanks, can you make an equivalent to TestCMServerDefaults that smacks us when the defaults change so we can decide if any need overriding?

@liggitt
Copy link
Contributor

liggitt commented Jul 27, 2016

test needed, LGTM otherwise

@smarterclayton smarterclayton force-pushed the scheduler_config branch 2 times, most recently from 9fb9f1f to c26c204 Compare July 28, 2016 02:24
@smarterclayton
Copy link
Contributor Author

test added, rereview while [merge] #9959 flake

@openshift-bot
Copy link
Contributor

openshift-bot commented Aug 1, 2016

continuous-integration/openshift-jenkins/merge SUCCESS (https://ci.openshift.redhat.com/jenkins/job/test_pr_origin/7283/) (Image: devenv-rhel7_4714)

@openshift-bot
Copy link
Contributor

Evaluated for origin merge up to 02d7060

@liggitt
Copy link
Contributor

liggitt commented Aug 1, 2016

LGTM

@smarterclayton
Copy link
Contributor Author

[test] #9959

@openshift-bot
Copy link
Contributor

Evaluated for origin test up to 02d7060

@openshift-bot
Copy link
Contributor

continuous-integration/openshift-jenkins/test SUCCESS (https://ci.openshift.redhat.com/jenkins/job/test_pr_origin/7283/)

@openshift-bot openshift-bot merged commit d594eb2 into openshift:master Aug 1, 2016
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

Successfully merging this pull request may close these issues.

4 participants