From 4dd54b83e8a4b0a3f61c42f985edf0ba11fe11a4 Mon Sep 17 00:00:00 2001 From: dinesh Date: Tue, 28 Mar 2017 18:25:27 +0530 Subject: [PATCH] Add storage_opt in v2.1 Signed-off-by: dinesh --- compose/config/config_schema_v2.1.json | 1 + compose/service.py | 2 ++ tests/integration/service_test.py | 7 +++++++ 3 files changed, 10 insertions(+) diff --git a/compose/config/config_schema_v2.1.json b/compose/config/config_schema_v2.1.json index 9004000ea..5aed9f7b1 100644 --- a/compose/config/config_schema_v2.1.json +++ b/compose/config/config_schema_v2.1.json @@ -229,6 +229,7 @@ "stdin_open": {"type": "boolean"}, "stop_grace_period": {"type": "string", "format": "duration"}, "stop_signal": {"type": "string"}, + "storage_opt": {"type": "object"}, "tmpfs": {"$ref": "#/definitions/string_or_list"}, "tty": {"type": "boolean"}, "ulimits": { diff --git a/compose/service.py b/compose/service.py index 03c41ce67..7ee63771a 100644 --- a/compose/service.py +++ b/compose/service.py @@ -82,6 +82,7 @@ HOST_CONFIG_KEYS = [ 'restart', 'security_opt', 'shm_size', + 'storage_opt', 'sysctls', 'userns_mode', 'volumes_from', @@ -854,6 +855,7 @@ class Service(object): volume_driver=options.get('volume_driver'), cpuset_cpus=options.get('cpuset'), cpu_shares=options.get('cpu_shares'), + storage_opt=options.get('storage_opt') ) def get_secret_volumes(self): diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index baf21af3c..e0aac2147 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -208,6 +208,13 @@ class ServiceTest(DockerClientTestCase): service.start_container(container) self.assertEqual(set(container.get('HostConfig.SecurityOpt')), set(security_opt)) + def test_create_container_with_storage_opt(self): + storage_opt = {'size': '1G'} + service = self.create_service('db', storage_opt=storage_opt) + container = service.create_container() + service.start_container(container) + self.assertEqual(container.get('HostConfig.StorageOpt'), storage_opt) + def test_create_container_with_mac_address(self): service = self.create_service('db', mac_address='02:42:ac:11:65:43') container = service.create_container()