Merge pull request #17107 from vrothberg/fix-17016
kube play: complete container spec
This commit is contained in:
		
						commit
						cdcd2eddc7
					
				|  | @ -730,6 +730,16 @@ func (ic *ContainerEngine) playKubePod(ctx context.Context, podName string, podY | |||
| 		if err != nil { | ||||
| 			return nil, nil, err | ||||
| 		} | ||||
| 
 | ||||
| 		// Make sure to complete the spec (#17016)
 | ||||
| 		warn, err := generate.CompleteSpec(ctx, ic.Libpod, specGen) | ||||
| 		if err != nil { | ||||
| 			return nil, nil, err | ||||
| 		} | ||||
| 		for _, w := range warn { | ||||
| 			fmt.Fprintf(os.Stderr, "%s\n", w) | ||||
| 		} | ||||
| 
 | ||||
| 		specGen.RawImageName = container.Image | ||||
| 		rtSpec, spec, opts, err := generate.MakeContainer(ctx, ic.Libpod, specGen, false, nil) | ||||
| 		if err != nil { | ||||
|  |  | |||
|  | @ -156,13 +156,6 @@ EOF | |||
|         cat <<EOF               >>$outfile | ||||
|   - command: | ||||
|     - $command | ||||
|     env: | ||||
|     - name: PATH | ||||
|       value: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin | ||||
|     - name: TERM | ||||
|       value: xterm | ||||
|     - name: container | ||||
|       value: podman | ||||
|     image: $image | ||||
|     name: $ctrname | ||||
|     resources: {} | ||||
|  | @ -341,10 +334,19 @@ from $IMAGE | |||
| USER bin | ||||
| _EOF | ||||
| 
 | ||||
|     run_podman build -t userimage $PODMAN_TMPDIR | ||||
|     # Unset the PATH during build and make sure that all default env variables | ||||
|     # are correctly set for the created container. | ||||
|     run_podman build --unsetenv PATH -t userimage $PODMAN_TMPDIR | ||||
|     run_podman image inspect userimage --format "{{.Config.Env}}" | ||||
|     is "$output" "\[\]" "image does not set PATH - env is empty" | ||||
| 
 | ||||
|     run_podman play kube --start=false $PODMAN_TMPDIR/test.yaml | ||||
|     run_podman inspect --format "{{ .Config.User }}" test_pod-test | ||||
|     is "$output" bin "expect container within pod to run as the bin user" | ||||
|     run_podman inspect --format "{{ .Config.Env }}" test_pod-test | ||||
|     is "$output" ".*PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin.*" "expect PATH to be set" | ||||
|     is "$output" ".*TERM=xterm.*" "expect TERM to be set" | ||||
|     is "$output" ".*container=podman.*" "expect container to be set" | ||||
| 
 | ||||
|     run_podman stop -a -t 0 | ||||
|     run_podman pod rm -t 0 -f test_pod | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue