mirror of
https://github.com/docker/compose.git
synced 2025-07-23 13:45:00 +02:00
Added support for cgroup_parent
This change adds cgroup-parent support to compose project. It allows each service to specify a 'cgroup_parent' option. Signed-off-by: Mohit Soni <mosoni@paypal.com>
This commit is contained in:
parent
26ff729696
commit
f4efa29377
@ -21,6 +21,7 @@ from .validation import validate_top_level_object
|
|||||||
DOCKER_CONFIG_KEYS = [
|
DOCKER_CONFIG_KEYS = [
|
||||||
'cap_add',
|
'cap_add',
|
||||||
'cap_drop',
|
'cap_drop',
|
||||||
|
'cgroup_parent',
|
||||||
'command',
|
'command',
|
||||||
'cpu_shares',
|
'cpu_shares',
|
||||||
'cpuset',
|
'cpuset',
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
"build": {"type": "string"},
|
"build": {"type": "string"},
|
||||||
"cap_add": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
|
"cap_add": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
|
||||||
"cap_drop": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
|
"cap_drop": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
|
||||||
|
"cgroup_parent": {"type": "string"},
|
||||||
"command": {
|
"command": {
|
||||||
"oneOf": [
|
"oneOf": [
|
||||||
{"type": "string"},
|
{"type": "string"},
|
||||||
|
@ -41,6 +41,7 @@ log = logging.getLogger(__name__)
|
|||||||
DOCKER_START_KEYS = [
|
DOCKER_START_KEYS = [
|
||||||
'cap_add',
|
'cap_add',
|
||||||
'cap_drop',
|
'cap_drop',
|
||||||
|
'cgroup_parent',
|
||||||
'devices',
|
'devices',
|
||||||
'dns',
|
'dns',
|
||||||
'dns_search',
|
'dns_search',
|
||||||
@ -675,6 +676,7 @@ class Service(object):
|
|||||||
read_only = options.get('read_only', None)
|
read_only = options.get('read_only', None)
|
||||||
|
|
||||||
devices = options.get('devices', None)
|
devices = options.get('devices', None)
|
||||||
|
cgroup_parent = options.get('cgroup_parent', None)
|
||||||
|
|
||||||
return self.client.create_host_config(
|
return self.client.create_host_config(
|
||||||
links=self._get_links(link_to_self=one_off),
|
links=self._get_links(link_to_self=one_off),
|
||||||
@ -696,7 +698,8 @@ class Service(object):
|
|||||||
read_only=read_only,
|
read_only=read_only,
|
||||||
pid_mode=pid,
|
pid_mode=pid,
|
||||||
security_opt=security_opt,
|
security_opt=security_opt,
|
||||||
ipc_mode=options.get('ipc')
|
ipc_mode=options.get('ipc'),
|
||||||
|
cgroup_parent=cgroup_parent
|
||||||
)
|
)
|
||||||
|
|
||||||
def build(self, no_cache=False, pull=False):
|
def build(self, no_cache=False, pull=False):
|
||||||
|
@ -56,6 +56,12 @@ Override the default command.
|
|||||||
|
|
||||||
command: bundle exec thin -p 3000
|
command: bundle exec thin -p 3000
|
||||||
|
|
||||||
|
### cgroup_parent
|
||||||
|
|
||||||
|
Specify an optional parent cgroup for the container.
|
||||||
|
|
||||||
|
cgroup_parent: m-executor-abcd
|
||||||
|
|
||||||
### container_name
|
### container_name
|
||||||
|
|
||||||
Specify a custom container name, rather than a generated default name.
|
Specify a custom container name, rather than a generated default name.
|
||||||
|
@ -353,6 +353,13 @@ class ServiceTest(unittest.TestCase):
|
|||||||
service.create_container(do_build=False)
|
service.create_container(do_build=False)
|
||||||
self.assertFalse(self.mock_client.build.called)
|
self.assertFalse(self.mock_client.build.called)
|
||||||
|
|
||||||
|
def test_create_container_no_build_cgroup_parent(self):
|
||||||
|
service = Service('foo', client=self.mock_client, build='.')
|
||||||
|
service.image = lambda: {'Id': 'abc123'}
|
||||||
|
|
||||||
|
service.create_container(do_build=False, cgroup_parent='test')
|
||||||
|
self.assertFalse(self.mock_client.build.called)
|
||||||
|
|
||||||
def test_create_container_no_build_but_needs_build(self):
|
def test_create_container_no_build_but_needs_build(self):
|
||||||
service = Service('foo', client=self.mock_client, build='.')
|
service = Service('foo', client=self.mock_client, build='.')
|
||||||
service.image = lambda *args, **kwargs: mock_get_image([])
|
service.image = lambda *args, **kwargs: mock_get_image([])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user