summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzhangguanzhang <zhangguanzhang@qq.com>2020-11-18 16:52:49 +0800
committerzhangguanzhang <zhangguanzhang@qq.com>2020-11-18 18:06:06 +0800
commit76a38fc3f236f9197ab0761d5cc11cb37cee5e41 (patch)
treec5227aac15526a287ea5de2f30b0550ad60da3b2
parenta6f7afd41729edbe0d8cbf21bab5b475c6a13f9e (diff)
downloadpodman-76a38fc3f236f9197ab0761d5cc11cb37cee5e41.tar.gz
podman-76a38fc3f236f9197ab0761d5cc11cb37cee5e41.tar.bz2
podman-76a38fc3f236f9197ab0761d5cc11cb37cee5e41.zip
Fix podman pod inspect show wrong MAC string
Signed-off-by: zhangguanzhang <zhangguanzhang@qq.com>
-rw-r--r--libpod/define/pod_inspect.go2
-rw-r--r--libpod/pod_api.go2
-rw-r--r--test/e2e/pod_inspect_test.go19
3 files changed, 21 insertions, 2 deletions
diff --git a/libpod/define/pod_inspect.go b/libpod/define/pod_inspect.go
index a4115eb92..2fa91166f 100644
--- a/libpod/define/pod_inspect.go
+++ b/libpod/define/pod_inspect.go
@@ -67,7 +67,7 @@ type InspectPodInfraConfig struct {
StaticIP net.IP
// StaticMAC is a static MAC address that will be assigned to the infra
// container and then used by the pod.
- StaticMAC net.HardwareAddr
+ StaticMAC string
// NoManageResolvConf indicates that the pod will not manage resolv.conf
// and instead each container will handle their own.
NoManageResolvConf bool
diff --git a/libpod/pod_api.go b/libpod/pod_api.go
index 87ac5c07a..845948dd3 100644
--- a/libpod/pod_api.go
+++ b/libpod/pod_api.go
@@ -535,7 +535,7 @@ func (p *Pod) Inspect() (*define.InspectPodData, error) {
infraConfig = new(define.InspectPodInfraConfig)
infraConfig.HostNetwork = p.config.InfraContainer.HostNetwork
infraConfig.StaticIP = p.config.InfraContainer.StaticIP
- infraConfig.StaticMAC = p.config.InfraContainer.StaticMAC
+ infraConfig.StaticMAC = p.config.InfraContainer.StaticMAC.String()
infraConfig.NoManageResolvConf = p.config.InfraContainer.UseImageResolvConf
infraConfig.NoManageHosts = p.config.InfraContainer.UseImageHosts
diff --git a/test/e2e/pod_inspect_test.go b/test/e2e/pod_inspect_test.go
index ccdf0a423..25212991d 100644
--- a/test/e2e/pod_inspect_test.go
+++ b/test/e2e/pod_inspect_test.go
@@ -99,4 +99,23 @@ var _ = Describe("Podman pod inspect", func() {
Expect(len(inspectJSON.InfraConfig.PortBindings["80/tcp"])).To(Equal(1))
Expect(inspectJSON.InfraConfig.PortBindings["80/tcp"][0].HostPort).To(Equal("8080"))
})
+
+ It("podman pod inspect outputs show correct MAC", func() {
+ SkipIfRootless("--mac-address is not supported in rootless mode")
+ podName := "testPod"
+ macAddr := "42:43:44:00:00:01"
+ create := podmanTest.Podman([]string{"pod", "create", "--name", podName, "--mac-address", macAddr})
+ create.WaitWithDefaultTimeout()
+ Expect(create.ExitCode()).To(Equal(0))
+
+ create = podmanTest.Podman([]string{"run", "-d", "--pod", podName, ALPINE, "top"})
+ create.WaitWithDefaultTimeout()
+ Expect(create.ExitCode()).To(Equal(0))
+
+ inspectOut := podmanTest.Podman([]string{"pod", "inspect", podName})
+ inspectOut.WaitWithDefaultTimeout()
+ Expect(inspectOut.ExitCode()).To(Equal(0))
+
+ Expect(inspectOut.OutputToString()).To(ContainSubstring(macAddr))
+ })
})