mirror of
https://github.com/docker/compose.git
synced 2026-08-04 14:47:40 +00:00
Move priority option to service network reference
Add ordering to networks.get_networks Fix priority test Signed-off-by: Joffrey F <joffrey@docker.com>
This commit is contained in:
parent
4839baf877
commit
d63500a191
15 changed files with 99 additions and 60 deletions
|
|
@ -2,6 +2,7 @@ from __future__ import absolute_import
|
|||
from __future__ import unicode_literals
|
||||
|
||||
import logging
|
||||
from collections import OrderedDict
|
||||
|
||||
from docker.errors import NotFound
|
||||
from docker.types import IPAMConfig
|
||||
|
|
@ -26,7 +27,7 @@ OPTS_EXCEPTIONS = [
|
|||
class Network(object):
|
||||
def __init__(self, client, project, name, driver=None, driver_opts=None,
|
||||
ipam=None, external=False, internal=False, enable_ipv6=False,
|
||||
labels=None, custom_name=False, priority=0):
|
||||
labels=None, custom_name=False):
|
||||
self.client = client
|
||||
self.project = project
|
||||
self.name = name
|
||||
|
|
@ -38,7 +39,6 @@ class Network(object):
|
|||
self.enable_ipv6 = enable_ipv6
|
||||
self.labels = labels
|
||||
self.custom_name = custom_name
|
||||
self.priority = priority
|
||||
|
||||
def ensure(self):
|
||||
if self.external:
|
||||
|
|
@ -215,7 +215,6 @@ def build_networks(name, config_data, client):
|
|||
enable_ipv6=data.get('enable_ipv6'),
|
||||
labels=data.get('labels'),
|
||||
custom_name=data.get('name') is not None,
|
||||
priority=data.get('priority'),
|
||||
)
|
||||
for network_name, data in network_config.items()
|
||||
}
|
||||
|
|
@ -282,11 +281,13 @@ 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(
|
||||
'Service "{}" uses an undefined network "{}"'
|
||||
.format(service_dict['name'], name))
|
||||
|
||||
return networks
|
||||
return OrderedDict(sorted(
|
||||
networks.items(),
|
||||
key=lambda t: t[1].get('priority') or 0, reverse=True
|
||||
))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue