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

remove all code that uses wreck and other removed flux-core interfaces #437

Closed
grondo opened this issue Feb 4, 2019 · 10 comments
Closed

Comments

@grondo
Copy link
Contributor

grondo commented Feb 4, 2019

There is a PR pending in flux-core: flux-framework/flux-core#1988 which will remove the wreck execution system and many other interfaces and APIs that have been deprecated for awhile.

Before this is merged, perhaps, this will require a strategy for flux-sched, a few ideas that come to mind are:

  1. Transition immediately to compatibility with flux-core master by removing all the code and tests that require the old exec system. This would probably mean removal of resrc, RDL, and most of the tests. At some point it will have to be done anyway.
  2. branch off at the v0.7.0 tag for now, and tie testing and configure of that version to v0.11.0 of flux-core.
  3. Back out the most recent change that makes flux-sched incompatible with flux-core-v0.11.0, keep working on master and tie master to flux-core-0.11.0.
@SteVwonder
Copy link
Member

My vote is for Option 1. I think there is value in keeping flux-sched master building against flux-core@master. If we tie flux-sched to v0.11.0 now, I'm afraid that all the changes to become compatible with flux-core@master will end up in one massive PR rather than several smaller, easier to digest PRs. I think Option 1 would also make it easier to test out the new job manager / scheduler interfaces.

@dongahn, what are your thoughts?

@grondo
Copy link
Contributor Author

grondo commented Feb 5, 2019

Thanks @SteVwonder. Another benefit of option 1 is that flux-sched repo will be managed the same as flux-core, and we can trigger option 2 when needed. That being said, it will be a fair amount of work to make flux-sched work with flux-core + flux-framework/flux-core#1988.

grondo added a commit to grondo/flux-sched that referenced this issue Feb 5, 2019
Remove code and interfaces dependent on upstream flux-core wreck
and Lua interfaces that have since been removed. Includes removal
of rdl, sched, resrc and associated tests and scripts.

Fixes flux-framework#437
@dongahn
Copy link
Member

dongahn commented Feb 5, 2019

If we were to do this, we might as well do this now. Option 1. All-in will make our effort more focused.

It will take substantial effort and we need to make sure we have enough of @SteVwonder and my time going into this.

@grondo
Copy link
Contributor Author

grondo commented Feb 5, 2019

I have a very rough cut started to make sure the work I've done in flux-framework/flux-core#1988 doesn't remove something sched may require. I'll link that here once it is complete. It may give you a head start.

grondo added a commit to grondo/flux-sched that referenced this issue Feb 5, 2019
Remove code and interfaces dependent on upstream flux-core wreck
and Lua interfaces that have since been removed. Includes removal
of rdl, sched, resrc and associated tests and scripts.

Fixes flux-framework#437
grondo added a commit to grondo/flux-sched that referenced this issue Feb 5, 2019
Remove code and interfaces dependent on upstream flux-core wreck
and Lua interfaces that have since been removed. Includes removal
of rdl, sched, resrc and associated tests and scripts.

Fixes flux-framework#437
@grondo
Copy link
Contributor Author

grondo commented Feb 5, 2019

See https://github.com/grondo/flux-sched/tree/kill-wreck -- this version removes rdl, resrc and the simulator, along with associated tests, commands and scripts. It passes Travis-CI, but I'm not sure if I removed too much.

Edit: I'm happy to open this branch as a PR, but I wanted approval first -- this first pass may have been too heavy a hand.

@grondo
Copy link
Contributor Author

grondo commented Feb 6, 2019

@SteVwonder @dongahn, did either of you have a chance to review my branch posted above? Before we can merge the PR in flux-core that removes the old execution system, we wanted to make sure flux-sched@master can move forward.

@SteVwonder
Copy link
Member

Yeah. It looks fine to me. The RDL and resrc need to get removed anyway since we are switching to resource. As far as sched, we can always go back into the git history if we need to reference the old sched code when implementing the new sched that interfaces with the resource-match service. And if we don't have a sched, then keeping the old simulator doesn't make much sense. So overall, 👍.

@dongahn, thoughts?

@grondo
Copy link
Contributor Author

grondo commented Feb 6, 2019

Do you want me to just open a PR? I wasn't sure if either you or @dongahn wanted to do that instead, using my branch perhaps as a reference..

@SteVwonder
Copy link
Member

If you are offering to open a PR, I'm not going to turn you down 😆
If you would prefer one of us to do it, that's fine. I can do that.

@dongahn
Copy link
Member

dongahn commented Feb 6, 2019

LGTM as well. BTW, what this means is we don't have a scheduler which works end to end. So we will want to make it a priority to catch up the flux-core's new execution system. Some of the major items:

  • Put in an RFC for R, which should also define the version 1 format that resembles R_lite. I'm working it.

  • When @garlick puts in the code for scheduler loop service within flux-core, make a copy of it to flux-sched and extend to hook up with the rest of the system

  • Need lots lots of test codes

Although there are a lot of work to do, the beauty of this is we get to use our scheduler as early as possible :-)

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

3 participants