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:
Joffrey F 2018-01-11 18:48:56 -08:00
parent 4839baf877
commit d63500a191
15 changed files with 99 additions and 60 deletions

View file

@ -1274,13 +1274,6 @@ class CLITestCase(DockerClientTestCase):
bar_container.id
)
def test_up_ordered_networks(self):
self.base_dir = 'tests/fixtures/networks'
result = self.dispatch(['-f', 'ordered-networks.yml', 'up', '-d'])
assert 'Connecting to networks_buzz\nConnecting to networks_foo' \
'\nConnecting to networks_bar' in result.stdout
@v3_only()
def test_up_with_healthcheck(self):
def wait_on_health_status(container, status):

View file

@ -1,15 +0,0 @@
version: "2.3"
services:
web:
image: busybox
command: top
networks: ["foo", "bar", "buzz"]
networks:
foo:
priority: 2
bar:
priority: 1
buzz:
priority: 3

View file

@ -829,6 +829,71 @@ class ProjectTest(DockerClientTestCase):
assert ipam_config.get('IPv4Address') == '172.16.100.100'
assert ipam_config.get('IPv6Address') == 'fe80::1001:102'
@v2_3_only()
def test_up_with_network_priorities(self):
mac_address = '74:6f:75:68:6f:75'
def get_config_data(p1, p2, p3):
return build_config(
version=V2_3,
services=[{
'name': 'web',
'image': 'busybox:latest',
'networks': {
'n1': {
'priority': p1,
},
'n2': {
'priority': p2,
},
'n3': {
'priority': p3,
}
},
'command': 'top',
'mac_address': mac_address
}],
networks={
'n1': {},
'n2': {},
'n3': {}
}
)
config1 = get_config_data(1000, 1, 1)
config2 = get_config_data(2, 3, 1)
config3 = get_config_data(5, 40, 100)
project = Project.from_config(
client=self.client,
name='composetest',
config_data=config1
)
project.up(detached=True)
service_container = project.get_service('web').containers()[0]
net_config = service_container.inspect()['NetworkSettings']['Networks']['composetest_n1']
assert net_config['MacAddress'] == mac_address
project = Project.from_config(
client=self.client,
name='composetest',
config_data=config2
)
project.up(detached=True)
service_container = project.get_service('web').containers()[0]
net_config = service_container.inspect()['NetworkSettings']['Networks']['composetest_n2']
assert net_config['MacAddress'] == mac_address
project = Project.from_config(
client=self.client,
name='composetest',
config_data=config3
)
project.up(detached=True)
service_container = project.get_service('web').containers()[0]
net_config = service_container.inspect()['NetworkSettings']['Networks']['composetest_n3']
assert net_config['MacAddress'] == mac_address
@v2_1_only()
def test_up_with_enable_ipv6(self):
self.require_api_version('1.23')