From e0d056f41830afcf596bc12084b2d2412fc431fa Mon Sep 17 00:00:00 2001 From: Tonis Tiigi Date: Fri, 5 Jan 2018 10:51:32 -0800 Subject: [PATCH] exported: fix image creation time on export Signed-off-by: Tonis Tiigi --- client/client_test.go | 2 ++ exporter/containerimage/writer.go | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/client/client_test.go b/client/client_test.go index ad5ba779..b5550309 100644 --- a/client/client_test.go +++ b/client/client_test.go @@ -455,6 +455,8 @@ func testBuildPushAndValidate(t *testing.T, sb integration.Sandbox) { require.NotEqual(t, "", ociimg.Config.WorkingDir) require.Equal(t, "layers", ociimg.RootFS.Type) require.Equal(t, 2, len(ociimg.RootFS.DiffIDs)) + require.NotNil(t, ociimg.Created) + require.True(t, time.Since(*ociimg.Created) < 2*time.Minute) require.Condition(t, func() bool { for _, env := range ociimg.Config.Env { if strings.HasPrefix(env, "PATH=") { diff --git a/exporter/containerimage/writer.go b/exporter/containerimage/writer.go index 0f338d39..2ad57108 100644 --- a/exporter/containerimage/writer.go +++ b/exporter/containerimage/writer.go @@ -171,6 +171,13 @@ func patchImageConfig(dt []byte, dps []blobs.DiffPair, history []ocispec.History } m["history"] = dt + now := time.Now() + dt, err = json.Marshal(&now) + if err != nil { + return nil, errors.Wrap(err, "failed to marshal creation time") + } + m["created"] = dt + dt, err = json.Marshal(m) return dt, errors.Wrap(err, "failed to marshal config after patch") }