diff options
-rw-r--r-- | libpod/container_inspect.go | 21 | ||||
-rw-r--r-- | pkg/inspect/inspect.go | 2 |
2 files changed, 15 insertions, 8 deletions
diff --git a/libpod/container_inspect.go b/libpod/container_inspect.go index b3e8ebeb9..6b62a3f44 100644 --- a/libpod/container_inspect.go +++ b/libpod/container_inspect.go @@ -1,6 +1,8 @@ package libpod import ( + "strings" + "github.com/cri-o/ocicni/pkg/ocicni" "github.com/projectatomic/libpod/pkg/inspect" "github.com/sirupsen/logrus" @@ -92,7 +94,7 @@ func (c *Container) getContainerInspectData(size bool, driverData *inspect.Data) Gateway: "", // TODO GlobalIPv6Addresses: []string{}, // TODO - do we even support IPv6? GlobalIPv6PrefixLen: 0, // TODO - do we even support IPv6? - IPAddress: "", + IPAddress: nil, IPPrefixLen: 0, // TODO IPv6Gateway: "", // TODO - do we even support IPv6? MacAddress: "", // TODO @@ -106,14 +108,19 @@ func (c *Container) getContainerInspectData(size bool, driverData *inspect.Data) // Get information on the container's network namespace (if present) if runtimeInfo.NetNS != nil { - // Get IP address - ip, err := c.runtime.getContainerIP(c) - if err != nil { - logrus.Errorf("error getting container %q IP: %v", config.ID, err) - } else { - data.NetworkSettings.IPAddress = ip.To4().String() + // Go through our IP addresses + ctrIPs := []string{} + + for _, ctrIP := range c.state.IPs { + if ctrIP.Version == "4" { + ipWithMask := ctrIP.Address.String() + splitIP := strings.Split(ipWithMask, "/") + ctrIPs = append(ctrIPs, splitIP[0]) + } } + data.NetworkSettings.IPAddress = ctrIPs + // Set network namespace path data.NetworkSettings.SandboxKey = runtimeInfo.NetNS.Path() } diff --git a/pkg/inspect/inspect.go b/pkg/inspect/inspect.go index 4a7c96aa1..b2dd1e1c0 100644 --- a/pkg/inspect/inspect.go +++ b/pkg/inspect/inspect.go @@ -199,7 +199,7 @@ type NetworkSettings struct { Gateway string `json:"Gateway"` GlobalIPv6Addresses []string `json:"GlobalIPv6Addresses"` GlobalIPv6PrefixLen int `json:"GlobalIPv6PrefixLen"` - IPAddress string `json:"IPAddress"` + IPAddress []string `json:"IPAddress"` IPPrefixLen int `json:"IPPrefixLen"` IPv6Gateway string `json:"IPv6Gateway"` MacAddress string `json:"MacAddress"` |