summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoffrey F <joffrey@docker.com>2016-06-08 16:43:51 -0700
committerJoffrey F <joffrey@docker.com>2016-06-13 17:58:10 -0700
commitfc4bfde0d68c8d3106bdab707fb780b6aa8501bf (patch)
tree547ab70c60b0f47c00998fa89e4a24ca9dd823c5
parentb6fa9862936c6c933280a3bca864d95fb7b906f5 (diff)
downloaddocker-py-fc4bfde0d68c8d3106bdab707fb780b6aa8501bf.tar.gz
Unify endpoint config creation when using connect_container_to_network
Signed-off-by: Joffrey F <joffrey@docker.com>
-rw-r--r--docker/api/network.py24
-rw-r--r--docs/networks.md8
2 files changed, 10 insertions, 22 deletions
diff --git a/docker/api/network.py b/docker/api/network.py
index 4dec3f5..a35f0a4 100644
--- a/docker/api/network.py
+++ b/docker/api/network.py
@@ -1,7 +1,7 @@
import json
from ..errors import InvalidVersion
-from ..utils import check_resource, minimum_version, normalize_links
+from ..utils import check_resource, minimum_version
from ..utils import version_lt
@@ -63,26 +63,12 @@ class NetworkApiMixin(object):
aliases=None, links=None):
data = {
"Container": container,
- "EndpointConfig": {
- "Aliases": aliases,
- "Links": normalize_links(links) if links else None,
- },
+ "EndpointConfig": self.create_endpoint_config(
+ aliases=aliases, links=links, ipv4_address=ipv4_address,
+ ipv6_address=ipv6_address
+ ),
}
- # IPv4 or IPv6 or neither:
- if ipv4_address or ipv6_address:
- if version_lt(self._version, '1.22'):
- raise InvalidVersion('IP address assignment is not '
- 'supported in API version < 1.22')
-
- data['EndpointConfig']['IPAMConfig'] = dict()
- if ipv4_address:
- data['EndpointConfig']['IPAMConfig']['IPv4Address'] = \
- ipv4_address
- if ipv6_address:
- data['EndpointConfig']['IPAMConfig']['IPv6Address'] = \
- ipv6_address
-
url = self._url("/networks/{0}/connect", net_id)
res = self._post_json(url, data=data)
self._raise_for_status(res)
diff --git a/docs/networks.md b/docs/networks.md
index a805c6c..df28a8e 100644
--- a/docs/networks.md
+++ b/docs/networks.md
@@ -17,11 +17,13 @@ For example, setting the subnet to `192.168.52.0/24` and gateway address
to `192.168.52.254`
```python
-
-ipam_config = docker.utils.create_ipam_config(
+ipam_pool = docker.utils.create_ipam_pool(
subnet='192.168.52.0/24',
gateway='192.168.52.254'
)
+ipam_config = docker.utils.create_ipam_config(
+ pool_configs=[ipam_pool]
+)
docker_client.create_network("network1", driver="bridge", ipam=ipam_config)
```
@@ -160,7 +162,7 @@ in `docker.utils.create_ipam_config`.
```python
ipam_pool = docker.utils.create_ipam_pool(
subnet='124.42.0.0/16',
- iprange='124.42.0.0/8',
+ iprange='124.42.0.0/24',
gateway='124.42.0.254',
aux_addresses={
'reserved1': '124.42.1.1'