From 17171aecf449c0f0823d7843242d735caaad7739 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Sat, 16 May 2020 08:50:58 -0400 Subject: Display human build date in podman info Currently we are displaying the Seconds since EPOCH this will change to displaying date, similar to `podman version` Signed-off-by: Daniel J Walsh --- cmd/podman/system/version.go | 7 +- docs/source/markdown/podman-info.1.md | 294 ++++++++++++++++++++++------------ libpod/define/version.go | 3 + 3 files changed, 193 insertions(+), 111 deletions(-) diff --git a/cmd/podman/system/version.go b/cmd/podman/system/version.go index 50bd81368..b7fa289a5 100644 --- a/cmd/podman/system/version.go +++ b/cmd/podman/system/version.go @@ -6,7 +6,6 @@ import ( "os" "strings" "text/tabwriter" - "time" "github.com/containers/libpod/cmd/podman/registry" "github.com/containers/libpod/cmd/podman/validate" @@ -79,10 +78,6 @@ func formatVersion(writer io.Writer, version *define.Version) { if version.GitCommit != "" { fmt.Fprintf(writer, "Git Commit:\t%s\n", version.GitCommit) } - // Prints out the build time in readable format - if version.Built != 0 { - fmt.Fprintf(writer, "Built:\t%s\n", time.Unix(version.Built, 0).Format(time.ANSIC)) - } - + fmt.Fprintf(writer, "Built:\t%s\n", version.BuiltTime) fmt.Fprintf(writer, "OS/Arch:\t%s\n", version.OsArch) } diff --git a/docs/source/markdown/podman-info.1.md b/docs/source/markdown/podman-info.1.md index d9da4c3f8..a3f311ce4 100644 --- a/docs/source/markdown/podman-info.1.md +++ b/docs/source/markdown/podman-info.1.md @@ -30,128 +30,212 @@ Run podman info with plain text response: ``` $ podman info host: - BuildahVersion: 1.4-dev - Conmon: - package: Unknown - path: /usr/libexec/podman/conmon - version: 'conmon version 1.12.0-dev, commit: d724f3d54ad2d95b6de741085d4990190ebfd7ff' - Distribution: - distribution: fedora - version: "28" - MemFree: 1271083008 - MemTotal: 33074233344 - OCIRuntime: - package: runc-1.0.0-51.dev.gitfdd8055.fc28.x86_64 - path: /usr/bin/runc - version: 'runc version spec: 1.0.0' - SwapFree: 34309664768 - SwapTotal: 34359734272 arch: amd64 + buildahVersion: 1.15.0 + cgroupVersion: v1 + conmon: + package: conmon-2.0.16-2.fc32.x86_64 + path: /usr/bin/conmon + version: 'conmon version 2.0.16, commit: 1044176f7dd177c100779d1c63931d6022e419bd' cpus: 8 + distribution: + distribution: fedora + version: "32" + eventLogger: file hostname: localhost.localdomain - kernel: 4.18.7-200.fc28.x86_64 + idMappings: + gidmap: + - container_id: 0 + host_id: 3267 + size: 1 + - container_id: 1 + host_id: 100000 + size: 65536 + uidmap: + - container_id: 0 + host_id: 3267 + size: 1 + - container_id: 1 + host_id: 100000 + size: 65536 + kernel: 5.6.11-300.fc32.x86_64 + linkmode: dynamic + memFree: 1401929728 + memTotal: 16416161792 + ociRuntime: + name: runc + package: containerd.io-1.2.10-3.2.fc31.x86_64 + path: /usr/bin/runc + version: |- + runc version 1.0.0-rc8+dev + commit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657 + spec: 1.0.1-dev os: linux - uptime: 218h 49m 33.66s (Approximately 9.08 days) + rootless: true + slirp4netns: + executable: /bin/slirp4netns + package: slirp4netns-1.0.0-1.fc32.x86_64 + version: |- + slirp4netns version 1.0.0 + commit: a3be729152a33e692cd28b52f664defbf2e7810a + libslirp: 4.2.0 + swapFree: 8291610624 + swapTotal: 8296329216 + uptime: 52h 29m 39.78s (Approximately 2.17 days) registries: - docker.io: - Blocked: true - Insecure: true - Location: docker.io - MirrorByDigestOnly: false - Mirrors: - - Insecure: true - Location: example2.io/example/ubi8-minimal - Prefix: docker.io - redhat.com: - Blocked: false - Insecure: false - Location: registry.access.redhat.com/ubi8 - MirrorByDigestOnly: true - Mirrors: - - Insecure: false - Location: example.io/example/ubi8-minimal - - Insecure: true - Location: example3.io/example/ubi8-minimal - Prefix: redhat.com + search: + - registry.fedoraproject.org + - registry.access.redhat.com + - registry.centos.org + - docker.io store: - ConfigFile: /etc/containers/storage.conf - ContainerStore: - number: 37 - GraphDriverName: overlay - GraphOptions: - - overlay.mountopt=nodev - - overlay.override_kernel_check=true - GraphRoot: /var/lib/containers/storage - GraphStatus: + configFile: /home/dwalsh/.config/containers/storage.conf + containerStore: + number: 2 + paused: 0 + running: 0 + stopped: 2 + graphDriverName: overlay + graphOptions: + overlay.mount_program: + Executable: /home/dwalsh/bin/fuse-overlayfs + Package: Unknown + Version: |- + fusermount3 version: 3.9.1 + fuse-overlayfs: version 0.7.2 + FUSE library version 3.9.1 + using FUSE kernel interface version 7.31 + graphRoot: /home/dwalsh/.local/share/containers/storage + graphStatus: Backing Filesystem: extfs - Native Overlay Diff: "true" + Native Overlay Diff: "false" Supports d_type: "true" - ImageStore: - number: 17 - RunRoot: /var/run/containers/storage - + Using metacopy: "false" + imageStore: + number: 7 + runRoot: /run/user/3267/containers + volumePath: /home/dwalsh/.local/share/containers/storage/volumes +version: + Built: 1589899246 + BuiltTime: Tue May 19 10:40:46 2020 + GitCommit: c3678ce3289f4195f3f16802411e795c6a587c9f-dirty + GoVersion: go1.14.2 + OsArch: linux/amd64 + RemoteAPIVersion: 1 + Version: 2.0.0 ``` Run podman info with JSON formatted response: ``` { - "host": { - "BuildahVersion": "1.4-dev", - "Conmon": { - "package": "Unknown", - "path": "/usr/libexec/podman/conmon", - "version": "conmon version 1.12.0-dev, commit: d724f3d54ad2d95b6de741085d4990190ebfd7ff" - }, - "Distribution": { - "distribution": "fedora", - "version": "28" + "host": { + "arch": "amd64", + "buildahVersion": "1.15.0", + "cgroupVersion": "v1", + "conmon": { + "package": "conmon-2.0.16-2.fc32.x86_64", + "path": "/usr/bin/conmon", + "version": "conmon version 2.0.16, commit: 1044176f7dd177c100779d1c63931d6022e419bd" + }, + "cpus": 8, + "distribution": { + "distribution": "fedora", + "version": "32" + }, + "eventLogger": "file", + "hostname": "localhost.localdomain", + "idMappings": { + "gidmap": [ + { + "container_id": 0, + "host_id": 3267, + "size": 1 }, - "MemFree": 1204109312, - "MemTotal": 33074233344, - "OCIRuntime": { - "package": "runc-1.0.0-51.dev.gitfdd8055.fc28.x86_64", - "path": "/usr/bin/runc", - "version": "runc version spec: 1.0.0" + { + "container_id": 1, + "host_id": 100000, + "size": 65536 + } + ], + "uidmap": [ + { + "container_id": 0, + "host_id": 3267, + "size": 1 }, - "SwapFree": 34309664768, - "SwapTotal": 34359734272, - "arch": "amd64", - "cpus": 8, - "hostname": "localhost.localdomain", - "kernel": "4.18.7-200.fc28.x86_64", - "os": "linux", - "uptime": "218h 50m 35.02s (Approximately 9.08 days)" + { + "container_id": 1, + "host_id": 100000, + "size": 65536 + } + ] }, - "insecure registries": { - "registries": [] + "kernel": "5.6.11-300.fc32.x86_64", + "memFree": 1380356096, + "memTotal": 16416161792, + "ociRuntime": { + "name": "runc", + "package": "containerd.io-1.2.10-3.2.fc31.x86_64", + "path": "/usr/bin/runc", + "version": "runc version 1.0.0-rc8+dev\ncommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657\nspec: 1.0.1-dev" }, - "registries": { - "registries": [ - "quay.io", - "registry.fedoraproject.org", - "docker.io", - "registry.access.redhat.com" - ] + "os": "linux", + "rootless": true, + "slirp4netns": { + "executable": "/bin/slirp4netns", + "package": "slirp4netns-1.0.0-1.fc32.x86_64", + "version": "slirp4netns version 1.0.0\ncommit: a3be729152a33e692cd28b52f664defbf2e7810a\nlibslirp: 4.2.0" }, - "store": { - "ContainerStore": { - "number": 37 - }, - "GraphDriverName": "overlay", - "GraphOptions": [ - "overlay.mountopt=nodev", - "overlay.override_kernel_check=true" - ], - "GraphRoot": "/var/lib/containers/storage", - "GraphStatus": { - "Backing Filesystem": "extfs", - "Native Overlay Diff": "true", - "Supports d_type": "true" - }, - "ImageStore": { - "number": 17 - }, - "RunRoot": "/var/run/containers/storage" - } + "swapFree": 8291610624, + "swapTotal": 8296329216, + "uptime": "52h 27m 39.38s (Approximately 2.17 days)", + "linkmode": "dynamic" + }, + "store": { + "configFile": "/home/dwalsh/.config/containers/storage.conf", + "containerStore": { + "number": 2, + "paused": 0, + "running": 0, + "stopped": 2 + }, + "graphDriverName": "overlay", + "graphOptions": { + "overlay.mount_program": { + "Executable": "/home/dwalsh/bin/fuse-overlayfs", + "Package": "Unknown", + "Version": "fusermount3 version: 3.9.1\nfuse-overlayfs: version 0.7.2\nFUSE library version 3.9.1\nusing FUSE kernel interface version 7.31" +} + }, + "graphRoot": "/home/dwalsh/.local/share/containers/storage", + "graphStatus": { + "Backing Filesystem": "extfs", + "Native Overlay Diff": "false", + "Supports d_type": "true", + "Using metacopy": "false" + }, + "imageStore": { + "number": 7 + }, + "runRoot": "/run/user/3267/containers", + "volumePath": "/home/dwalsh/.local/share/containers/storage/volumes" + }, + "registries": { + "search": [ + "registry.fedoraproject.org", + "registry.access.redhat.com", + "registry.centos.org", + "docker.io" +] + }, + "version": { + "RemoteAPIVersion": 1, + "Version": "2.0.0", + "GoVersion": "go1.14.2", + "GitCommit": "c3678ce3289f4195f3f16802411e795c6a587c9f-dirty", + "BuiltTime": "Tue May 19 10:40:46 2020", + "Built": 1589899246, + "OsArch": "linux/amd64" + } } ``` Run podman info and only get the registries information. diff --git a/libpod/define/version.go b/libpod/define/version.go index 954cd00f1..f37b9df41 100644 --- a/libpod/define/version.go +++ b/libpod/define/version.go @@ -3,6 +3,7 @@ package define import ( "runtime" "strconv" + "time" podmanVersion "github.com/containers/libpod/version" ) @@ -23,6 +24,7 @@ type Version struct { Version string GoVersion string GitCommit string + BuiltTime string Built int64 OsArch string } @@ -44,6 +46,7 @@ func GetVersion() (Version, error) { Version: podmanVersion.Version, GoVersion: runtime.Version(), GitCommit: gitCommit, + BuiltTime: time.Unix(buildTime, 0).Format(time.ANSIC), Built: buildTime, OsArch: runtime.GOOS + "/" + runtime.GOARCH, }, nil -- cgit v1.2.3-54-g00ecf