Use networking for version 2 Compose files

- Remove --x-networking and --x-network-driver
- There's now no way to set a network driver - this will be added back
  with the 'networks' key

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
This commit is contained in:
Aanand Prasad 2016-01-12 16:26:20 +00:00
commit a027a0079c
9 changed files with 49 additions and 36 deletions

View file

@ -338,7 +338,7 @@ class CLITestCase(DockerClientTestCase):
self.base_dir = 'tests/fixtures/links-composefile'
self.dispatch(['up', '-d'], None)
networks = self.client.networks(names=[self.project.name])
networks = self.client.networks(names=[self.project.default_network_name])
self.assertEqual(len(networks), 0)
for service in self.project.get_services():
@ -350,8 +350,8 @@ class CLITestCase(DockerClientTestCase):
self.assertTrue(web_container.get('HostConfig.Links'))
def test_up_with_networking(self):
self.base_dir = 'tests/fixtures/links-composefile'
self.dispatch(['--x-networking', 'up', '-d'], None)
self.base_dir = 'tests/fixtures/v2-simple'
self.dispatch(['up', '-d'], None)
services = self.project.get_services()
@ -369,7 +369,7 @@ class CLITestCase(DockerClientTestCase):
self.assertEqual(len(containers), 1)
self.assertIn(containers[0].id, network['Containers'])
web_container = self.project.get_service('web').containers()[0]
web_container = self.project.get_service('simple').containers()[0]
self.assertFalse(web_container.get('HostConfig.Links'))
def test_up_with_links(self):
@ -645,8 +645,8 @@ class CLITestCase(DockerClientTestCase):
self.assertEqual(container.name, name)
def test_run_with_networking(self):
self.base_dir = 'tests/fixtures/simple-dockerfile'
self.dispatch(['--x-networking', 'run', 'simple', 'true'], None)
self.base_dir = 'tests/fixtures/v2-simple'
self.dispatch(['run', 'simple', 'true'], None)
service = self.project.get_service('simple')
container, = service.containers(stopped=True, one_off=True)
networks = self.client.networks(names=[self.project.default_network_name])

View file

@ -0,0 +1,8 @@
version: 2
services:
simple:
image: busybox:latest
command: top
another:
image: busybox:latest
command: top

View file

@ -36,14 +36,21 @@ class DockerClientTestCase(unittest.TestCase):
all=True,
filters={'label': '%s=composetest' % LABEL_PROJECT}):
self.client.remove_container(c['Id'], force=True)
for i in self.client.images(
filters={'label': 'com.docker.compose.test_image'}):
self.client.remove_image(i)
volumes = self.client.volumes().get('Volumes') or []
for v in volumes:
if 'composetest_' in v['Name']:
self.client.remove_volume(v['Name'])
networks = self.client.networks()
for n in networks:
if 'composetest_' in n['Name']:
self.client.remove_network(n['Name'])
def create_service(self, name, **kwargs):
if 'image' not in kwargs and 'build' not in kwargs:
kwargs['image'] = 'busybox:latest'

View file

@ -39,7 +39,7 @@ class ProjectTest(unittest.TestCase):
self.assertEqual(project.get_service('db').options['image'], 'busybox:latest')
def test_from_config(self):
dicts = Config(None, [
config = Config(None, [
{
'name': 'web',
'image': 'busybox:latest',
@ -49,12 +49,28 @@ class ProjectTest(unittest.TestCase):
'image': 'busybox:latest',
},
], None)
project = Project.from_config('composetest', dicts, None)
project = Project.from_config('composetest', config, None)
self.assertEqual(len(project.services), 2)
self.assertEqual(project.get_service('web').name, 'web')
self.assertEqual(project.get_service('web').options['image'], 'busybox:latest')
self.assertEqual(project.get_service('db').name, 'db')
self.assertEqual(project.get_service('db').options['image'], 'busybox:latest')
self.assertFalse(project.use_networking)
def test_from_config_v2(self):
config = Config(2, [
{
'name': 'web',
'image': 'busybox:latest',
},
{
'name': 'db',
'image': 'busybox:latest',
},
], None)
project = Project.from_config('composetest', config, None)
self.assertEqual(len(project.services), 2)
self.assertTrue(project.use_networking)
def test_get_service(self):
web = Service(