From 0b711d616ab13e9bad2801db7b53d5ffeb6934dc Mon Sep 17 00:00:00 2001 From: Stefan Berger Date: Wed, 6 Mar 2019 12:22:56 -0500 Subject: [PATCH] Copy annotations around where necessary Make sure that the newly added annotations are copied around appropriately. Signed-off-by: Stefan Berger --- container_checkpoint_opts.go | 9 +++++---- diff.go | 14 ++++++++------ image_store.go | 14 ++++++++------ services/diff/local.go | 14 ++++++++------ services/images/helpers.go | 14 ++++++++------ services/tasks/local.go | 14 ++++++++------ task.go | 1 + task_opts.go | 7 ++++--- 8 files changed, 50 insertions(+), 37 deletions(-) diff --git a/container_checkpoint_opts.go b/container_checkpoint_opts.go index 7d261421e..510863681 100644 --- a/container_checkpoint_opts.go +++ b/container_checkpoint_opts.go @@ -70,10 +70,11 @@ func WithCheckpointTask(ctx context.Context, client *Client, c *containers.Conta for _, d := range task.Descriptors { platformSpec := platforms.DefaultSpec() index.Manifests = append(index.Manifests, imagespec.Descriptor{ - MediaType: d.MediaType, - Size: d.Size_, - Digest: d.Digest, - Platform: &platformSpec, + MediaType: d.MediaType, + Size: d.Size_, + Digest: d.Digest, + Platform: &platformSpec, + Annotations: d.Annotations, }) } // save copts diff --git a/diff.go b/diff.go index 8d1219e35..4d890ce2b 100644 --- a/diff.go +++ b/diff.go @@ -80,17 +80,19 @@ func (r *diffRemote) Compare(ctx context.Context, a, b []mount.Mount, opts ...di func toDescriptor(d *types.Descriptor) ocispec.Descriptor { return ocispec.Descriptor{ - MediaType: d.MediaType, - Digest: d.Digest, - Size: d.Size_, + MediaType: d.MediaType, + Digest: d.Digest, + Size: d.Size_, + Annotations: d.Annotations, } } func fromDescriptor(d ocispec.Descriptor) *types.Descriptor { return &types.Descriptor{ - MediaType: d.MediaType, - Digest: d.Digest, - Size_: d.Size, + MediaType: d.MediaType, + Digest: d.Digest, + Size_: d.Size, + Annotations: d.Annotations, } } diff --git a/image_store.go b/image_store.go index 3676bdada..fd79e8929 100644 --- a/image_store.go +++ b/image_store.go @@ -137,16 +137,18 @@ func imagesFromProto(imagespb []imagesapi.Image) []images.Image { func descFromProto(desc *types.Descriptor) ocispec.Descriptor { return ocispec.Descriptor{ - MediaType: desc.MediaType, - Size: desc.Size_, - Digest: desc.Digest, + MediaType: desc.MediaType, + Size: desc.Size_, + Digest: desc.Digest, + Annotations: desc.Annotations, } } func descToProto(desc *ocispec.Descriptor) types.Descriptor { return types.Descriptor{ - MediaType: desc.MediaType, - Size_: desc.Size, - Digest: desc.Digest, + MediaType: desc.MediaType, + Size_: desc.Size, + Digest: desc.Digest, + Annotations: desc.Annotations, } } diff --git a/services/diff/local.go b/services/diff/local.go index 0cb6222c5..7cf6c768e 100644 --- a/services/diff/local.go +++ b/services/diff/local.go @@ -164,16 +164,18 @@ func toMounts(apim []*types.Mount) []mount.Mount { func toDescriptor(d *types.Descriptor) ocispec.Descriptor { return ocispec.Descriptor{ - MediaType: d.MediaType, - Digest: d.Digest, - Size: d.Size_, + MediaType: d.MediaType, + Digest: d.Digest, + Size: d.Size_, + Annotations: d.Annotations, } } func fromDescriptor(d ocispec.Descriptor) *types.Descriptor { return &types.Descriptor{ - MediaType: d.MediaType, - Digest: d.Digest, - Size_: d.Size, + MediaType: d.MediaType, + Digest: d.Digest, + Size_: d.Size, + Annotations: d.Annotations, } } diff --git a/services/images/helpers.go b/services/images/helpers.go index 8ad0d117e..2d4ec76dc 100644 --- a/services/images/helpers.go +++ b/services/images/helpers.go @@ -55,16 +55,18 @@ func imageFromProto(imagepb *imagesapi.Image) images.Image { func descFromProto(desc *types.Descriptor) ocispec.Descriptor { return ocispec.Descriptor{ - MediaType: desc.MediaType, - Size: desc.Size_, - Digest: desc.Digest, + MediaType: desc.MediaType, + Size: desc.Size_, + Digest: desc.Digest, + Annotations: desc.Annotations, } } func descToProto(desc *ocispec.Descriptor) types.Descriptor { return types.Descriptor{ - MediaType: desc.MediaType, - Size_: desc.Size, - Digest: desc.Digest, + MediaType: desc.MediaType, + Size_: desc.Size, + Digest: desc.Digest, + Annotations: desc.Annotations, } } diff --git a/services/tasks/local.go b/services/tasks/local.go index ee7dc1bc9..08628b1c0 100644 --- a/services/tasks/local.go +++ b/services/tasks/local.go @@ -143,9 +143,10 @@ func (l *local) Create(ctx context.Context, r *api.CreateTaskRequest, _ ...grpc. return nil, fmt.Errorf("unsupported checkpoint type %q", r.Checkpoint.MediaType) } reader, err := l.store.ReaderAt(ctx, ocispec.Descriptor{ - MediaType: r.Checkpoint.MediaType, - Digest: r.Checkpoint.Digest, - Size: r.Checkpoint.Size_, + MediaType: r.Checkpoint.MediaType, + Digest: r.Checkpoint.Digest, + Size: r.Checkpoint.Size_, + Annotations: r.Checkpoint.Annotations, }) if err != nil { return nil, err @@ -624,9 +625,10 @@ func (l *local) writeContent(ctx context.Context, mediaType, ref string, r io.Re return nil, err } return &types.Descriptor{ - MediaType: mediaType, - Digest: writer.Digest(), - Size_: size, + MediaType: mediaType, + Digest: writer.Digest(), + Size_: size, + Annotations: make(map[string]string), }, nil } diff --git a/task.go b/task.go index 9deb66c7e..679480e53 100644 --- a/task.go +++ b/task.go @@ -567,6 +567,7 @@ func (t *task) checkpointTask(ctx context.Context, index *v1.Index, request *tas OS: goruntime.GOOS, Architecture: goruntime.GOARCH, }, + Annotations: d.Annotations, }) } return nil diff --git a/task_opts.go b/task_opts.go index 714a152c5..8e005ac69 100644 --- a/task_opts.go +++ b/task_opts.go @@ -64,9 +64,10 @@ func WithTaskCheckpoint(im Image) NewTaskOpts { for _, m := range index.Manifests { if m.MediaType == images.MediaTypeContainerd1Checkpoint { info.Checkpoint = &types.Descriptor{ - MediaType: m.MediaType, - Size_: m.Size, - Digest: m.Digest, + MediaType: m.MediaType, + Size_: m.Size, + Digest: m.Digest, + Annotations: m.Annotations, } return nil }