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 { | 		if err != nil { | ||||||
| 			return nil, nil, err | 			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 | 		specGen.RawImageName = container.Image | ||||||
| 		rtSpec, spec, opts, err := generate.MakeContainer(ctx, ic.Libpod, specGen, false, nil) | 		rtSpec, spec, opts, err := generate.MakeContainer(ctx, ic.Libpod, specGen, false, nil) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
|  |  | ||||||
|  | @ -156,13 +156,6 @@ EOF | ||||||
|         cat <<EOF               >>$outfile |         cat <<EOF               >>$outfile | ||||||
|   - command: |   - command: | ||||||
|     - $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 |     image: $image | ||||||
|     name: $ctrname |     name: $ctrname | ||||||
|     resources: {} |     resources: {} | ||||||
|  | @ -341,10 +334,19 @@ from $IMAGE | ||||||
| USER bin | USER bin | ||||||
| _EOF | _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 play kube --start=false $PODMAN_TMPDIR/test.yaml | ||||||
|     run_podman inspect --format "{{ .Config.User }}" test_pod-test |     run_podman inspect --format "{{ .Config.User }}" test_pod-test | ||||||
|     is "$output" bin "expect container within pod to run as the bin user" |     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 stop -a -t 0 | ||||||
|     run_podman pod rm -t 0 -f test_pod |     run_podman pod rm -t 0 -f test_pod | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue