Merge pull request #17594 from Luap99/compat-network-create

compat API: network create return 409 for duplicate
This commit is contained in:
OpenShift Merge Robot
2023-02-21 22:47:30 +01:00
committed by GitHub
2 changed files with 12 additions and 2 deletions

View File

@ -280,10 +280,17 @@ func CreateNetwork(w http.ResponseWriter, r *http.Request) {
// FIXME can we use the IPAM driver and options?
}
opts := nettypes.NetworkCreateOptions{
IgnoreIfExists: !networkCreate.CheckDuplicate,
}
ic := abi.ContainerEngine{Libpod: runtime}
newNetwork, err := ic.NetworkCreate(r.Context(), network, nil)
newNetwork, err := ic.NetworkCreate(r.Context(), network, &opts)
if err != nil {
utils.InternalServerError(w, err)
if errors.Is(err, nettypes.ErrNetworkExists) {
utils.Error(w, http.StatusConflict, err)
} else {
utils.InternalServerError(w, err)
}
return
}

View File

@ -104,6 +104,9 @@ t GET networks/podman 200 \
# network create docker
t POST networks/create Name=net3\ IPAM='{"Config":[]}' 201
# create with same name should not error unless CheckDuplicate is set
t POST networks/create Name=net3 201
t POST networks/create Name=net3\ CheckDuplicate=true 409
# network delete docker
t DELETE networks/net3 204