mirror of
https://github.com/docker/compose.git
synced 2025-07-27 15:44:08 +02:00
Remove all non-external networks on down.
Also moves the shutdown test fixtures to be a more general v2-full fixture. Signed-off-by: Daniel Nephin <dnephin@docker.com>
This commit is contained in:
parent
796d97e394
commit
0f234154c2
@ -65,7 +65,10 @@ class Network(object):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def remove(self):
|
def remove(self):
|
||||||
# TODO: don't remove external networks
|
if self.external_name:
|
||||||
|
log.info("Network %s is external, skipping", self.full_name)
|
||||||
|
return
|
||||||
|
|
||||||
log.info("Removing network {}".format(self.full_name))
|
log.info("Removing network {}".format(self.full_name))
|
||||||
self.client.remove_network(self.full_name)
|
self.client.remove_network(self.full_name)
|
||||||
|
|
||||||
|
@ -275,7 +275,7 @@ class Project(object):
|
|||||||
def down(self, remove_image_type, include_volumes):
|
def down(self, remove_image_type, include_volumes):
|
||||||
self.stop()
|
self.stop()
|
||||||
self.remove_stopped(v=include_volumes)
|
self.remove_stopped(v=include_volumes)
|
||||||
self.remove_default_network()
|
self.remove_networks()
|
||||||
|
|
||||||
if include_volumes:
|
if include_volumes:
|
||||||
self.remove_volumes()
|
self.remove_volumes()
|
||||||
@ -286,11 +286,11 @@ class Project(object):
|
|||||||
for service in self.get_services():
|
for service in self.get_services():
|
||||||
service.remove_image(remove_image_type)
|
service.remove_image(remove_image_type)
|
||||||
|
|
||||||
def remove_default_network(self):
|
def remove_networks(self):
|
||||||
if not self.use_networking:
|
if not self.use_networking:
|
||||||
return
|
return
|
||||||
if self.uses_default_network():
|
for network in self.networks:
|
||||||
self.default_network.remove()
|
network.remove()
|
||||||
|
|
||||||
def remove_volumes(self):
|
def remove_volumes(self):
|
||||||
for volume in self.volumes:
|
for volume in self.volumes:
|
||||||
|
@ -340,16 +340,20 @@ class CLITestCase(DockerClientTestCase):
|
|||||||
assert '--rmi flag must be' in result.stderr
|
assert '--rmi flag must be' in result.stderr
|
||||||
|
|
||||||
def test_down(self):
|
def test_down(self):
|
||||||
self.base_dir = 'tests/fixtures/shutdown'
|
self.base_dir = 'tests/fixtures/v2-full'
|
||||||
self.dispatch(['up', '-d'])
|
self.dispatch(['up', '-d'])
|
||||||
wait_on_condition(ContainerCountCondition(self.project, 1))
|
wait_on_condition(ContainerCountCondition(self.project, 2))
|
||||||
|
|
||||||
result = self.dispatch(['down', '--rmi=local', '--volumes'])
|
result = self.dispatch(['down', '--rmi=local', '--volumes'])
|
||||||
assert 'Stopping shutdown_web_1' in result.stderr
|
assert 'Stopping v2full_web_1' in result.stderr
|
||||||
assert 'Removing shutdown_web_1' in result.stderr
|
assert 'Stopping v2full_other_1' in result.stderr
|
||||||
assert 'Removing volume shutdown_data' in result.stderr
|
assert 'Removing v2full_web_1' in result.stderr
|
||||||
assert 'Removing image shutdown_web' in result.stderr
|
assert 'Removing v2full_other_1' in result.stderr
|
||||||
assert 'Removing network shutdown_default' in result.stderr
|
assert 'Removing volume v2full_data' in result.stderr
|
||||||
|
assert 'Removing image v2full_web' in result.stderr
|
||||||
|
assert 'Removing image busybox' not in result.stderr
|
||||||
|
assert 'Removing network v2full_default' in result.stderr
|
||||||
|
assert 'Removing network v2full_front' in result.stderr
|
||||||
|
|
||||||
def test_up_detached(self):
|
def test_up_detached(self):
|
||||||
self.dispatch(['up', '-d'])
|
self.dispatch(['up', '-d'])
|
||||||
|
10
tests/fixtures/shutdown/docker-compose.yml
vendored
10
tests/fixtures/shutdown/docker-compose.yml
vendored
@ -1,10 +0,0 @@
|
|||||||
|
|
||||||
version: 2
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
data:
|
|
||||||
driver: local
|
|
||||||
|
|
||||||
services:
|
|
||||||
web:
|
|
||||||
build: .
|
|
20
tests/fixtures/v2-full/docker-compose.yml
vendored
Normal file
20
tests/fixtures/v2-full/docker-compose.yml
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
|
||||||
|
version: 2
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
data:
|
||||||
|
driver: local
|
||||||
|
|
||||||
|
networks:
|
||||||
|
front: {}
|
||||||
|
|
||||||
|
services:
|
||||||
|
web:
|
||||||
|
build: .
|
||||||
|
networks:
|
||||||
|
- front
|
||||||
|
- default
|
||||||
|
|
||||||
|
other:
|
||||||
|
image: busybox:latest
|
||||||
|
command: top
|
Loading…
x
Reference in New Issue
Block a user