mirror of https://github.com/docker/docker-py.git
support MemoryReservation and KernelMemory
Signed-off-by: Kay Yan <kay.yan@daocloud.io>
This commit is contained in:
parent
7b7e07e63b
commit
fc72ac66e9
|
@ -613,8 +613,10 @@ def create_host_config(binds=None, port_bindings=None, lxc_conf=None,
|
||||||
cap_drop=None, devices=None, extra_hosts=None,
|
cap_drop=None, devices=None, extra_hosts=None,
|
||||||
read_only=None, pid_mode=None, ipc_mode=None,
|
read_only=None, pid_mode=None, ipc_mode=None,
|
||||||
security_opt=None, ulimits=None, log_config=None,
|
security_opt=None, ulimits=None, log_config=None,
|
||||||
mem_limit=None, memswap_limit=None, mem_swappiness=None,
|
mem_limit=None, memswap_limit=None,
|
||||||
cgroup_parent=None, group_add=None, cpu_quota=None,
|
mem_reservation=None, kernel_memory=None,
|
||||||
|
mem_swappiness=None, cgroup_parent=None,
|
||||||
|
group_add=None, cpu_quota=None,
|
||||||
cpu_period=None, blkio_weight=None,
|
cpu_period=None, blkio_weight=None,
|
||||||
blkio_weight_device=None, device_read_bps=None,
|
blkio_weight_device=None, device_read_bps=None,
|
||||||
device_write_bps=None, device_read_iops=None,
|
device_write_bps=None, device_read_iops=None,
|
||||||
|
@ -638,6 +640,18 @@ def create_host_config(binds=None, port_bindings=None, lxc_conf=None,
|
||||||
if memswap_limit is not None:
|
if memswap_limit is not None:
|
||||||
host_config['MemorySwap'] = parse_bytes(memswap_limit)
|
host_config['MemorySwap'] = parse_bytes(memswap_limit)
|
||||||
|
|
||||||
|
if mem_reservation:
|
||||||
|
if version_lt(version, '1.21'):
|
||||||
|
raise host_config_version_error('mem_reservation', '1.21')
|
||||||
|
|
||||||
|
host_config['MemoryReservation'] = parse_bytes(mem_reservation)
|
||||||
|
|
||||||
|
if kernel_memory:
|
||||||
|
if version_lt(version, '1.21'):
|
||||||
|
raise host_config_version_error('kernel_memory', '1.21')
|
||||||
|
|
||||||
|
host_config['KernelMemory'] = parse_bytes(kernel_memory)
|
||||||
|
|
||||||
if mem_swappiness is not None:
|
if mem_swappiness is not None:
|
||||||
if version_lt(version, '1.20'):
|
if version_lt(version, '1.20'):
|
||||||
raise host_config_version_error('mem_swappiness', '1.20')
|
raise host_config_version_error('mem_swappiness', '1.20')
|
||||||
|
|
|
@ -171,6 +171,20 @@ class HostConfigTest(base.BaseTestCase):
|
||||||
with pytest.raises(InvalidVersion):
|
with pytest.raises(InvalidVersion):
|
||||||
create_endpoint_config(version='1.21', aliases=['foo', 'bar'])
|
create_endpoint_config(version='1.21', aliases=['foo', 'bar'])
|
||||||
|
|
||||||
|
def test_create_host_config_with_mem_reservation(self):
|
||||||
|
config = create_host_config(version='1.21', mem_reservation=67108864)
|
||||||
|
self.assertEqual(config.get('MemoryReservation'), 67108864)
|
||||||
|
self.assertRaises(
|
||||||
|
InvalidVersion, lambda: create_host_config(
|
||||||
|
version='1.20', mem_reservation=67108864))
|
||||||
|
|
||||||
|
def test_create_host_config_with_kernel_memory(self):
|
||||||
|
config = create_host_config(version='1.21', kernel_memory=67108864)
|
||||||
|
self.assertEqual(config.get('KernelMemory'), 67108864)
|
||||||
|
self.assertRaises(
|
||||||
|
InvalidVersion, lambda: create_host_config(
|
||||||
|
version='1.20', kernel_memory=67108864))
|
||||||
|
|
||||||
|
|
||||||
class UlimitTest(base.BaseTestCase):
|
class UlimitTest(base.BaseTestCase):
|
||||||
def test_create_host_config_dict_ulimit(self):
|
def test_create_host_config_dict_ulimit(self):
|
||||||
|
|
Loading…
Reference in New Issue