mirror of
https://github.com/docker/compose.git
synced 2025-07-21 20:54:32 +02:00
Avoid import ConfigurationError inside compose.utils (circular import)
Signed-off-by: Joffrey F <joffrey@docker.com>
This commit is contained in:
parent
7f82a28572
commit
9430e5bf9d
@ -762,7 +762,10 @@ def process_blkio_config(service_dict):
|
|||||||
for field in ['device_read_bps', 'device_write_bps']:
|
for field in ['device_read_bps', 'device_write_bps']:
|
||||||
if field in service_dict['blkio_config']:
|
if field in service_dict['blkio_config']:
|
||||||
for v in service_dict['blkio_config'].get(field, []):
|
for v in service_dict['blkio_config'].get(field, []):
|
||||||
v['rate'] = parse_bytes(v.get('rate', 0))
|
rate = v.get('rate', 0)
|
||||||
|
v['rate'] = parse_bytes(rate)
|
||||||
|
if v['rate'] is None:
|
||||||
|
raise ConfigurationError('Invalid format for bytes value: "{}"'.format(rate))
|
||||||
|
|
||||||
for field in ['device_read_iops', 'device_write_iops']:
|
for field in ['device_read_iops', 'device_write_iops']:
|
||||||
if field in service_dict['blkio_config']:
|
if field in service_dict['blkio_config']:
|
||||||
|
@ -12,7 +12,6 @@ import six
|
|||||||
from docker.errors import DockerException
|
from docker.errors import DockerException
|
||||||
from docker.utils import parse_bytes as sdk_parse_bytes
|
from docker.utils import parse_bytes as sdk_parse_bytes
|
||||||
|
|
||||||
from .config.errors import ConfigurationError
|
|
||||||
from .errors import StreamParseError
|
from .errors import StreamParseError
|
||||||
from .timeparse import MULTIPLIERS
|
from .timeparse import MULTIPLIERS
|
||||||
from .timeparse import timeparse
|
from .timeparse import timeparse
|
||||||
@ -143,4 +142,4 @@ def parse_bytes(n):
|
|||||||
try:
|
try:
|
||||||
return sdk_parse_bytes(n)
|
return sdk_parse_bytes(n)
|
||||||
except DockerException:
|
except DockerException:
|
||||||
raise ConfigurationError('Invalid format for bytes value: {}'.format(n))
|
return None
|
||||||
|
@ -60,3 +60,11 @@ class TestJsonStream(object):
|
|||||||
{'three': 'four'},
|
{'three': 'four'},
|
||||||
{'x': 2}
|
{'x': 2}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
class TestParseBytes(object):
|
||||||
|
def test_parse_bytes(self):
|
||||||
|
assert utils.parse_bytes('123kb') == 123 * 1024
|
||||||
|
assert utils.parse_bytes(123) == 123
|
||||||
|
assert utils.parse_bytes('foobar') is None
|
||||||
|
assert utils.parse_bytes('123') == 123
|
||||||
|
Loading…
x
Reference in New Issue
Block a user