|
@@ -87,14 +87,14 @@ func (i *ImageService) CommitImage(ctx context.Context, cc backend.CommitConfig)
|
|
}
|
|
}
|
|
|
|
|
|
layers := append(manifest.Layers, diffLayerDesc)
|
|
layers := append(manifest.Layers, diffLayerDesc)
|
|
- commitManifestDesc, configDigest, err := writeContentsForImage(ctx, i.snapshotter, cs, imageConfig, layers)
|
|
|
|
|
|
+ commitManifestDesc, err := writeContentsForImage(ctx, i.snapshotter, cs, imageConfig, layers)
|
|
if err != nil {
|
|
if err != nil {
|
|
return "", err
|
|
return "", err
|
|
}
|
|
}
|
|
|
|
|
|
// image create
|
|
// image create
|
|
img := images.Image{
|
|
img := images.Image{
|
|
- Name: danglingImageName(configDigest.Digest()),
|
|
|
|
|
|
+ Name: danglingImageName(commitManifestDesc.Digest),
|
|
Target: commitManifestDesc,
|
|
Target: commitManifestDesc,
|
|
CreatedAt: time.Now(),
|
|
CreatedAt: time.Now(),
|
|
}
|
|
}
|
|
@@ -156,10 +156,10 @@ func generateCommitImageConfig(ctx context.Context, container *containerapi.Conf
|
|
}
|
|
}
|
|
|
|
|
|
// writeContentsForImage will commit oci image config and manifest into containerd's content store.
|
|
// writeContentsForImage will commit oci image config and manifest into containerd's content store.
|
|
-func writeContentsForImage(ctx context.Context, snName string, cs content.Store, newConfig ocispec.Image, layers []ocispec.Descriptor) (ocispec.Descriptor, image.ID, error) {
|
|
|
|
|
|
+func writeContentsForImage(ctx context.Context, snName string, cs content.Store, newConfig ocispec.Image, layers []ocispec.Descriptor) (ocispec.Descriptor, error) {
|
|
newConfigJSON, err := json.Marshal(newConfig)
|
|
newConfigJSON, err := json.Marshal(newConfig)
|
|
if err != nil {
|
|
if err != nil {
|
|
- return ocispec.Descriptor{}, "", err
|
|
|
|
|
|
+ return ocispec.Descriptor{}, err
|
|
}
|
|
}
|
|
|
|
|
|
configDesc := ocispec.Descriptor{
|
|
configDesc := ocispec.Descriptor{
|
|
@@ -184,7 +184,7 @@ func writeContentsForImage(ctx context.Context, snName string, cs content.Store,
|
|
|
|
|
|
newMfstJSON, err := json.MarshalIndent(newMfst, "", " ")
|
|
newMfstJSON, err := json.MarshalIndent(newMfst, "", " ")
|
|
if err != nil {
|
|
if err != nil {
|
|
- return ocispec.Descriptor{}, "", err
|
|
|
|
|
|
+ return ocispec.Descriptor{}, err
|
|
}
|
|
}
|
|
|
|
|
|
newMfstDesc := ocispec.Descriptor{
|
|
newMfstDesc := ocispec.Descriptor{
|
|
@@ -203,7 +203,7 @@ func writeContentsForImage(ctx context.Context, snName string, cs content.Store,
|
|
|
|
|
|
err = content.WriteBlob(ctx, cs, newMfstDesc.Digest.String(), bytes.NewReader(newMfstJSON), newMfstDesc, content.WithLabels(labels))
|
|
err = content.WriteBlob(ctx, cs, newMfstDesc.Digest.String(), bytes.NewReader(newMfstJSON), newMfstDesc, content.WithLabels(labels))
|
|
if err != nil {
|
|
if err != nil {
|
|
- return ocispec.Descriptor{}, "", err
|
|
|
|
|
|
+ return ocispec.Descriptor{}, err
|
|
}
|
|
}
|
|
|
|
|
|
// config should reference to snapshotter
|
|
// config should reference to snapshotter
|
|
@@ -212,10 +212,10 @@ func writeContentsForImage(ctx context.Context, snName string, cs content.Store,
|
|
})
|
|
})
|
|
err = content.WriteBlob(ctx, cs, configDesc.Digest.String(), bytes.NewReader(newConfigJSON), configDesc, labelOpt)
|
|
err = content.WriteBlob(ctx, cs, configDesc.Digest.String(), bytes.NewReader(newConfigJSON), configDesc, labelOpt)
|
|
if err != nil {
|
|
if err != nil {
|
|
- return ocispec.Descriptor{}, "", err
|
|
|
|
|
|
+ return ocispec.Descriptor{}, err
|
|
}
|
|
}
|
|
|
|
|
|
- return newMfstDesc, image.ID(configDesc.Digest), nil
|
|
|
|
|
|
+ return newMfstDesc, nil
|
|
}
|
|
}
|
|
|
|
|
|
// createDiff creates a layer diff into containerd's content store.
|
|
// createDiff creates a layer diff into containerd's content store.
|