-
Notifications
You must be signed in to change notification settings - Fork 528
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
the states in PodGroup is not accurate #578
Comments
Thank you for the summary. It's very clear. Here are my opinions:
|
Scheduled could mean scheduled but not yet running? it may be the original design intention
if we keep the scheduled phase, then status.scheduled would also be kept. the point may be that is there a phase pods scheduled but not running and whether we should expose this phase to users. for example, pods scheduled but stuck on a |
Hi @Huang-Wei, |
I may delegate the review work to @denkensk as he was the original author. My 2 cents about the status revamp work:
/assign @denkensk as primary reviewer. |
/assign @denkensk please take a look when you were free, the main point we were discussing is that:
|
Hi @denkensk, |
Can you describe why it doesn't work as expected in detail to help me understand this issue? @Gekko0114 |
+1 Also we can discuss whether the following two status can be removed as well?
|
@denkensk However, That's why this problem occurred. |
I agree with the idea of removing the However scheduler-plugins/pkg/controllers/podgroup_controller.go Lines 111 to 112 in 33fe0eb
|
Hi @Gekko0114, it sounds good to me to remove the "scheduling" phase, but it seems to be odd if we did not have a "scheduling" but got a "preScheduling". so, how about we keep the scheduling name, but let it works like the preScheduling. in conclusion, the status flow would be like this: stateDiagram-v2
state if_minMember <<choice>>
[*] --> Pending
Pending --> Scheduling: pods added
Scheduling --> Running: minMember pods scheduled
Running --> Failed: at least one of the pods failed
Failed --> if_minMember: failed fixed
if_minMember --> Scheduling: minMember does not meet
if_minMember --> Running: minMember meet
Running --> Finished: all pods successfully finished
Finished --> [*]
|
Thanks for your explain @Gekko0114 |
Ok. From @zwpaper suggestion, we will have 6 phases. It looks good to me. It will be clean. WDYT? @Gekko0114 @Huang-Wei
|
#574 |
/close |
@Gekko0114: You can't close an active issue/PR unless you authored it or you are a collaborator. 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. |
We can close it since I completed PR |
thanks @Gekko0114 /close |
@zwpaper: 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. |
Area
Other components
No response
What happened?
after migrated to controller runtime, podGroup.status.scheduled count will not be updated by PostBind, and the phase transform seem not working as expected
What did you expect to happen?
PodGroup will reflect on pods states change and update in
PodGroup.status.phase
but it is now accurate and sometimes wrong, we need to discuss the expected states change and make it always right.
let's discuss the state flow before working on it:
currently, we have the following states:
scheduler-plugins/apis/scheduling/v1alpha1/types.go
Lines 87 to 112 in 9701eb8
Please notice, the following phase only shows my understanding of the defined phase in the code, it may be a misunderstanding or could be discussed to improve
How can we reproduce it (as minimally and precisely as possible)?
Anything else we need to know?
No response
Kubernetes version
Scheduler Plugins version
The text was updated successfully, but these errors were encountered: