Merge pull request #3590 from Knetic/oomscore

Added support for oom_score_adj
This commit is contained in:
Aanand Prasad 2016-07-06 11:45:09 -07:00 committed by GitHub
commit 554dc2496a
6 changed files with 30 additions and 1 deletions

View File

@ -70,6 +70,7 @@ DOCKER_CONFIG_KEYS = [
'mem_limit',
'memswap_limit',
'net',
'oom_score_adj'
'pid',
'ports',
'privileged',

View File

@ -166,6 +166,7 @@
}
]
},
"oom_score_adj": {"type": "integer", "minimum": -1000, "maximum": 1000},
"pid": {"type": ["string", "null"]},
"ports": {

View File

@ -53,6 +53,7 @@ DOCKER_START_KEYS = [
'log_opt',
'mem_limit',
'memswap_limit',
'oom_score_adj',
'pid',
'privileged',
'restart',
@ -695,6 +696,7 @@ class Service(object):
cpu_quota=options.get('cpu_quota'),
shm_size=options.get('shm_size'),
tmpfs=options.get('tmpfs'),
oom_score_adj=options.get('oom_score_adj')
)
def build(self, no_cache=False, pull=False, force_rm=False):

View File

@ -715,7 +715,7 @@ then read-write will be used.
> - container_name
> - container_name:rw
### cpu\_shares, cpu\_quota, cpuset, domainname, hostname, ipc, mac\_address, mem\_limit, memswap\_limit, privileged, read\_only, restart, shm\_size, stdin\_open, tty, user, working\_dir
### cpu\_shares, cpu\_quota, cpuset, domainname, hostname, ipc, mac\_address, mem\_limit, memswap\_limit, oom_score_adj, privileged, read\_only, restart, shm\_size, stdin\_open, tty, user, working\_dir
Each of these is a single value, analogous to its
[docker run](https://docs.docker.com/engine/reference/run/) counterpart.

View File

@ -854,6 +854,11 @@ class ServiceTest(DockerClientTestCase):
container = create_and_start_container(service)
self.assertEqual(container.get('HostConfig.RestartPolicy.Name'), 'always')
def test_oom_score_adj_value(self):
service = self.create_service('web', oom_score_adj=500)
container = create_and_start_container(service)
self.assertEqual(container.get('HostConfig.OomScoreAdj'), 500)
def test_restart_on_failure_value(self):
service = self.create_service('web', restart={
'Name': 'on-failure',

View File

@ -1243,6 +1243,26 @@ class ConfigTest(unittest.TestCase):
}
]
def test_oom_score_adj_option(self):
actual = config.load(build_config_details({
'version': '2',
'services': {
'web': {
'image': 'alpine',
'oom_score_adj': 500
}
}
}))
assert actual.services == [
{
'name': 'web',
'image': 'alpine',
'oom_score_adj': 500
}
]
def test_merge_service_dicts_from_files_with_extends_in_base(self):
base = {
'volumes': ['.:/app'],