Kaydet (Commit) 89243196 authored tarafından Michael Schubert's avatar Michael Schubert

create_host_config: allow setting oom_kill_disable

Signed-off-by: 's avatarMichael Schubert <schu@schu.io>
üst 881e24c2
......@@ -470,7 +470,7 @@ def parse_bytes(s):
def create_host_config(
binds=None, port_bindings=None, lxc_conf=None,
binds=None, port_bindings=None, lxc_conf=None, oom_kill_disable=False,
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,
......@@ -511,6 +511,13 @@ def create_host_config(
if privileged:
host_config['Privileged'] = privileged
if oom_kill_disable:
if not version_gte(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:
host_config['PublishAllPorts'] = publish_all_ports
......
......@@ -71,6 +71,7 @@ for example:
* port_bindings (dict): Port bindings. See [Port bindings](port-bindings.md)
for more information.
* 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
* links (dict or list of tuples): either as a dictionary mapping name to alias
or as a list of `(name, alias)` tuples
......
......@@ -13,7 +13,7 @@ import six
from docker.client import Client
from docker.constants import DEFAULT_DOCKER_API_VERSION
from docker.errors import DockerException
from docker.errors import DockerException, InvalidVersion
from docker.utils import (
parse_repository_tag, parse_host, convert_filters, kwargs_from_env,
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)
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):
def test_create_host_config_dict_ulimit(self):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment