summaryrefslogtreecommitdiff
path: root/libpod/container_inspect.go
diff options
context:
space:
mode:
Diffstat (limited to 'libpod/container_inspect.go')
-rw-r--r--libpod/container_inspect.go21
1 files changed, 14 insertions, 7 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()
}