Enhance logging functionality in CLI and tunnel operations. Updated gpu-rent logs to provide a complete journal output, including cloud-init logs by default. Added log digest printing for better visibility during VM operations, especially on failure scenarios. Improved error handling and added tests for new log digest features.

This commit is contained in:
Leonid Pershin
2026-08-23 05:08:05 +03:00
parent d06b4f4fdc
commit ac0797530d
7 changed files with 326 additions and 47 deletions
+31
View File
@@ -15,11 +15,42 @@ def test_stop_after_failed_up_calls_cmd_stop(monkeypatch):
monkeypatch.setattr("gpu_rent.cli.ok", lambda *_a, **_k: None)
monkeypatch.setattr("gpu_rent.cli.err", lambda *_a, **_k: None)
monkeypatch.setattr("gpu_rent.cli.log", lambda *_a, **_k: None)
monkeypatch.setattr(
"gpu_rent.state.load_state",
lambda: SimpleNamespace(floating_ip=None),
)
_stop_after_failed_up(SimpleNamespace(), RuntimeError("boom"))
assert calls == [{"no_pull": True, "destroy_disks": False}]
def test_stop_after_failed_up_prints_digest_when_fip(monkeypatch):
calls: list[dict] = []
digests: list[str] = []
def fake_stop(cfg, *, no_pull=False, log=None, destroy_disks=False):
calls.append({"no_pull": no_pull})
return SimpleNamespace()
monkeypatch.setattr("gpu_rent.cli.cmd_stop", fake_stop)
monkeypatch.setattr("gpu_rent.cli.warn", lambda *_a, **_k: None)
monkeypatch.setattr("gpu_rent.cli.ok", lambda *_a, **_k: None)
monkeypatch.setattr("gpu_rent.cli.err", lambda *_a, **_k: None)
monkeypatch.setattr("gpu_rent.cli.log", lambda *_a, **_k: None)
monkeypatch.setattr(
"gpu_rent.state.load_state",
lambda: SimpleNamespace(floating_ip="10.0.0.1"),
)
monkeypatch.setattr(
"gpu_rent.vm_logs.print_log_digest",
lambda cfg, host, **kw: digests.append(host),
)
_stop_after_failed_up(SimpleNamespace(enable_swarmui=True, llm_runtime="none"), RuntimeError("boom"))
assert digests == ["10.0.0.1"]
assert calls == [{"no_pull": True}]
def test_up_stop_on_fail_default_true(monkeypatch, tmp_path):
monkeypatch.setenv("HOME", str(tmp_path))
monkeypatch.setenv("USERPROFILE", str(tmp_path))