summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel J Walsh <dwalsh@redhat.com>2020-06-29 17:00:55 -0400
committerDaniel J Walsh <dwalsh@redhat.com>2020-06-30 13:59:30 -0400
commit50157b2d3366ec52bbbbd468ed3d1633ed95bd24 (patch)
tree5b550b28adeeb48bc4cb5aea7c17e69531e6b50a
parent6fbd1570f86fc2509b6842c28dc2bc2e75e696d2 (diff)
downloadpodman-50157b2d3366ec52bbbbd468ed3d1633ed95bd24.tar.gz
podman-50157b2d3366ec52bbbbd468ed3d1633ed95bd24.tar.bz2
podman-50157b2d3366ec52bbbbd468ed3d1633ed95bd24.zip
Created timestamp returned by imagelist should be in unix format
In the API, we are currently returning the image time of creation as a string, in time.Time format. The API is for a 64 bit integer representing Unix time. Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
-rw-r--r--cmd/podman/images/list.go12
-rw-r--r--pkg/api/handlers/libpod/images.go1
-rw-r--r--pkg/api/handlers/types.go2
-rw-r--r--pkg/domain/entities/images.go2
-rw-r--r--pkg/domain/infra/abi/images_list.go2
5 files changed, 9 insertions, 10 deletions
diff --git a/cmd/podman/images/list.go b/cmd/podman/images/list.go
index de7cca40d..53be82dda 100644
--- a/cmd/podman/images/list.go
+++ b/cmd/podman/images/list.go
@@ -128,7 +128,7 @@ func writeID(imgs []imageReporter) error {
func writeJSON(images []imageReporter) error {
type image struct {
entities.ImageSummary
- Created string
+ Created int64
CreatedAt string
}
@@ -136,8 +136,8 @@ func writeJSON(images []imageReporter) error {
for _, e := range images {
var h image
h.ImageSummary = e.ImageSummary
- h.Created = units.HumanDuration(time.Since(e.ImageSummary.Created)) + " ago"
- h.CreatedAt = e.ImageSummary.Created.Format(time.RFC3339Nano)
+ h.Created = e.ImageSummary.Created
+ h.CreatedAt = e.created().Format(time.RFC3339Nano)
h.RepoTags = nil
imgs = append(imgs, h)
@@ -284,11 +284,11 @@ func (i imageReporter) ID() string {
}
func (i imageReporter) Created() string {
- return units.HumanDuration(time.Since(i.ImageSummary.Created)) + " ago"
+ return units.HumanDuration(time.Since(i.created())) + " ago"
}
func (i imageReporter) created() time.Time {
- return i.ImageSummary.Created
+ return time.Unix(i.ImageSummary.Created, 0).UTC()
}
func (i imageReporter) Size() string {
@@ -302,7 +302,7 @@ func (i imageReporter) History() string {
}
func (i imageReporter) CreatedAt() string {
- return i.ImageSummary.Created.String()
+ return i.created().String()
}
func (i imageReporter) CreatedSince() string {
diff --git a/pkg/api/handlers/libpod/images.go b/pkg/api/handlers/libpod/images.go
index 54e202103..ebcb1f460 100644
--- a/pkg/api/handlers/libpod/images.go
+++ b/pkg/api/handlers/libpod/images.go
@@ -112,7 +112,6 @@ func GetImages(w http.ResponseWriter, r *http.Request) {
return
}
// libpod has additional fields that we need to populate.
- is.Created = img.Created()
is.ReadOnly = img.IsReadOnly()
summaries[j] = is
}
diff --git a/pkg/api/handlers/types.go b/pkg/api/handlers/types.go
index c1e84ab5a..72e1a756e 100644
--- a/pkg/api/handlers/types.go
+++ b/pkg/api/handlers/types.go
@@ -221,7 +221,7 @@ func ImageToImageSummary(l *libpodImage.Image) (*entities.ImageSummary, error) {
ID: l.ID(),
ParentId: l.Parent,
RepoTags: repoTags,
- Created: l.Created(),
+ Created: l.Created().Unix(),
Size: int64(*size),
SharedSize: 0,
VirtualSize: l.VirtualSize,
diff --git a/pkg/domain/entities/images.go b/pkg/domain/entities/images.go
index 81f52fef5..27f887e8e 100644
--- a/pkg/domain/entities/images.go
+++ b/pkg/domain/entities/images.go
@@ -53,7 +53,7 @@ type ImageSummary struct {
ID string `json:"Id"`
ParentId string `json:",omitempty"` // nolint
RepoTags []string `json:",omitempty"`
- Created time.Time `json:",omitempty"`
+ Created int64 `json:",omitempty"`
Size int64 `json:",omitempty"`
SharedSize int `json:",omitempty"`
VirtualSize int64 `json:",omitempty"`
diff --git a/pkg/domain/infra/abi/images_list.go b/pkg/domain/infra/abi/images_list.go
index 98c041c15..92ab0a998 100644
--- a/pkg/domain/infra/abi/images_list.go
+++ b/pkg/domain/infra/abi/images_list.go
@@ -52,7 +52,7 @@ func (ir *ImageEngine) List(ctx context.Context, opts entities.ImageListOptions)
ID: img.ID(),
ConfigDigest: string(img.ConfigDigest),
- Created: img.Created(),
+ Created: img.Created().Unix(),
Dangling: img.Dangling(),
Digest: string(img.Digest()),
Digests: digests,