mirror of https://github.com/docker/docker-py.git
Fix memory conversion to bytes (#2645)
* Fix memory conversion to bytes Co-authored-by: Ulysses Souza <ulysses.souza@gmail.com> Signed-off-by: aiordache <anca.iordache@docker.com>
This commit is contained in:
parent
30ff9f339c
commit
2c522fb362
|
@ -506,7 +506,7 @@ class ContainerApiMixin(object):
|
|||
bytes) or a string with a units identification char
|
||||
(``100000b``, ``1000k``, ``128m``, ``1g``). If a string is
|
||||
specified without a units character, bytes are assumed as an
|
||||
mem_reservation (int or str): Memory soft limit.
|
||||
mem_reservation (float or str): Memory soft limit.
|
||||
mem_swappiness (int): Tune a container's memory swappiness
|
||||
behavior. Accepts number between 0 and 100.
|
||||
memswap_limit (str or int): Maximum amount of memory + swap a
|
||||
|
@ -1219,8 +1219,8 @@ class ContainerApiMixin(object):
|
|||
cpu_shares (int): CPU shares (relative weight)
|
||||
cpuset_cpus (str): CPUs in which to allow execution
|
||||
cpuset_mems (str): MEMs in which to allow execution
|
||||
mem_limit (int or str): Memory limit
|
||||
mem_reservation (int or str): Memory soft limit
|
||||
mem_limit (float or str): Memory limit
|
||||
mem_reservation (float or str): Memory soft limit
|
||||
memswap_limit (int or str): Total memory (memory + swap), -1 to
|
||||
disable swap
|
||||
kernel_memory (int or str): Kernel memory limit
|
||||
|
|
|
@ -412,7 +412,7 @@ def parse_bytes(s):
|
|||
|
||||
if suffix in units.keys() or suffix.isdigit():
|
||||
try:
|
||||
digits = int(digits_part)
|
||||
digits = float(digits_part)
|
||||
except ValueError:
|
||||
raise errors.DockerException(
|
||||
'Failed converting the string value for memory ({0}) to'
|
||||
|
|
|
@ -5,27 +5,21 @@ import json
|
|||
import os
|
||||
import os.path
|
||||
import shutil
|
||||
import sys
|
||||
import tempfile
|
||||
import unittest
|
||||
|
||||
|
||||
import pytest
|
||||
import six
|
||||
from docker.api.client import APIClient
|
||||
from docker.constants import IS_WINDOWS_PLATFORM
|
||||
from docker.errors import DockerException
|
||||
from docker.utils import (
|
||||
convert_filters, convert_volume_binds, decode_json_header, kwargs_from_env,
|
||||
parse_bytes, parse_devices, parse_env_file, parse_host,
|
||||
parse_repository_tag, split_command, update_headers,
|
||||
)
|
||||
|
||||
from docker.utils import (convert_filters, convert_volume_binds,
|
||||
decode_json_header, kwargs_from_env, parse_bytes,
|
||||
parse_devices, parse_env_file, parse_host,
|
||||
parse_repository_tag, split_command, update_headers)
|
||||
from docker.utils.ports import build_port_bindings, split_port
|
||||
from docker.utils.utils import format_environment
|
||||
|
||||
import pytest
|
||||
|
||||
import six
|
||||
|
||||
TEST_CERT_DIR = os.path.join(
|
||||
os.path.dirname(__file__),
|
||||
'testdata/certs',
|
||||
|
@ -447,11 +441,7 @@ class ParseBytesTest(unittest.TestCase):
|
|||
parse_bytes("127.0.0.1K")
|
||||
|
||||
def test_parse_bytes_float(self):
|
||||
with pytest.raises(DockerException):
|
||||
parse_bytes("1.5k")
|
||||
|
||||
def test_parse_bytes_maxint(self):
|
||||
assert parse_bytes("{0}k".format(sys.maxsize)) == sys.maxsize * 1024
|
||||
assert parse_bytes("1.5k") == 1536
|
||||
|
||||
|
||||
class UtilsTest(unittest.TestCase):
|
||||
|
|
Loading…
Reference in New Issue