From 7e8eaf2a1d6fb3c8fc23ac3a269f8e253aeb292f Mon Sep 17 00:00:00 2001 From: Victor Skvortsov Date: Fri, 14 Mar 2025 14:37:36 +0500 Subject: [PATCH] Drop dstack logs --attach --- src/dstack/_internal/cli/commands/logs.py | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/src/dstack/_internal/cli/commands/logs.py b/src/dstack/_internal/cli/commands/logs.py index ffcf55101..d1c4885f9 100644 --- a/src/dstack/_internal/cli/commands/logs.py +++ b/src/dstack/_internal/cli/commands/logs.py @@ -1,6 +1,5 @@ import argparse import sys -from pathlib import Path from dstack._internal.cli.commands import APIBaseCommand from dstack._internal.cli.services.completion import RunNameCompleter @@ -19,19 +18,6 @@ def _register(self): self._parser.add_argument( "-d", "--diagnose", action="store_true", help="Show run diagnostic logs" ) - self._parser.add_argument( - "-a", - "--attach", - action="store_true", - help="Set up an SSH tunnel and print logs as they follow", - ) - self._parser.add_argument( - "--ssh-identity", - metavar="SSH_PRIVATE_KEY", - help="The private SSH key path for SSH tunneling", - type=Path, - dest="ssh_identity_file", - ) self._parser.add_argument( "--replica", help="The replica number. Defaults to 0.", @@ -51,14 +37,6 @@ def _command(self, args: argparse.Namespace): run = self.api.runs.get(args.run_name) if run is None: raise CLIError(f"Run {args.run_name} not found") - if not args.diagnose and args.attach: - if run.status.is_finished(): - raise CLIError(f"Run {args.run_name} is finished") - else: - logger.warning( - "`dstack logs --attach` is deprecated in favor of `dstack attach --logs`" - ) - run.attach(args.ssh_identity_file) logs = run.logs( diagnose=args.diagnose, replica_num=args.replica,