Skip to content

Commit 2487f02

Browse files
committed
[content-init] fix PVC not starting up from prebuild correctly
1 parent 7cc0171 commit 2487f02

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

components/content-service/pkg/layer/provider.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ func (s *Provider) GetContentLayer(ctx context.Context, owner, workspaceID strin
178178
return s.getSnapshotContentLayer(ctx, gis)
179179
}
180180
if pis := initializer.GetPrebuild(); pis != nil {
181-
l, manifest, err = s.getPrebuildContentLayer(ctx, pis)
181+
l, manifest, err = s.getPrebuildContentLayer(ctx, pis, false)
182182
if err != nil {
183183
log.WithError(err).WithFields(log.OWI(owner, workspaceID, "")).Warn("cannot initialize from prebuild - falling back to Git")
184184
span.LogKV("fallback-to-git", err.Error())
@@ -303,7 +303,7 @@ func (s *Provider) GetContentLayerPVC(ctx context.Context, owner, workspaceID st
303303
l = []Layer{*layer}
304304
return l, manifest, nil
305305
}
306-
l, manifest, err = s.getPrebuildContentLayer(ctx, pis)
306+
l, manifest, err = s.getPrebuildContentLayer(ctx, pis, true)
307307
if err != nil {
308308
log.WithError(err).WithFields(log.OWI(owner, workspaceID, "")).Warn("cannot initialize from prebuild - falling back to Git")
309309
span.LogKV("fallback-to-git", err.Error())
@@ -394,9 +394,10 @@ func (s *Provider) getSnapshotContentLayer(ctx context.Context, sp *csapi.Snapsh
394394
return l, manifest, nil
395395
}
396396

397-
func (s *Provider) getPrebuildContentLayer(ctx context.Context, pb *csapi.PrebuildInitializer) (l []Layer, manifest *csapi.WorkspaceContentManifest, err error) {
397+
func (s *Provider) getPrebuildContentLayer(ctx context.Context, pb *csapi.PrebuildInitializer, isPVC bool) (l []Layer, manifest *csapi.WorkspaceContentManifest, err error) {
398398
span, ctx := tracing.FromContext(ctx, "getPrebuildContentLayer")
399399
defer tracing.FinishSpan(span, &err)
400+
span.LogKV("isPVC", isPVC)
400401

401402
segs := strings.Split(pb.Prebuild.Snapshot, "@")
402403
if len(segs) != 2 {
@@ -447,7 +448,12 @@ func (s *Provider) getPrebuildContentLayer(ctx context.Context, pb *csapi.Prebui
447448
}
448449
}
449450

450-
layer, err := contentDescriptorToLayer(cdesc)
451+
var layer *Layer
452+
if isPVC {
453+
layer, err = contentDescriptorToLayerPVC(cdesc)
454+
} else {
455+
layer, err = contentDescriptorToLayer(cdesc)
456+
}
451457
if err != nil {
452458
return nil, nil, err
453459
}

0 commit comments

Comments
 (0)