Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Handle podman-remote run --rm #7224

Merged
merged 1 commit into from
Aug 5, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions pkg/domain/infra/tunnel/containers.go
Original file line number Diff line number Diff line change
Expand Up @@ -500,9 +500,6 @@ func (ic *ContainerEngine) ContainerList(ctx context.Context, options entities.C
}

func (ic *ContainerEngine) ContainerRun(ctx context.Context, opts entities.ContainerRunOptions) (*entities.ContainerRunReport, error) {
if opts.Rm {
logrus.Info("the remote client does not support --rm yet")
}
con, err := containers.CreateWithSpec(ic.ClientCxt, opts.Spec)
if err != nil {
return nil, err
Expand All @@ -526,6 +523,17 @@ func (ic *ContainerEngine) ContainerRun(ctx context.Context, opts entities.Conta
if err != nil {
report.ExitCode = define.ExitCode(err)
}
if opts.Rm {
if err := containers.Remove(ic.ClientCxt, con.ID, bindings.PFalse, bindings.PTrue); err != nil {
if errors.Cause(err) == define.ErrNoSuchCtr ||
errors.Cause(err) == define.ErrCtrRemoved {
logrus.Warnf("Container %s does not exist: %v", con.ID, err)
} else {
logrus.Errorf("Error removing container %s: %v", con.ID, err)
}
}
}

return &report, err
}

Expand Down
6 changes: 0 additions & 6 deletions test/system/030-run.bats
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,6 @@ echo $rand | 0 | $rand
# Believe it or not, 'sh -c' resulted in different behavior
run_podman 0 run --rm $IMAGE sh -c /bin/true
run_podman 1 run --rm $IMAGE sh -c /bin/false

if is_remote; then sleep 2;fi # FIXME: pending #7119
}

@test "podman run --name" {
Expand Down Expand Up @@ -266,8 +264,6 @@ echo $rand | 0 | $rand
done
done
done

if is_remote; then sleep 2;fi # FIXME: pending #7119
}

# #6829 : add username to /etc/passwd inside container if --userns=keep-id
Expand All @@ -292,8 +288,6 @@ echo $rand | 0 | $rand
run_podman run --rm --privileged --userns=keep-id --user=0 $IMAGE id -un
remove_same_dev_warning # grumble
is "$output" "root" "--user=0 overrides keep-id"

if is_remote; then sleep 2;fi # FIXME: pending #7119
}

# #6991 : /etc/passwd is modifiable
Expand Down
1 change: 0 additions & 1 deletion test/system/070-build.bats
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,6 @@ ADD https://github.com/containers/podman/blob/master/README.md /tmp/
EOF
run_podman build -t add_url $tmpdir
run_podman run --rm add_url stat /tmp/README.md
if is_remote; then sleep 2;fi # FIXME: pending #7119
run_podman rmi -f add_url

# Now test COPY. That should fail.
Expand Down
4 changes: 0 additions & 4 deletions test/system/160-volumes.bats
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,6 @@ Labels.l | $mylabel
is "$(<$mountpoint/myfile)" "$rand" "we see content created in container"

# Clean up
if is_remote; then sleep 2;fi # FIXME: pending #7119
run_podman volume rm $myvolume
}

Expand Down Expand Up @@ -135,7 +134,6 @@ EOF
is "$output" "got here -$rand-" "script in volume is runnable with default (exec)"

# Clean up
if is_remote; then sleep 2;fi # FIXME: pending #7119
run_podman volume rm $myvolume
}

Expand Down Expand Up @@ -173,7 +171,6 @@ EOF
run_podman run --rm -v $myvol:/myvol:z $IMAGE \
sh -c "cp /myvol/myfile /myvol/myfile2"

if is_remote; then sleep 2;fi # FIXME: pending #7119
run_podman volume rm $myvol

# Autocreated volumes should also work with keep-id
Expand All @@ -182,7 +179,6 @@ EOF
run_podman run --rm -v $myvol:/myvol:z --userns=keep-id $IMAGE \
touch /myvol/myfile

if is_remote; then sleep 2;fi # FIXME: pending #7119
run_podman volume rm $myvol
}

Expand Down
3 changes: 0 additions & 3 deletions test/system/200-pod.bats
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,6 @@ function teardown() {
is "$output" "$message" "message sent from one container to another"

# Clean up. First the nc -l container...
if is_remote; then sleep 2;fi # FIXME: pending #7119
run_podman rm $cid1

# ...then, from pause container, find the image ID of the pause image...
Expand All @@ -104,7 +103,6 @@ function teardown() {
pause_iid="$output"

# ...then rm the pod, then rmi the pause image so we don't leave strays.
if is_remote; then sleep 2;fi # FIXME: pending #7119
run_podman pod rm $podname
run_podman rmi $pause_iid

Expand Down Expand Up @@ -215,7 +213,6 @@ function random_ip() {
is "$output" ".*options $dns_opt" "--dns-opt was added"

# pod inspect
if is_remote; then sleep 2;fi # FIXME: pending #7119
run_podman pod inspect --format '{{.Name}}: {{.ID}} : {{.NumContainers}} : {{.Labels}}' mypod
is "$output" "mypod: $pod_id : 1 : map\[${labelname}:${labelvalue}]" \
"pod inspect --format ..."
Expand Down
2 changes: 0 additions & 2 deletions test/system/300-cli-parsing.bats
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ load helpers
# Error: invalid argument "true=\"false\"" for "-l, --label" \
# flag: parse error on line 1, column 5: bare " in non-quoted-field
run_podman run --rm --label 'true="false"' $IMAGE true

if is_remote; then sleep 2;fi # FIXME: pending #7119
}

# vim: filetype=sh
2 changes: 0 additions & 2 deletions test/system/400-unprivileged-access.bats
Original file line number Diff line number Diff line change
Expand Up @@ -165,8 +165,6 @@ EOF
die "$path: Unknown file type '$type'"
fi
done

if is_remote; then sleep 2;fi # FIXME: pending #7119
}

# vim: filetype=sh
1 change: 0 additions & 1 deletion test/system/410-selinux.bats
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ function check_label() {
# FIXME: it'd be nice to specify the command to run, e.g. 'ls -dZ /',
# but alpine ls (from busybox) doesn't support -Z
run_podman run --rm $args $IMAGE cat -v /proc/self/attr/current
if is_remote; then sleep 2;fi # FIXME: pending #7119

# FIXME: on some CI systems, 'run --privileged' emits a spurious
# warning line about dup devices. Ignore it.
Expand Down