From 48c0e962dd44ef660512e6d2a65d7c8bf59ab571 Mon Sep 17 00:00:00 2001 From: jvstme <36324149+jvstme@users.noreply.github.com> Date: Fri, 24 Jan 2025 12:04:22 +0000 Subject: [PATCH] Fix Internal Server Error in services w/o gateways (#2225) --- src/dstack/_internal/server/services/proxy/repo.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/dstack/_internal/server/services/proxy/repo.py b/src/dstack/_internal/server/services/proxy/repo.py index 3d9113c60..4d6864832 100644 --- a/src/dstack/_internal/server/services/proxy/repo.py +++ b/src/dstack/_internal/server/services/proxy/repo.py @@ -5,6 +5,7 @@ from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy.orm import joinedload +import dstack._internal.server.services.jobs as jobs_services from dstack._internal.core.consts import DSTACK_RUNNER_SSH_PORT from dstack._internal.core.models.common import is_core_model_instance from dstack._internal.core.models.configurations import ServiceConfiguration @@ -73,6 +74,10 @@ async def get_service(self, project_name: str, run_name: str) -> Optional[Servic else: ssh_destination = "root@localhost" # TODO(#1535): support non-root images properly ssh_port = DSTACK_RUNNER_SSH_PORT + job_submission = jobs_services.job_model_to_job_submission(job) + jrd = job_submission.job_runtime_data + if jrd is not None and jrd.ports is not None: + ssh_port = jrd.ports.get(ssh_port, ssh_port) ssh_proxy = SSHConnectionParams( hostname=jpd.hostname, username=jpd.username,