Skip to content

Commit

Permalink
compat API: network inspect do not show isolate option
Browse files Browse the repository at this point in the history
We force the isolate option on new newtworks because that is the docker
behavior. However when we inspect them they should not be displayed to
the caller since they have no idea about it and docker-compose throws an
error because of that.

Fixes #15580

Signed-off-by: Paul Holzinger <[email protected]>
  • Loading branch information
Luap99 committed Sep 26, 2022
1 parent 40e8bcb commit 5265688
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 3 deletions.
7 changes: 6 additions & 1 deletion pkg/api/handlers/compat/networks.go
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,11 @@ func convertLibpodNetworktoDockerNetwork(runtime *libpod.Runtime, network *netty
if changeDefaultName && name == runtime.Network().DefaultNetworkName() {
name = nettypes.BridgeNetworkDriver
}
options := network.Options
// bridge always has isolate set in the compat API but we should not return it to not confuse callers
// https://github.com/containers/podman/issues/15580
delete(options, nettypes.IsolateOption)

report := types.NetworkResource{
Name: name,
ID: network.ID,
Expand All @@ -126,7 +131,7 @@ func convertLibpodNetworktoDockerNetwork(runtime *libpod.Runtime, network *netty
Internal: network.Internal,
EnableIPv6: network.IPv6Enabled,
Labels: network.Labels,
Options: network.Options,
Options: options,
IPAM: ipam,
Scope: "local",
Attachable: false,
Expand Down
3 changes: 2 additions & 1 deletion test/compose/uptwice/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ version: '3'
services:
app:
build: .
command: sleep 10002
command: sleep 10001
stop_signal: SIGKILL # faster shutdown, no reason to wait 10 seconds
3 changes: 3 additions & 0 deletions test/compose/uptwice/teardown.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# -*- bash -*-

mv docker-compose.yml.bak docker-compose.yml
15 changes: 14 additions & 1 deletion test/compose/uptwice/tests.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,17 @@
# -*- bash -*-

CR=$'\r'
NL=$'\n'

cp docker-compose.yml docker-compose.yml.bak
sed -i -e 's/10001/10002/' docker-compose.yml
docker-compose up -d
output=$(docker-compose up -d 2>&1)

# Horrible output check here but we really want to make sure that there are
# no unexpected warning/errors and the normal messages are send on stderr as
# well so we cannot check for an empty stderr.
expected="Recreating uptwice_app_1 ... ${CR}${NL}Recreating uptwice_app_1 ... done$CR"
if [ "$TEST_FLAVOR" = "compose_v2" ]; then
expected="Container uptwice-app-1 Recreate${NL}Container uptwice-app-1 Recreated${NL}Container uptwice-app-1 Starting${NL}Container uptwice-app-1 Started"
fi
is "$output" "$expected" "no error output in compose up (#15580)"

0 comments on commit 5265688

Please sign in to comment.