-
Notifications
You must be signed in to change notification settings - Fork 968
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
[Discussion] Migrate volcano-sh/scheduler into volcano-sh/volcano #241
Comments
If any comments/suggestions, please let me know :) |
SGTM I have a question here: How to migrate scheduler to the repo? Are we using git submodule or move the code in scheduler to volcano directly? |
Both are OK to me. My original idea is to move the code to volcano directly which is easier to manage and when we donate volcano to CNCF or Kuberentes, it's also easier to migrate (but we may lost the commit history of scheduler). If using |
@k82cn Now scheduler is a fork of kube-batch. If we move it to this repo, it may be hard to rebase the upstream, IMO. I am not sure about the relationship between the upstream kubebatchd and volcano scheduler. If we do not need to rebase the upstream, then both ways work. |
Almost the same, one minor different because of release cycles. Some features require interaction
we do rebase manually right now :) |
Then both work for me |
Some questions :)
Now we need both modify code of
Most code of |
For now, volcano includes scheduler as vendor for release and e2e test; so every PR in scheduler are cherry-picked into volcano-sh/volcano. If any interaction, we need to review PR in scheduler, bump into volcano, review PR for other part in volcano. Another option is /cc @mrbobbytables @jeefy , who're familiar with k8s's process , may give some suggestions :) |
LGTM
|
I might be missing the full picture, so I'm sorry. :( I feel like cherry-picking upstream commits into v/scheduler is the wrong choice. Also, I feel like until Volcano has a permanent home (ie. CNCF donation) the scheduler code should remain in k-sigs/kube-batch. Is there a technical or a licensing issue vendoring k-sigs/kube-batch? |
The issue is that we're going to modify v/scheduler for Volcano release; and the release cycle of volcano & kube-batch maybe different. For now, we fork kube-batch as v/scheduler which takes lots of work to update vendor (from v/scheduler to v/volcano); so I open this discussion to see how to reduce such kind of effort. |
Sorry for the late reply, thought I summitted comments before. I can see some benefits of hosting the scheduler code in tree, but we need to be careful to make sure that code changes happen in two places trackable and easy to sync in bidirectional way. Manually copy files or cherry-picking commits in to the tree would make history massive, which is not recommanded. I've created an exmaple PR (#264) show how things look like if we decided to host scheduler code in-tree. The code is checked in by scripts (checkout this for details), and we can use similar commands to sync changes back to upstream if necessary. |
With regard to the kubernetes processes, the general goal is to establish a single source of truth. For items that aren't managed in their own repo, they tend to be handled via the staging directory. It serves as the source of truth for a slew of repos that are updated via the publishing bot.
I can't speak to the differences or upcoming changes between the v/scheduler and kube-batch, but it seems like a good goal to try and bring those in line to reference kube-batch itself as the single source of truth (at least for scheduling related items), and pulled in via vendor. As it's a sub-project, it doesn't have to adhere to the standard kubernetes release cycle and should generally be able to align with a cadence that is usable by volcano or other projects. If the releases are hard to manage, could also reference a specific commit after the needed feature(s) are merged. If v/scheduler is going to diverge a fair amount and become more tightly coupled to volcano I'd lean towards @kevin-wangzefeng suggestion, git submodule (@gaocegege suggestion) or if the in-tree code should be the source of truth -- publishing bot. Folks touching the code in the scheduler sub-directory should be cognizant that the code will (may) be pushed upstream and they should stage their commits wisely for easier import. |
That's the reason I open this discussion; and seems kevin-wangzefeng@ suggestion is simpler to other contributors. |
If no objection, we'd like to follow kevin-wangzefeng@ suggestion to make process simpler for other contributors :) |
To summarize:
We can timebox lazy consensus to this Friday 23:59 Beijing Time. |
@asifdxtreme , please help on "Integrate fossa to project CI," |
/close All tasks are done. |
@k82cn: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Is this a BUG REPORT or FEATURE REQUEST?:
/kind feature
Description:
Propose to migrate volcano-sh/scheduler into volcano-sh/volcano, as
After the migration, we will
The text was updated successfully, but these errors were encountered: