From 5418c9c06b077e206f1ae837c4b395539059ebd7 Mon Sep 17 00:00:00 2001
From: Daniel J Walsh <dwalsh@redhat.com>
Date: Tue, 11 Feb 2020 17:18:09 -0500
Subject: Fix up play kube to use image data

podman play kube was ignoring the
imageData.Config
   Volumes
   WorkingDir
   Labels
   StopSignal

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
---
 pkg/adapter/pods.go | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

(limited to 'pkg')

diff --git a/pkg/adapter/pods.go b/pkg/adapter/pods.go
index b0e63f770..a30ec6649 100644
--- a/pkg/adapter/pods.go
+++ b/pkg/adapter/pods.go
@@ -764,7 +764,6 @@ func kubeContainerToCreateConfig(ctx context.Context, containerYAML v1.Container
 	containerConfig.ImageID = newImage.ID()
 	containerConfig.Name = containerYAML.Name
 	containerConfig.Tty = containerYAML.TTY
-	containerConfig.WorkDir = containerYAML.WorkingDir
 
 	containerConfig.Pod = podID
 
@@ -796,6 +795,27 @@ func kubeContainerToCreateConfig(ctx context.Context, containerYAML v1.Container
 
 	containerConfig.StopSignal = 15
 
+	containerConfig.WorkDir = "/"
+	if imageData != nil {
+		// FIXME,
+		// we are currently ignoring imageData.Config.ExposedPorts
+		containerConfig.BuiltinImgVolumes = imageData.Config.Volumes
+		if imageData.Config.WorkingDir != "" {
+			containerConfig.WorkDir = imageData.Config.WorkingDir
+		}
+		containerConfig.Labels = imageData.Config.Labels
+		if imageData.Config.StopSignal != "" {
+			stopSignal, err := util.ParseSignal(imageData.Config.StopSignal)
+			if err != nil {
+				return nil, err
+			}
+			containerConfig.StopSignal = stopSignal
+		}
+	}
+
+	if containerYAML.WorkingDir != "" {
+		containerConfig.WorkDir = containerYAML.WorkingDir
+	}
 	// If the user does not pass in ID mappings, just set to basics
 	if userConfig.IDMappings == nil {
 		userConfig.IDMappings = &storage.IDMappingOptions{}
-- 
cgit v1.2.3-54-g00ecf