Merge pull request #4361 from shin-/4348-serialize-ext-volumes

Remove external_name from volume def in config output
This commit is contained in:
Joffrey F 2017-01-19 17:41:08 -08:00 committed by GitHub
commit 9a0962dacb
4 changed files with 38 additions and 1 deletions

View File

@ -32,6 +32,11 @@ def denormalize_config(config):
if 'external_name' in net_conf:
del net_conf['external_name']
volumes = config.volumes.copy()
for vol_name, vol_conf in volumes.items():
if 'external_name' in vol_conf:
del vol_conf['external_name']
version = config.version
if version == V1:
version = V2_1
@ -40,7 +45,7 @@ def denormalize_config(config):
'version': version,
'services': services,
'networks': networks,
'volumes': config.volumes,
'volumes': volumes,
}

View File

@ -262,6 +262,20 @@ class CLITestCase(DockerClientTestCase):
}
}
def test_config_external_volume(self):
self.base_dir = 'tests/fixtures/volumes'
result = self.dispatch(['-f', 'external-volumes.yml', 'config'])
json_result = yaml.load(result.stdout)
assert 'volumes' in json_result
assert json_result['volumes'] == {
'foo': {
'external': True
},
'bar': {
'external': {'name': 'some_bar'}
}
}
def test_config_v1(self):
self.base_dir = 'tests/fixtures/v1-config'
result = self.dispatch(['config'])

View File

@ -0,0 +1,2 @@
version: '2.1'
services: {}

View File

@ -0,0 +1,16 @@
version: "2.1"
services:
web:
image: busybox
command: top
volumes:
- foo:/var/lib/
- bar:/etc/
volumes:
foo:
external: true
bar:
external:
name: some_bar