Explorar o código

Fixed network priorities. Resolves #5042

Signed-off-by: Zal Daroga <[email protected]>
Zal Daroga %!s(int64=7) %!d(string=hai) anos
pai
achega
55ee95b6d0

+ 1 - 0
compose/network.py

@@ -282,6 +282,7 @@ def get_networks(service_dict, network_definitions):
     for name, netdef in get_network_defs_for_service(service_dict).items():
         network = network_definitions.get(name)
         if network:
+            netdef['priority'] = network.priority
             networks[network.full_name] = netdef
         else:
             raise ConfigurationError(

+ 1 - 0
compose/service.py

@@ -575,6 +575,7 @@ class Service(object):
                     container.id,
                     network)
 
+            print('Connecting to {}'.format(network))
             self.client.connect_container_to_network(
                 container.id, network,
                 aliases=self._get_aliases(netdefs, container),

+ 3 - 9
tests/acceptance/cli_test.py

@@ -1276,15 +1276,9 @@ class CLITestCase(DockerClientTestCase):
 
     def test_up_ordered_networks(self):
         self.base_dir = 'tests/fixtures/networks'
+        result = self.dispatch(['-f', 'ordered-networks.yml', 'up', '-d'])
 
-        self.dispatch(['-f', 'ordered-networks.yml', 'up', '-d'])
-
-        containers = self.project.get_service('web').containers()
-
-        for container in containers:
-            networks = container.get('NetworkSettings.Networks')
-            assert networks.keys()[0] == "networks_bar"
-            assert networks.keys()[1] == "networks_foo"
+        assert 'Connecting to networks_bar\nConnecting to networks_foo' in result.stdout
 
     @v3_only()
     def test_up_with_healthcheck(self):
@@ -1899,7 +1893,7 @@ class CLITestCase(DockerClientTestCase):
         result = self.dispatch(['run', 'simple'])
 
         if six.PY2:  # Can't retrieve output on Py3. See issue #3670
-            assert value == result.stdout.strip()
+            assert value in result.stdout.strip()
 
         container = self.project.containers(one_off=OneOffFilter.only, stopped=True)[0]
         environment = container.get('Config.Env')

+ 1 - 1
tests/fixtures/networks/ordered-networks.yml

@@ -1,4 +1,4 @@
-version: "2"
+version: "2.3"
 
 services:
   web: