mirror of
https://github.com/containers/podman.git
synced 2025-06-24 03:08:13 +08:00
Merge pull request #17107 from vrothberg/fix-17016
kube play: complete container spec
This commit is contained in:
@ -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
|
||||||
|
Reference in New Issue
Block a user