mirror of https://github.com/docker/compose.git
Fix "name is reserved" with Engine 1.10 RC1
Ensure link aliases are unique (this deduping was previously performed on the server). Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
This commit is contained in:
parent
413cdbcb81
commit
2106481c23
|
@ -502,24 +502,31 @@ class Service(object):
|
|||
if self.use_networking:
|
||||
return []
|
||||
|
||||
links = []
|
||||
links = {}
|
||||
|
||||
for service, link_name in self.links:
|
||||
for container in service.containers():
|
||||
links.append((container.name, link_name or service.name))
|
||||
links.append((container.name, container.name))
|
||||
links.append((container.name, container.name_without_project))
|
||||
links[link_name or service.name] = container.name
|
||||
links[container.name] = container.name
|
||||
links[container.name_without_project] = container.name
|
||||
|
||||
if link_to_self:
|
||||
for container in self.containers():
|
||||
links.append((container.name, self.name))
|
||||
links.append((container.name, container.name))
|
||||
links.append((container.name, container.name_without_project))
|
||||
links[self.name] = container.name
|
||||
links[container.name] = container.name
|
||||
links[container.name_without_project] = container.name
|
||||
|
||||
for external_link in self.options.get('external_links') or []:
|
||||
if ':' not in external_link:
|
||||
link_name = external_link
|
||||
else:
|
||||
external_link, link_name = external_link.split(':')
|
||||
links.append((external_link, link_name))
|
||||
return links
|
||||
links[link_name] = external_link
|
||||
|
||||
return [
|
||||
(alias, container_name)
|
||||
for (container_name, alias) in links.items()
|
||||
]
|
||||
|
||||
def _get_volumes_from(self):
|
||||
return [build_volume_from(spec) for spec in self.volumes_from]
|
||||
|
|
|
@ -7,7 +7,6 @@ import tempfile
|
|||
from os import path
|
||||
|
||||
from docker.errors import APIError
|
||||
from pytest import mark
|
||||
from six import StringIO
|
||||
from six import text_type
|
||||
|
||||
|
@ -372,7 +371,6 @@ class ServiceTest(DockerClientTestCase):
|
|||
create_and_start_container(db)
|
||||
self.assertEqual(db.containers()[0].environment['FOO'], 'BAR')
|
||||
|
||||
@mark.skipif(True, reason="Engine returns error - needs investigating")
|
||||
def test_start_container_creates_links(self):
|
||||
db = self.create_service('db')
|
||||
web = self.create_service('web', links=[(db, None)])
|
||||
|
@ -389,7 +387,6 @@ class ServiceTest(DockerClientTestCase):
|
|||
'db'])
|
||||
)
|
||||
|
||||
@mark.skipif(True, reason="Engine returns error - needs investigating")
|
||||
def test_start_container_creates_links_with_names(self):
|
||||
db = self.create_service('db')
|
||||
web = self.create_service('web', links=[(db, 'custom_link_name')])
|
||||
|
@ -433,7 +430,6 @@ class ServiceTest(DockerClientTestCase):
|
|||
c = create_and_start_container(db)
|
||||
self.assertEqual(set(get_links(c)), set([]))
|
||||
|
||||
@mark.skipif(True, reason="Engine returns error - needs investigating")
|
||||
def test_start_one_off_container_creates_links_to_its_own_service(self):
|
||||
db = self.create_service('db')
|
||||
|
||||
|
|
Loading…
Reference in New Issue