From 6fa9a0b2df67d1af62fd8c23ca2079217b939fba Mon Sep 17 00:00:00 2001 From: Stephen J Day Date: Tue, 11 Jul 2017 12:06:29 -0700 Subject: [PATCH] metadata: preserve createdat on update Signed-off-by: Stephen J Day --- metadata/containers.go | 2 ++ metadata/images.go | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/metadata/containers.go b/metadata/containers.go index 095ab9a1d..a951066ba 100644 --- a/metadata/containers.go +++ b/metadata/containers.go @@ -140,6 +140,7 @@ func (s *containerStore) Update(ctx context.Context, container containers.Contai if err := readContainer(&updated, cbkt); err != nil { return updated, errors.Wrapf(err, "failed to read container from bucket") } + createdat := updated.CreatedAt updated.ID = container.ID // apply the field mask. If you update this code, you better follow the @@ -178,6 +179,7 @@ func (s *containerStore) Update(ctx context.Context, container containers.Contai updated = container } + updated.CreatedAt = createdat updated.UpdatedAt = time.Now().UTC() if err := writeContainer(cbkt, &updated); err != nil { return containers.Container{}, errors.Wrap(err, "failed to write container") diff --git a/metadata/images.go b/metadata/images.go index 47fc4c167..97e6cc2af 100644 --- a/metadata/images.go +++ b/metadata/images.go @@ -136,6 +136,7 @@ func (s *imageStore) Update(ctx context.Context, image images.Image, fieldpaths if err := readImage(&updated, ibkt); err != nil { return errors.Wrapf(err, "image %q", image.Name) } + createdat := updated.CreatedAt updated.Name = image.Name if len(fieldpaths) > 0 { @@ -168,7 +169,7 @@ func (s *imageStore) Update(ctx context.Context, image images.Image, fieldpaths updated = image } - // TODO(stevvooe): Should only mark as updated if we have actual changes. + updated.CreatedAt = createdat updated.UpdatedAt = time.Now().UTC() return writeImage(ibkt, &updated) })