Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions src/vibe_core/tests/test_local_service_images.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import errno
import json
import os
import re
import socket
import subprocess
import threading
Expand Down Expand Up @@ -289,6 +290,32 @@ def capture_destroy(k3d: K3d, **kwargs: Any) -> bool:
assert captured["data_path"] == str(storage_path / local.DATA_SUFFIX)


def test_destroy_old_registry_removes_legacy_container_only(
monkeypatch: pytest.MonkeyPatch,
):
docker = Mock()
docker.get.side_effect = ("legacy-id", "")
monkeypatch.setattr(local, "DockerWrapper", Mock(return_value=docker))

assert local.destroy_old_registry(Mock(spec=OSArtifacts))
assert docker.get.call_args_list == [
call(f"^/{re.escape('farmvibes-ai-registry')}$"),
call(f"^/{re.escape('k3d-farmvibes-ai-registry.localhost')}$"),
]
docker.rm.assert_called_once_with("farmvibes-ai-registry")


def test_destroy_old_registry_removes_modern_container_only(
monkeypatch: pytest.MonkeyPatch,
):
docker = Mock()
docker.get.side_effect = ("", "modern-id")
monkeypatch.setattr(local, "DockerWrapper", Mock(return_value=docker))

assert local.destroy_old_registry(Mock(spec=OSArtifacts))
docker.rm.assert_called_once_with("k3d-farmvibes-ai-registry.localhost")


def test_pending_setup_preserves_checkpointed_options(
monkeypatch: pytest.MonkeyPatch, tmp_path: Path
):
Expand Down
16 changes: 8 additions & 8 deletions src/vibe_core/vibe_core/cli/local.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import hashlib
import json
import os
import re
import secrets
import shutil
import tempfile
Expand Down Expand Up @@ -1080,16 +1081,15 @@ def restore_redis_data(
return True


def destroy_old_registry(
os_artifacts: OSArtifacts, cluster_name: str = OLD_DEFAULT_CLUSTER_NAME
) -> bool:
container_name = f"k3d-{cluster_name}-registry.localhost"
def destroy_old_registry(os_artifacts: OSArtifacts) -> bool:
docker = DockerWrapper(os_artifacts)
try:
result = docker.get(container_name)
if not result:
return True
docker.rm(container_name)
for container_name in (
f"{OLD_DEFAULT_CLUSTER_NAME}-registry",
f"k3d-{OLD_DEFAULT_CLUSTER_NAME}-registry.localhost",
):
if docker.get(f"^/{re.escape(container_name)}$"):
docker.rm(container_name)
return True
except Exception as e:
log(f"Unable to remove old registry container: {e}", level="warning")
Expand Down
Loading