From 2e96acf3007cbd05a37a8af7156f0abda073cb5a Mon Sep 17 00:00:00 2001
From: Daniel J Walsh <dwalsh@redhat.com>
Date: Sun, 11 Feb 2018 06:05:29 -0500
Subject: Change json to match docker inspect

Changing these fields caused the output of podman inspect to more
closely match docker inspect.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>

Closes: #306
Approved by: mheon
---
 cmd/podman/create.go   | 18 +++++++++---------
 cmd/podman/inspect.go  |  4 ++++
 cmd/podman/run_test.go | 18 +++++++++---------
 3 files changed, 22 insertions(+), 18 deletions(-)

(limited to 'cmd')

diff --git a/cmd/podman/create.go b/cmd/podman/create.go
index f847b2d22..2012aa6de 100644
--- a/cmd/podman/create.go
+++ b/cmd/podman/create.go
@@ -520,12 +520,12 @@ func parseCreateOpts(c *cli.Context, runtime *libpod.Runtime, imageName string,
 	// USER
 	user := c.String("user")
 	if user == "" {
-		user = data.Config.User
+		user = data.ContainerConfig.User
 	}
 
 	// STOP SIGNAL
 	stopSignal := syscall.SIGTERM
-	signalString := data.Config.StopSignal
+	signalString := data.ContainerConfig.StopSignal
 	if c.IsSet("stop-signal") {
 		signalString = c.String("stop-signal")
 	}
@@ -538,7 +538,7 @@ func parseCreateOpts(c *cli.Context, runtime *libpod.Runtime, imageName string,
 
 	// ENVIRONMENT VARIABLES
 	env := defaultEnvVariables
-	for _, e := range data.Config.Env {
+	for _, e := range data.ContainerConfig.Env {
 		split := strings.SplitN(e, "=", 2)
 		if len(split) > 1 {
 			env[split[0]] = split[1]
@@ -555,7 +555,7 @@ func parseCreateOpts(c *cli.Context, runtime *libpod.Runtime, imageName string,
 	if err != nil {
 		return nil, errors.Wrapf(err, "unable to process labels")
 	}
-	for key, val := range data.Config.Labels {
+	for key, val := range data.ContainerConfig.Labels {
 		if _, ok := labels[key]; !ok {
 			labels[key] = val
 		}
@@ -564,14 +564,14 @@ func parseCreateOpts(c *cli.Context, runtime *libpod.Runtime, imageName string,
 	// WORKING DIRECTORY
 	workDir := c.String("workdir")
 	if workDir == "" {
-		workDir = data.Config.WorkingDir
+		workDir = data.ContainerConfig.WorkingDir
 	}
 
 	// ENTRYPOINT
 	// User input entrypoint takes priority over image entrypoint
 	entrypoint := c.StringSlice("entrypoint")
 	if len(entrypoint) == 0 {
-		entrypoint = data.Config.Entrypoint
+		entrypoint = data.ContainerConfig.Entrypoint
 	}
 
 	// Build the command
@@ -582,13 +582,13 @@ func parseCreateOpts(c *cli.Context, runtime *libpod.Runtime, imageName string,
 	if len(inputCommand) > 0 {
 		// User command overrides data CMD
 		command = append(command, inputCommand...)
-	} else if len(data.Config.Cmd) > 0 && !c.IsSet("entrypoint") {
+	} else if len(data.ContainerConfig.Cmd) > 0 && !c.IsSet("entrypoint") {
 		// If not user command, add CMD
-		command = append(command, data.Config.Cmd...)
+		command = append(command, data.ContainerConfig.Cmd...)
 	}
 
 	// EXPOSED PORTS
-	portBindings, err := exposedPorts(c, data.Config.ExposedPorts)
+	portBindings, err := exposedPorts(c, data.ContainerConfig.ExposedPorts)
 	if err != nil {
 		return nil, err
 	}
diff --git a/cmd/podman/inspect.go b/cmd/podman/inspect.go
index 84107f3db..ce5a3b823 100644
--- a/cmd/podman/inspect.go
+++ b/cmd/podman/inspect.go
@@ -78,6 +78,10 @@ func inspectCmd(c *cli.Context) error {
 		inspectType = inspectTypeContainer
 	}
 	outputFormat := c.String("format")
+	if strings.Contains(outputFormat, "{{.Id}}") {
+		outputFormat = strings.Replace(outputFormat, "{{.Id}}", formats.IDString, -1)
+	}
+
 	var data interface{}
 	switch inspectType {
 	case inspectTypeContainer:
diff --git a/cmd/podman/run_test.go b/cmd/podman/run_test.go
index 55c535337..344fdcce5 100644
--- a/cmd/podman/run_test.go
+++ b/cmd/podman/run_test.go
@@ -36,15 +36,15 @@ func generateAlpineImageData() *inspect.ImageData {
 	}
 
 	data := &inspect.ImageData{
-		ID:           "e21c333399e0aeedfd70e8827c9fba3f8e9b170ef8a48a29945eb7702bf6aa5f",
-		RepoTags:     []string{"docker.io/library/alpine:latest"},
-		RepoDigests:  []string{"docker.io/library/alpine@sha256:5cb04fce748f576d7b72a37850641de8bd725365519673c643ef2d14819b42c6"},
-		Comment:      "Created:2017-12-01 18:48:48.949613376 +0000",
-		Author:       "",
-		Architecture: "amd64",
-		Os:           "linux",
-		Version:      "17.06.2-ce",
-		Config:       config,
+		ID:              "e21c333399e0aeedfd70e8827c9fba3f8e9b170ef8a48a29945eb7702bf6aa5f",
+		RepoTags:        []string{"docker.io/library/alpine:latest"},
+		RepoDigests:     []string{"docker.io/library/alpine@sha256:5cb04fce748f576d7b72a37850641de8bd725365519673c643ef2d14819b42c6"},
+		Comment:         "Created:2017-12-01 18:48:48.949613376 +0000",
+		Author:          "",
+		Architecture:    "amd64",
+		Os:              "linux",
+		Version:         "17.06.2-ce",
+		ContainerConfig: config,
 	}
 	return data
 }
-- 
cgit v1.2.3-54-g00ecf