Browse code

Test to verify --mac-address doesn't get applied to new endpoint created on network connect.

Signed-off-by: Lei Jitang <leijitang@huawei.com>
Signed-off-by: Santhosh Manohar <santhosh@docker.com>

Lei Jitang authored on 2015/11/10 18:47:32
Showing 2 changed files
... ...
@@ -947,7 +947,7 @@ func (daemon *Daemon) getNetworkSandbox(container *Container) libnetwork.Sandbox
947 947
 	return sb
948 948
 }
949 949
 
950
-// ConnectToNetwork connects a container to a netork
950
+// ConnectToNetwork connects a container to a network
951 951
 func (daemon *Daemon) ConnectToNetwork(container *Container, idOrName string) error {
952 952
 	if !container.Running {
953 953
 		return derr.ErrorCodeNotRunning.WithArgs(container.ID)
... ...
@@ -802,3 +802,17 @@ func (s *DockerNetworkSuite) TestDockerNetworkConnectWithPortMapping(c *check.C)
802 802
 	c.Assert(waitRun("c1"), check.IsNil)
803 803
 	dockerCmd(c, "network", "connect", "test1", "c1")
804 804
 }
805
+
806
+func (s *DockerNetworkSuite) TestDockerNetworkConnectWithMac(c *check.C) {
807
+	macAddress := "02:42:ac:11:00:02"
808
+	dockerCmd(c, "network", "create", "mynetwork")
809
+	dockerCmd(c, "run", "--name=test", "-d", "--mac-address", macAddress, "busybox", "top")
810
+	c.Assert(waitRun("test"), check.IsNil)
811
+	mac1, err := inspectField("test", "NetworkSettings.Networks.bridge.MacAddress")
812
+	c.Assert(err, checker.IsNil)
813
+	c.Assert(strings.TrimSpace(mac1), checker.Equals, macAddress)
814
+	dockerCmd(c, "network", "connect", "mynetwork", "test")
815
+	mac2, err := inspectField("test", "NetworkSettings.Networks.mynetwork.MacAddress")
816
+	c.Assert(err, checker.IsNil)
817
+	c.Assert(strings.TrimSpace(mac2), checker.Not(checker.Equals), strings.TrimSpace(mac1))
818
+}