diff --git a/pkg/container_backend/legacy_base_image.go b/pkg/container_backend/legacy_base_image.go index a2e9aa8248..7b6a925bc4 100644 --- a/pkg/container_backend/legacy_base_image.go +++ b/pkg/container_backend/legacy_base_image.go @@ -57,6 +57,7 @@ func (i *legacyBaseImage) UnsetInfo() { func (i *legacyBaseImage) SetStageDescription(stageDesc *image.StageDescription) { i.stageDesc = stageDesc + i.SetInfo(stageDesc.Info) } func (i *legacyBaseImage) GetStageDescription() *image.StageDescription { diff --git a/pkg/storage/manager/storage_manager.go b/pkg/storage/manager/storage_manager.go index 2384e85f01..0c394f2938 100644 --- a/pkg/storage/manager/storage_manager.go +++ b/pkg/storage/manager/storage_manager.go @@ -466,6 +466,15 @@ func (m *StorageManager) FetchStage(ctx context.Context, containerBackend contai } } else { logboek.Context(ctx).Info().LogF("Cache repo image %s exists locally, will not perform fetch\n", stageImage.Name()) + + stageDesc, err := getStageDescription(ctx, m.ProjectName, *stageID, stagesStorage, nil, getStageDescriptionOptions{WithLocalManifestCache: true}) + if err != nil { + return nil, fmt.Errorf("error getting stage %s description from %s: %w", stageID.String(), m.FinalStagesStorage.String(), err) + } + if stageDesc == nil { + return nil, ErrStageNotFound + } + stageImage.SetStageDescription(stageDesc) } if err := lrumeta.CommonLRUImagesCache.AccessImage(ctx, stageImage.Name()); err != nil {