summaryrefslogtreecommitdiff
path: root/pkg/api
diff options
context:
space:
mode:
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
commitee05bc031882cd47cf402f55e1bfefbe83ecb3c0 (patch)
tree85f3505b7e5fc14fe245a3f50d897a5fbb6b20dc /pkg/api
parentfe8e536328eef61f0cf7ffd42b74d4e5be4654ee (diff)
downloadpodman-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/api')
-rw-r--r--pkg/api/handlers/compat/containers.go12
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{}