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,
|
||||
read_only=None, pid_mode=None, ipc_mode=None,
|
||||
security_opt=None, ulimits=None, log_config=None,
|
||||
mem_limit=None, memswap_limit=None, mem_swappiness=None,
|
||||
cgroup_parent=None, group_add=None, cpu_quota=None,
|
||||
mem_limit=None, memswap_limit=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,
|
||||
blkio_weight_device=None, device_read_bps=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:
|
||||
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 version_lt(version, '1.20'):
|
||||
raise host_config_version_error('mem_swappiness', '1.20')
|
||||
|
|
|
@ -171,6 +171,20 @@ class HostConfigTest(base.BaseTestCase):
|
|||
with pytest.raises(InvalidVersion):
|
||||
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):
|
||||
def test_create_host_config_dict_ulimit(self):
|
||||
|
|
Loading…
Reference in New Issue