mirror of https://github.com/docker/docker-py.git
Merge branch 'oom-kill-disable-pr' of https://github.com/schu/docker-py into schu-oom-kill-disable-pr
This commit is contained in:
commit
dfcc1d87bf
|
@ -469,16 +469,16 @@ def parse_bytes(s):
|
||||||
return s
|
return s
|
||||||
|
|
||||||
|
|
||||||
def create_host_config(binds=None, port_bindings=None, lxc_conf=None,
|
def create_host_config(
|
||||||
publish_all_ports=False, links=None, privileged=False,
|
binds=None, port_bindings=None, lxc_conf=None, publish_all_ports=False,
|
||||||
dns=None, dns_search=None, volumes_from=None,
|
links=None, privileged=False, dns=None, dns_search=None, volumes_from=None,
|
||||||
network_mode=None, restart_policy=None, cap_add=None,
|
network_mode=None, restart_policy=None, cap_add=None, cap_drop=None,
|
||||||
cap_drop=None, devices=None, extra_hosts=None,
|
devices=None, extra_hosts=None, read_only=None, pid_mode=None,
|
||||||
read_only=None, pid_mode=None, ipc_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, mem_swappiness=None,
|
||||||
cgroup_parent=None, group_add=None, cpu_quota=None,
|
cgroup_parent=None, group_add=None, cpu_quota=None, cpu_period=None,
|
||||||
cpu_period=None, version=None):
|
oom_kill_disable=False, version=None
|
||||||
|
):
|
||||||
|
|
||||||
host_config = {}
|
host_config = {}
|
||||||
|
|
||||||
|
@ -525,6 +525,13 @@ def create_host_config(binds=None, port_bindings=None, lxc_conf=None,
|
||||||
if privileged:
|
if privileged:
|
||||||
host_config['Privileged'] = privileged
|
host_config['Privileged'] = privileged
|
||||||
|
|
||||||
|
if oom_kill_disable:
|
||||||
|
if version_lt(version, '1.19'):
|
||||||
|
raise errors.InvalidVersion(
|
||||||
|
'oom_kill_disable param not supported for API version < 1.19'
|
||||||
|
)
|
||||||
|
host_config['OomKillDisable'] = oom_kill_disable
|
||||||
|
|
||||||
if publish_all_ports:
|
if publish_all_ports:
|
||||||
host_config['PublishAllPorts'] = publish_all_ports
|
host_config['PublishAllPorts'] = publish_all_ports
|
||||||
|
|
||||||
|
|
|
@ -72,6 +72,7 @@ for example:
|
||||||
* port_bindings (dict): Port bindings. See [Port bindings](port-bindings.md)
|
* port_bindings (dict): Port bindings. See [Port bindings](port-bindings.md)
|
||||||
for more information.
|
for more information.
|
||||||
* lxc_conf (dict): LXC config
|
* lxc_conf (dict): LXC config
|
||||||
|
* oom_kill_disable (bool): Whether to disable OOM killer
|
||||||
* publish_all_ports (bool): Whether to publish all ports to the host
|
* publish_all_ports (bool): Whether to publish all ports to the host
|
||||||
* links (dict or list of tuples): either as a dictionary mapping name to alias
|
* links (dict or list of tuples): either as a dictionary mapping name to alias
|
||||||
or as a list of `(name, alias)` tuples
|
or as a list of `(name, alias)` tuples
|
||||||
|
|
|
@ -13,7 +13,7 @@ import six
|
||||||
|
|
||||||
from docker.client import Client
|
from docker.client import Client
|
||||||
from docker.constants import DEFAULT_DOCKER_API_VERSION
|
from docker.constants import DEFAULT_DOCKER_API_VERSION
|
||||||
from docker.errors import DockerException
|
from docker.errors import DockerException, InvalidVersion
|
||||||
from docker.utils import (
|
from docker.utils import (
|
||||||
parse_repository_tag, parse_host, convert_filters, kwargs_from_env,
|
parse_repository_tag, parse_host, convert_filters, kwargs_from_env,
|
||||||
create_host_config, Ulimit, LogConfig, parse_bytes, parse_env_file,
|
create_host_config, Ulimit, LogConfig, parse_bytes, parse_env_file,
|
||||||
|
@ -62,6 +62,13 @@ class HostConfigTest(base.BaseTestCase):
|
||||||
config = create_host_config(version='1.20', cpu_period=1999)
|
config = create_host_config(version='1.20', cpu_period=1999)
|
||||||
self.assertEqual(config.get('CpuPeriod'), 1999)
|
self.assertEqual(config.get('CpuPeriod'), 1999)
|
||||||
|
|
||||||
|
def test_create_host_config_with_oom_kill_disable(self):
|
||||||
|
config = create_host_config(version='1.20', oom_kill_disable=True)
|
||||||
|
self.assertEqual(config.get('OomKillDisable'), True)
|
||||||
|
self.assertRaises(
|
||||||
|
InvalidVersion, lambda: create_host_config(version='1.18.3',
|
||||||
|
oom_kill_disable=True))
|
||||||
|
|
||||||
|
|
||||||
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