From 142481f0d8ad32403ebbed8f99083fb3ac771ddb Mon Sep 17 00:00:00 2001 From: DCCONSTRUCTIONS Date: Mon, 31 Aug 2026 19:52:34 +0300 Subject: [PATCH] fix(lab): probe optional adapter image safely --- .../Install-LabV1ComponentAdapterImages.ps1 | 12 +++++++++--- .../test_lab_v1_component_adapter_image_installer.py | 2 ++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/experiments/perception/worker/observatory_portable/Install-LabV1ComponentAdapterImages.ps1 b/experiments/perception/worker/observatory_portable/Install-LabV1ComponentAdapterImages.ps1 index 56f928d..854ad5a 100644 --- a/experiments/perception/worker/observatory_portable/Install-LabV1ComponentAdapterImages.ps1 +++ b/experiments/perception/worker/observatory_portable/Install-LabV1ComponentAdapterImages.ps1 @@ -132,9 +132,15 @@ function Install-ComponentImage { } $shortRevision = $SourceRevision.Substring(0, 12) $tag = "ndc/mission-core-lab-v1-$Component-adapter:$shortRevision" - $existing = docker image inspect $tag 2>$null - if ($LASTEXITCODE -eq 0) { - $image = @($existing | ConvertFrom-Json)[0] + $existingId = docker image ls ` + --quiet ` + --no-trunc ` + --filter "reference=$tag" + if ($LASTEXITCODE -ne 0) { + throw "LAB V1 component image lookup failed" + } + if ($existingId) { + $image = Get-ImageInspection $tag $labels = $image.Config.Labels if ( [string]$labels."org.opencontainers.image.revision" -cne $SourceRevision -or diff --git a/tests/test_lab_v1_component_adapter_image_installer.py b/tests/test_lab_v1_component_adapter_image_installer.py index 6e67d0d..94f97f1 100644 --- a/tests/test_lab_v1_component_adapter_image_installer.py +++ b/tests/test_lab_v1_component_adapter_image_installer.py @@ -19,6 +19,8 @@ def test_component_image_installer_is_exact_local_and_offline() -> None: assert "--security-opt no-new-privileges" in script assert "target=/nodedc-build-source,readonly" in script assert "Get-FileSha256" in script + assert 'docker image ls `' in script + assert '--filter "reference=$tag"' in script assert "Invoke-InstalledImageSmoke" in script assert "docker commit @changes $containerId $tag" in script assert "docker rm -f $containerId" in script