I try to run test_container_services.py but got this problem:
docker.errors.APIError: 500 Server error: internal server error ("b" {"message": "gateway could not be allocated (10.49.0.201): address is already in use"} ")
I tried to delete the entire running container and its associated network, but still got the problem.
to
Core
$ uname
Linux x1 4.8.0-36-generic
Docker
$ docker --version
Docker version 1.13.1, build 092cba3
SDK
docker-py==1.10.6
Docker env
Before running the test, I am in this state:
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
a4beb5d4de56 bridge bridge local
8a1012b67f1a host host local
ed2452ee5e44 none null local
no containers $ docker ps -a CONTAINER IMAGE ID CREATED CONDITIONS DESTINATION PORTS
Test
def test_get_network_config(self):
number_networks = len(self.docker_api.networks())
network_config = container_services.get_network_config(
data={
'ip': '10.49.0.1',
'subnet': '10.49.0.0/16',
'gateway': '10.49.0.201',
'vlan': 101
},
docker_client=self.docker_api
)
network_id = list(network_config.get('EndpointsConfig').keys())[0]
self.assertEqual(number_networks + 1, len(self.docker_api.networks()))
self.docker_api.remove_network(network_id)
The code
def get_network_config(data, docker_client):
network = create_network(data, docker_client)
network_name = docker_client.inspect_network(network.get('Id')).get('Name')
network_info = dict()
network_info[network_name] = docker_client.create_endpoint_config(ipv4_address=data.get('ip'))
networking_config = docker_client.create_networking_config(network_info)
return networking_config
Error
ERROR: test_get_network_config (backend.api.tests.test_container_services.ContainersTestCase)
Traceback (most recent call last):
File "/data/projects/coaxis-opt/env/lib/python3.5/site-packages/docker/client.py", line 170, in _raise_for_status
response.raise_for_status()
File "/data/projects/coaxis-opt/env/lib/python3.5/site-packages/requests/models.py", line 909, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: http+docker://localunixsocket/v1.24/networks/create
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/data/projects/coaxis-opt/backend/api/tests/test_container_services.py", line 93, in test_get_network_config
docker_client=self.docker_api
File "/data/projects/coaxis-opt/backend/api/container_services.py", line 31, in get_network_config
network = create_network(data, docker_client)
File "/data/projects/coaxis-opt/backend/api/container_services.py", line 65, in create_network
options={"parent": get_default_interface(data)})
File "/data/projects/coaxis-opt/env/lib/python3.5/site-packages/docker/utils/decorators.py", line 35, in wrapper
return f(self, *args, **kwargs)
File "/data/projects/coaxis-opt/env/lib/python3.5/site-packages/docker/api/network.py", line 62, in create_network
return self._result(res, json=True)
File "/data/projects/coaxis-opt/env/lib/python3.5/site-packages/docker/client.py", line 178, in _result
self._raise_for_status(response)
File "/data/projects/coaxis-opt/env/lib/python3.5/site-packages/docker/client.py", line 174, in _raise_for_status
raise errors.APIError(e, response, explanation=explanation)
docker.errors.APIError: 500 Server Error: Internal Server Error ("b'{"message":"failed to allocate gateway (10.49.0.201): Address already in use"}'")
linked: https://github.com/docker/docker-py/issues/1474