Skip to content

Commit fc4bfde

Browse files
committed
Unify endpoint config creation when using connect_container_to_network
Signed-off-by: Joffrey F <[email protected]>
1 parent b6fa986 commit fc4bfde

File tree

2 files changed

+10
-22
lines changed

2 files changed

+10
-22
lines changed

docker/api/network.py

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import json
22

33
from ..errors import InvalidVersion
4-
from ..utils import check_resource, minimum_version, normalize_links
4+
from ..utils import check_resource, minimum_version
55
from ..utils import version_lt
66

77

@@ -63,26 +63,12 @@ def connect_container_to_network(self, container, net_id,
6363
aliases=None, links=None):
6464
data = {
6565
"Container": container,
66-
"EndpointConfig": {
67-
"Aliases": aliases,
68-
"Links": normalize_links(links) if links else None,
69-
},
66+
"EndpointConfig": self.create_endpoint_config(
67+
aliases=aliases, links=links, ipv4_address=ipv4_address,
68+
ipv6_address=ipv6_address
69+
),
7070
}
7171

72-
# IPv4 or IPv6 or neither:
73-
if ipv4_address or ipv6_address:
74-
if version_lt(self._version, '1.22'):
75-
raise InvalidVersion('IP address assignment is not '
76-
'supported in API version < 1.22')
77-
78-
data['EndpointConfig']['IPAMConfig'] = dict()
79-
if ipv4_address:
80-
data['EndpointConfig']['IPAMConfig']['IPv4Address'] = \
81-
ipv4_address
82-
if ipv6_address:
83-
data['EndpointConfig']['IPAMConfig']['IPv6Address'] = \
84-
ipv6_address
85-
8672
url = self._url("/networks/{0}/connect", net_id)
8773
res = self._post_json(url, data=data)
8874
self._raise_for_status(res)

docs/networks.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,13 @@ For example, setting the subnet to `192.168.52.0/24` and gateway address
1717
to `192.168.52.254`
1818

1919
```python
20-
21-
ipam_config = docker.utils.create_ipam_config(
20+
ipam_pool = docker.utils.create_ipam_pool(
2221
subnet='192.168.52.0/24',
2322
gateway='192.168.52.254'
2423
)
24+
ipam_config = docker.utils.create_ipam_config(
25+
pool_configs=[ipam_pool]
26+
)
2527

2628
docker_client.create_network("network1", driver="bridge", ipam=ipam_config)
2729
```
@@ -160,7 +162,7 @@ in `docker.utils.create_ipam_config`.
160162
```python
161163
ipam_pool = docker.utils.create_ipam_pool(
162164
subnet='124.42.0.0/16',
163-
iprange='124.42.0.0/8',
165+
iprange='124.42.0.0/24',
164166
gateway='124.42.0.254',
165167
aux_addresses={
166168
'reserved1': '124.42.1.1'

0 commit comments

Comments
 (0)