summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libpod/container_inspect.go21
-rw-r--r--pkg/inspect/inspect.go2
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"`