From ad1bd938db42349c0a0df185c9ebc190ceb8081c Mon Sep 17 00:00:00 2001 From: peterschmidt85 Date: Sun, 22 Jun 2025 19:41:17 +0200 Subject: [PATCH] [Bug]: Run/job status in UI/CLI is shown as provisioning instead of pulling #2830 --- src/dstack/_internal/core/models/runs.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/dstack/_internal/core/models/runs.py b/src/dstack/_internal/core/models/runs.py index 5cff6571f0..1c865939d1 100644 --- a/src/dstack/_internal/core/models/runs.py +++ b/src/dstack/_internal/core/models/runs.py @@ -548,11 +548,15 @@ def _status_message(cls, values) -> Dict: retry_on_events = ( jobs[0].job_spec.retry.on_events if jobs and jobs[0].job_spec.retry else [] ) + job_status = ( + jobs[0].job_submissions[-1].status if jobs and jobs[0].job_submissions else None + ) termination_reason = Run.get_last_termination_reason(jobs[0]) if jobs else None except KeyError: return values values["status_message"] = Run._get_status_message( status=status, + job_status=job_status, retry_on_events=retry_on_events, termination_reason=termination_reason, ) @@ -568,9 +572,12 @@ def get_last_termination_reason(job: "Job") -> Optional[JobTerminationReason]: @staticmethod def _get_status_message( status: RunStatus, + job_status: Optional[JobStatus], retry_on_events: List[RetryEvent], termination_reason: Optional[JobTerminationReason], ) -> str: + if job_status == JobStatus.PULLING: + return "pulling" # Currently, `retrying` is shown only for `no-capacity` events if ( status in [RunStatus.SUBMITTED, RunStatus.PENDING]