Refactor access card handling and update CLI output for tunnel operations

- Integrated `print_access_card` functionality into the `up` command for both tunneled and non-tunneled scenarios.
- Removed the deprecated `print_mcp_snippet` function from the session management flow.
- Updated the `tunnel_forwards` function to streamline port handling for LLM runtimes.
- Enhanced test cases to reflect changes in access card printing and MCP snippet logging.
This commit is contained in:
Leonid Pershin
2026-08-21 05:34:09 +03:00
parent 2005b00175
commit 82e36129cd
8 changed files with 258 additions and 56 deletions
+9 -25
View File
@@ -15,7 +15,7 @@ from gpu_rent.cloud import (
)
from gpu_rent.config import Config
from gpu_rent.errors import CloudError, GpuRentError
from gpu_rent.llm_runtime import llm_local_port, llm_remote_port, normalize_runtime
from gpu_rent.llm_runtime import normalize_runtime
from gpu_rent.os_client import connect
from gpu_rent.ssh_ops import wait_ssh
from gpu_rent.state import load_state, save_state, utc_now
@@ -75,7 +75,6 @@ def tunnel_forwards(cfg: Config) -> list[tuple[int, int]]:
"""List of (local_port, remote_port). SwarmUI always; LLM if configured."""
pairs = [(cfg.swarmui_local_port, 7801)]
runtime = normalize_runtime(cfg.llm_runtime)
# Prefer state notes if provision recorded a different runtime this session.
state = load_state()
noted = (state.notes or {}).get("llm_runtime")
if noted:
@@ -83,17 +82,10 @@ def tunnel_forwards(cfg: Config) -> list[tuple[int, int]]:
runtime = normalize_runtime(str(noted))
except ValueError:
pass
remote = llm_remote_port(runtime)
local = llm_local_port(cfg) if runtime != "none" else None
# llm_local_port uses cfg.llm_runtime — override by mutating check:
if runtime == "ollama":
local = cfg.ollama_local_port
remote = 11434
pairs.append((cfg.ollama_local_port, 11434))
elif runtime == "llamacpp":
local = cfg.llamacpp_local_port
remote = 8080
if local and remote:
pairs.append((local, remote))
pairs.append((cfg.llamacpp_local_port, 8080))
return pairs
@@ -194,23 +186,15 @@ def run_tunnel(
server = _start_forwarder(cfg, current_host, forwards)
swarm_url = f"http://127.0.0.1:{cfg.swarmui_local_port}"
log(f"UI {swarm_url}")
log(f"API {swarm_url}/API/")
log(f"MCP {swarm_url}/mcp")
runtime = normalize_runtime(cfg.llm_runtime)
state = load_state()
if (state.notes or {}).get("llm_runtime"):
try:
runtime = normalize_runtime(str(state.notes["llm_runtime"]))
except ValueError:
pass
if runtime == "ollama":
log(f"Ollama API http://127.0.0.1:{cfg.ollama_local_port} (OLLAMA_HOST=…)")
elif runtime == "llamacpp":
log(f"llama.cpp http://127.0.0.1:{cfg.llamacpp_local_port}")
from gpu_rent.access_card import print_access_card
print_access_card(cfg, tunneled=True, host=current_host)
if open_browser:
webbrowser.open(swarm_url)
state = load_state()
state.phase = "ready_tunneled"
save_state(state)