Skip to content

Commit 59503c6

Browse files
authored
[RayJob][Status][7/n] Define JobDeploymentStatusNew explicitly (#1772)
1 parent d723f50 commit 59503c6

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

ray-operator/apis/ray/v1/rayjob_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ func IsJobTerminal(status JobStatus) bool {
3333
type JobDeploymentStatus string
3434

3535
const (
36+
JobDeploymentStatusNew JobDeploymentStatus = ""
3637
JobDeploymentStatusInitializing JobDeploymentStatus = "Initializing"
3738
JobDeploymentStatusRunning JobDeploymentStatus = "Running"
3839
JobDeploymentStatusComplete JobDeploymentStatus = "Complete"

ray-operator/controllers/ray/rayjob_controller.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,14 @@ func (r *RayJobReconciler) Reconcile(ctx context.Context, request ctrl.Request)
124124

125125
r.Log.Info("RayJob", "name", rayJobInstance.Name, "namespace", rayJobInstance.Namespace, "JobStatus", rayJobInstance.Status.JobStatus, "JobDeploymentStatus", rayJobInstance.Status.JobDeploymentStatus)
126126
switch rayJobInstance.Status.JobDeploymentStatus {
127+
case rayv1.JobDeploymentStatusNew:
128+
// Set `Status.JobDeploymentStatus` to `JobDeploymentStatusInitializing`, and initialize `Status.JobId`
129+
// and `Status.RayClusterName` prior to avoid duplicate job submissions and cluster creations.
130+
r.Log.Info("JobDeploymentStatusNew", "RayJob", rayJobInstance.Name)
131+
if err = r.initRayJobStatusIfNeed(ctx, rayJobInstance); err != nil {
132+
return ctrl.Result{RequeueAfter: RayJobDefaultRequeueDuration}, err
133+
}
134+
return ctrl.Result{RequeueAfter: RayJobDefaultRequeueDuration}, nil
127135
case rayv1.JobDeploymentStatusComplete:
128136
// If this RayJob uses an existing RayCluster (i.e., ClusterSelector is set), we should not delete the RayCluster.
129137
r.Log.Info("JobDeploymentStatusComplete", "RayJob", rayJobInstance.Name, "ShutdownAfterJobFinishes", rayJobInstance.Spec.ShutdownAfterJobFinishes, "ClusterSelector", rayJobInstance.Spec.ClusterSelector)
@@ -164,12 +172,6 @@ func (r *RayJobReconciler) Reconcile(ctx context.Context, request ctrl.Request)
164172
return ctrl.Result{RequeueAfter: RayJobDefaultRequeueDuration}, nil
165173
}
166174

167-
// Set `Status.JobDeploymentStatus` to `JobDeploymentStatusInitializing`, and initialize `Status.JobId`
168-
// and `Status.RayClusterName` prior to avoid duplicate job submissions and cluster creations.
169-
if err = r.initRayJobStatusIfNeed(ctx, rayJobInstance); err != nil {
170-
return ctrl.Result{RequeueAfter: RayJobDefaultRequeueDuration}, err
171-
}
172-
173175
var rayClusterInstance *rayv1.RayCluster
174176
if rayClusterInstance, err = r.getOrCreateRayClusterInstance(ctx, rayJobInstance); err != nil {
175177
return ctrl.Result{RequeueAfter: RayJobDefaultRequeueDuration}, err

0 commit comments

Comments
 (0)