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

[Bug][RayJob] Fix FailedToGetJobStatus by allowing transition to Running #1583

Merged
merged 6 commits into from
Oct 31, 2023
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Lint
Signed-off-by: Archit Kulkarni <[email protected]>
Archit Kulkarni committed Oct 31, 2023
commit 80d1a65a10a38ffd90c5fb908705d06c44e8618e
2 changes: 1 addition & 1 deletion ray-operator/controllers/ray/rayjob_controller.go
Original file line number Diff line number Diff line change
@@ -526,7 +526,7 @@ func (r *RayJobReconciler) initRayJobStatusIfNeed(ctx context.Context, rayJob *r

func (r *RayJobReconciler) shouldUpdateJobStatus(oldJobStatus rayv1.JobStatus, oldJobDeploymentStatus rayv1.JobDeploymentStatus, jobInfo *utils.RayJobInfo) bool {
if jobInfo != nil {
jobStatusChanged := (oldJobStatus != jobInfo.JobStatus)
jobStatusChanged := (oldJobStatus != jobInfo.JobStatus)
// If the status changed, or if we didn't have the status before and now we have it, update the status and deployment status.
if jobStatusChanged || oldJobDeploymentStatus == rayv1.JobDeploymentStatusFailedToGetJobStatus {
return true
30 changes: 15 additions & 15 deletions ray-operator/controllers/ray/rayjob_controller_unit_test.go
Original file line number Diff line number Diff line change
@@ -182,40 +182,40 @@ func TestShouldUpdateJobStatus(t *testing.T) {
r := &RayJobReconciler{}

tests := []struct {
name string
oldJobStatus rayv1.JobStatus
oldJobDeploymentStatus rayv1.JobDeploymentStatus
jobInfo *utils.RayJobInfo
expectedShouldUpdate bool
name string
oldJobStatus rayv1.JobStatus
oldJobDeploymentStatus rayv1.JobDeploymentStatus
jobInfo *utils.RayJobInfo
expectedShouldUpdate bool
}{
{
name: "jobInfo is nil",
oldJobStatus: rayv1.JobStatusPending,
name: "jobInfo is nil",
oldJobStatus: rayv1.JobStatusPending,
oldJobDeploymentStatus: rayv1.JobDeploymentStatusRunning,
jobInfo: nil,
expectedShouldUpdate: false,
jobInfo: nil,
expectedShouldUpdate: false,
},
{
name: "job status changed",
oldJobStatus: rayv1.JobStatusRunning,
name: "job status changed",
oldJobStatus: rayv1.JobStatusRunning,
oldJobDeploymentStatus: rayv1.JobDeploymentStatusRunning,
jobInfo: &utils.RayJobInfo{
JobStatus: rayv1.JobStatusStopped,
},
expectedShouldUpdate: true,
},
{
name: "job status same but JobDeploymentStatus failed",
oldJobStatus: rayv1.JobStatusRunning,
name: "job status same but JobDeploymentStatus failed",
oldJobStatus: rayv1.JobStatusRunning,
oldJobDeploymentStatus: rayv1.JobDeploymentStatusFailedToGetJobStatus,
jobInfo: &utils.RayJobInfo{
JobStatus: rayv1.JobStatusRunning,
},
expectedShouldUpdate: true,
},
{
name: "job status same and JobDeploymentStatus not failed",
oldJobStatus: rayv1.JobStatusRunning,
name: "job status same and JobDeploymentStatus not failed",
oldJobStatus: rayv1.JobStatusRunning,
oldJobDeploymentStatus: rayv1.JobDeploymentStatusRunning,
jobInfo: &utils.RayJobInfo{
JobStatus: rayv1.JobStatusRunning,