mirror of https://github.com/docker/compose.git
Merge pull request #3590 from Knetic/oomscore
Added support for oom_score_adj
This commit is contained in:
commit
554dc2496a
|
@ -70,6 +70,7 @@ DOCKER_CONFIG_KEYS = [
|
|||
'mem_limit',
|
||||
'memswap_limit',
|
||||
'net',
|
||||
'oom_score_adj'
|
||||
'pid',
|
||||
'ports',
|
||||
'privileged',
|
||||
|
|
|
@ -166,6 +166,7 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"oom_score_adj": {"type": "integer", "minimum": -1000, "maximum": 1000},
|
||||
"pid": {"type": ["string", "null"]},
|
||||
|
||||
"ports": {
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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'],
|
||||
|
|
Loading…
Reference in New Issue