Skip to content

Commit 656db96

Browse files
author
Yuval Goldberg
committed
Fix mac_address connect usage in network functions && addind appropriate test
Signed-off-by: Yuval Goldberg <[email protected]>
1 parent 755fd73 commit 656db96

File tree

3 files changed

+19
-2
lines changed

3 files changed

+19
-2
lines changed

docker/api/network.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,8 @@ def connect_container_to_network(self, container, net_id,
242242
"Container": container,
243243
"EndpointConfig": self.create_endpoint_config(
244244
aliases=aliases, links=links, ipv4_address=ipv4_address,
245-
ipv6_address=ipv6_address, link_local_ips=link_local_ips
245+
ipv6_address=ipv6_address, link_local_ips=link_local_ips,
246+
mac_address=mac_address
246247
),
247248
}
248249

docker/types/networks.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ def __init__(self, version, aliases=None, links=None, ipv4_address=None,
2828
raise errors.InvalidVersion(
2929
'mac_address is not supported for API version < 1.25'
3030
)
31-
ipam_config['MacAddress'] = mac_address
31+
self['MacAddress'] = mac_address
3232

3333
if link_local_ips is not None:
3434
if version_lt(version, '1.24'):

tests/integration/api_network_test.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,22 @@ def test_connect_with_ipv6_address(self):
387387
net_data = container_data['NetworkSettings']['Networks'][net_name]
388388
assert net_data['IPAMConfig']['IPv6Address'] == '2001:389::f00d'
389389

390+
@requires_api_version('1.25')
391+
def test_connect_with_mac_address(self):
392+
net_name, net_id = self.create_network()
393+
394+
container = self.client.create_container(TEST_IMG, 'top')
395+
self.tmp_containers.append(container)
396+
397+
self.client.connect_container_to_network(
398+
container, net_name, mac_address='02:42:ac:11:00:02'
399+
)
400+
401+
container_data = self.client.inspect_container(container)
402+
403+
net_data = container_data['NetworkSettings']['Networks'][net_name]
404+
assert net_data['MacAddress'] == '02:42:ac:11:00:02'
405+
390406
@requires_api_version('1.23')
391407
def test_create_internal_networks(self):
392408
_, net_id = self.create_network(internal=True)

0 commit comments

Comments
 (0)