diff options
| author | Dustin Falgout <dustin@falgout.us> | 2015-10-30 20:57:15 -0500 |
|---|---|---|
| committer | Dustin Falgout <dustin@falgout.us> | 2015-11-05 02:20:53 -0600 |
| commit | c07dd53a2aea40ffb4c5080a7b741eb25485d691 (patch) | |
| tree | 8150c72a1e04b974ae3e94ca63825dc485e59722 /docker/utils/utils.py | |
| parent | 47ab89ec2bd3bddf1221b856ffbaff333edeabb4 (diff) | |
| download | docker-py-c07dd53a2aea40ffb4c5080a7b741eb25485d691.tar.gz | |
Incorporates feedback from and closes #814
Signed-off-by: Dustin Falgout <dustin@falgout.us>
Diffstat (limited to 'docker/utils/utils.py')
| -rw-r--r-- | docker/utils/utils.py | 34 |
1 files changed, 24 insertions, 10 deletions
diff --git a/docker/utils/utils.py b/docker/utils/utils.py index 39d0eba..b9424f0 100644 --- a/docker/utils/utils.py +++ b/docker/utils/utils.py @@ -469,16 +469,17 @@ def parse_bytes(s): return s -def create_host_config( - binds=None, port_bindings=None, lxc_conf=None, - publish_all_ports=False, links=None, privileged=False, - dns=None, dns_search=None, volumes_from=None, network_mode=None, - restart_policy=None, cap_add=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, cgroup_parent=None, group_add=None, cpu_quota=None, - cpu_period=None, version=None -): +def create_host_config(binds=None, port_bindings=None, lxc_conf=None, + publish_all_ports=False, links=None, privileged=False, + dns=None, dns_search=None, volumes_from=None, + network_mode=None, restart_policy=None, cap_add=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, + cpu_period=None, version=None): + host_config = {} if not version: @@ -491,6 +492,7 @@ def create_host_config( if mem_limit is not None: if isinstance(mem_limit, six.string_types): mem_limit = parse_bytes(mem_limit) + host_config['Memory'] = mem_limit if memswap_limit is not None: @@ -498,6 +500,18 @@ def create_host_config( memswap_limit = parse_bytes(memswap_limit) host_config['MemorySwap'] = memswap_limit + if mem_swappiness is not None: + if version_lt(version, '1.20'): + raise errors.InvalidVersion( + 'mem_swappiness param not supported for API version < 1.20' + ) + if not isinstance(mem_swappiness, int): + raise TypeError( + 'Invalid type for mem_swappiness param: expected int but' + ' found {0}'.format(type(mem_swappiness)) + ) + host_config['MemorySwappiness'] = mem_swappiness + if pid_mode not in (None, 'host'): raise errors.DockerException( 'Invalid value for pid param: {0}'.format(pid_mode) |
