diff options
author | 🤓 Mostafa Emami <mustafaemami@gmail.com> | 2022-06-21 07:30:34 +0200 |
---|---|---|
committer | 🤓 Mostafa Emami <mustafaemami@gmail.com> | 2022-07-05 21:25:32 +0200 |
commit | ee05bc031882cd47cf402f55e1bfefbe83ecb3c0 (patch) | |
tree | 85f3505b7e5fc14fe245a3f50d897a5fbb6b20dc /pkg | |
parent | fe8e536328eef61f0cf7ffd42b74d4e5be4654ee (diff) | |
download | podman-ee05bc031882cd47cf402f55e1bfefbe83ecb3c0.tar.gz podman-ee05bc031882cd47cf402f55e1bfefbe83ecb3c0.tar.bz2 podman-ee05bc031882cd47cf402f55e1bfefbe83ecb3c0.zip |
Fix network inspect compat API discrepancy
- containerInspect compat API expects field value PrefixLen
instead of PrefixLength for type Address for SecondaryIPAddresses
- Add tests for network part of containerInspect compat api
Closes: containers#14674
Signed-off-by: 🤓 Mostafa Emami <mustafaemami@gmail.com>
Diffstat (limited to 'pkg')
-rw-r--r-- | pkg/api/handlers/compat/containers.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/pkg/api/handlers/compat/containers.go b/pkg/api/handlers/compat/containers.go index 616f0a138..efc4b1a4d 100644 --- a/pkg/api/handlers/compat/containers.go +++ b/pkg/api/handlers/compat/containers.go @@ -395,6 +395,15 @@ func LibpodToContainer(l *libpod.Container, sz bool) (*handlers.Container, error }, nil } +func convertSecondaryIPPrefixLen(input *define.InspectNetworkSettings, output *types.NetworkSettings) { + for index, ip := range input.SecondaryIPAddresses { + output.SecondaryIPAddresses[index].PrefixLen = ip.PrefixLength + } + for index, ip := range input.SecondaryIPv6Addresses { + output.SecondaryIPv6Addresses[index].PrefixLen = ip.PrefixLength + } +} + func LibpodToContainerJSON(l *libpod.Container, sz bool) (*types.ContainerJSON, error) { _, imageName := l.Image() inspect, err := l.Inspect(sz) @@ -585,6 +594,9 @@ func LibpodToContainerJSON(l *libpod.Container, sz bool) (*types.ContainerJSON, if err := json.Unmarshal(n, &networkSettings); err != nil { return nil, err } + + convertSecondaryIPPrefixLen(inspect.NetworkSettings, &networkSettings) + // do not report null instead use an empty map if networkSettings.Networks == nil { networkSettings.Networks = map[string]*network.EndpointSettings{} |