diff --git a/src/dstack/_internal/cli/commands/server.py b/src/dstack/_internal/cli/commands/server.py index c233634f3..99229f6a3 100644 --- a/src/dstack/_internal/cli/commands/server.py +++ b/src/dstack/_internal/cli/commands/server.py @@ -32,7 +32,14 @@ def _register(self): help="Bind socket to this port. Defaults to 3000.", default=os.getenv("DSTACK_SERVER_PORT", 3000), ) - self._parser.add_argument( + group = self._parser.add_mutually_exclusive_group() + group.add_argument( + "-d", + "--debug", + help="Enable debug logging level (same as [code]-l debug[/code])", + action="store_true", + ) + group.add_argument( "-l", "--log-level", type=str, @@ -64,7 +71,7 @@ def _command(self, args: argparse.Namespace): os.environ["DSTACK_SERVER_HOST"] = args.host os.environ["DSTACK_SERVER_PORT"] = str(args.port) - os.environ["DSTACK_SERVER_LOG_LEVEL"] = args.log_level + os.environ["DSTACK_SERVER_LOG_LEVEL"] = "DEBUG" if args.debug else args.log_level if args.yes: os.environ["DSTACK_UPDATE_DEFAULT_PROJECT"] = "1" if args.no: diff --git a/src/dstack/_internal/server/app.py b/src/dstack/_internal/server/app.py index d0e2b9398..d9b906bc6 100644 --- a/src/dstack/_internal/server/app.py +++ b/src/dstack/_internal/server/app.py @@ -161,7 +161,12 @@ async def lifespan(app: FastAPI): logger.info("Background processing is disabled") PROBES_SCHEDULER.start() dstack_version = DSTACK_VERSION if DSTACK_VERSION else "(no version)" - logger.info( + job_network_mode_log = ( + logger.info + if settings.JOB_NETWORK_MODE != settings.DEFAULT_JOB_NETWORK_MODE + else logger.debug + ) + job_network_mode_log( "Job network mode: %s (%d)", settings.JOB_NETWORK_MODE.name, settings.JOB_NETWORK_MODE.value, diff --git a/src/dstack/_internal/server/services/plugins.py b/src/dstack/_internal/server/services/plugins.py index 933ed4305..d98c32bf6 100644 --- a/src/dstack/_internal/server/services/plugins.py +++ b/src/dstack/_internal/server/services/plugins.py @@ -74,7 +74,7 @@ def load_plugins(enabled_plugins: list[str]): for name, import_path in _BUILTIN_PLUGINS.items(): if name not in enabled_plugins: - logger.info( + logger.debug( ("Found not enabled builtin plugin %s. Plugin will not be loaded."), name, ) diff --git a/src/dstack/_internal/server/settings.py b/src/dstack/_internal/server/settings.py index d9aa6dd4d..0730db7f4 100644 --- a/src/dstack/_internal/server/settings.py +++ b/src/dstack/_internal/server/settings.py @@ -153,9 +153,12 @@ class JobNetworkMode(Enum): FORCED_BRIDGE = 3 +DEFAULT_JOB_NETWORK_MODE = JobNetworkMode.HOST_WHEN_POSSIBLE + + def _get_job_network_mode() -> JobNetworkMode: # Current default - mode = JobNetworkMode.HOST_WHEN_POSSIBLE + mode = DEFAULT_JOB_NETWORK_MODE bridge_var = "DSTACK_FORCE_BRIDGE_NETWORK" force_bridge = environ.get_bool(bridge_var) mode_var = "DSTACK_SERVER_JOB_NETWORK_MODE"