Implemented dns_opt

Signed-off-by: George Lester <glester491@gmail.com>
This commit is contained in:
George Lester 2016-07-13 02:05:08 -07:00 committed by Joffrey F
parent 31b2d9176b
commit c7b8278e78
5 changed files with 37 additions and 2 deletions

View File

@ -61,6 +61,7 @@ DOCKER_CONFIG_KEYS = [
'devices',
'dns',
'dns_search',
'dns_opt',
'domainname',
'entrypoint',
'env_file',

View File

@ -81,6 +81,13 @@
"devices": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
"dns": {"$ref": "#/definitions/string_or_list"},
"dns_search": {"$ref": "#/definitions/string_or_list"},
"dns_opt": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true
},
"domainname": {"type": "string"},
"entrypoint": {
"oneOf": [

View File

@ -54,6 +54,7 @@ DOCKER_START_KEYS = [
'devices',
'dns',
'dns_search',
'dns_opt',
'env_file',
'extra_hosts',
'group_add',
@ -755,7 +756,7 @@ class Service(object):
network_mode=self.network_mode.mode,
devices=options.get('devices'),
dns=options.get('dns'),
dns_search=options.get('dns_search'),
dns_opt=options.get('dns_opt'),
restart_policy=options.get('restart'),
cap_add=options.get('cap_add'),
cap_drop=options.get('cap_drop'),

View File

@ -890,6 +890,14 @@ class ServiceTest(DockerClientTestCase):
self.assertTrue("root" in host_container_groupadd)
self.assertTrue("1" in host_container_groupadd)
def test_dns_opt_value(self):
service = self.create_service('web', dns_opt=["use-vc", "no-tld-query"])
container = create_and_start_container(service)
dns_opt = container.get('HostConfig.DNSOptions')
self.assertTrue("use-vc" in dns_opt)
self.assertTrue("no-tld-query" in dns_opt)
def test_restart_on_failure_value(self):
service = self.create_service('web', restart={
'Name': 'on-failure',

View File

@ -1411,7 +1411,6 @@ class ConfigTest(unittest.TestCase):
]
def test_group_add_option(self):
actual = config.load(build_config_details({
'version': '2',
'services': {
@ -1430,6 +1429,25 @@ class ConfigTest(unittest.TestCase):
}
]
def test_dns_opt_option(self):
actual = config.load(build_config_details({
'version': '2',
'services': {
'web': {
'image': 'alpine',
'dns_opt': ["use-vc", "no-tld-query"]
}
}
}))
assert actual.services == [
{
'name': 'web',
'image': 'alpine',
'dns_opt': ["use-vc", "no-tld-query"]
}
]
def test_isolation_option(self):
actual = config.load(build_config_details({
'version': V2_1,