Skip to content

Commit

Permalink
Merge pull request containers#17107 from vrothberg/fix-17016
Browse files Browse the repository at this point in the history
kube play: complete container spec
  • Loading branch information
openshift-merge-robot authored Jan 14, 2023
2 parents ae674a3 + 9a206fd commit cdcd2ed
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 8 deletions.
10 changes: 10 additions & 0 deletions pkg/domain/infra/abi/play.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
18 changes: 10 additions & 8 deletions test/system/700-play.bats
Original file line number Diff line number Diff line change
Expand Up @@ -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: {}
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit cdcd2ed

Please sign in to comment.