mirror of https://github.com/docker/docker-py.git
Fix resetting ContainerSpec properties to None
Signed-off-by: Viktor Adam <rycus86@gmail.com>
This commit is contained in:
parent
c78e73bf7a
commit
828b865bd7
|
@ -428,7 +428,8 @@ class ServiceApiMixin(object):
|
||||||
if 'ContainerSpec' not in merged:
|
if 'ContainerSpec' not in merged:
|
||||||
merged['ContainerSpec'] = {}
|
merged['ContainerSpec'] = {}
|
||||||
for cs_key, cs_value in override['ContainerSpec'].items():
|
for cs_key, cs_value in override['ContainerSpec'].items():
|
||||||
merged['ContainerSpec'][cs_key] = cs_value
|
if cs_value is not None:
|
||||||
else:
|
merged['ContainerSpec'][cs_key] = cs_value
|
||||||
|
elif ts_value is not None:
|
||||||
merged[ts_key] = ts_value
|
merged[ts_key] = ts_value
|
||||||
return merged
|
return merged
|
||||||
|
|
|
@ -193,15 +193,15 @@ class ServiceTest(unittest.TestCase):
|
||||||
tasks = service.tasks()
|
tasks = service.tasks()
|
||||||
assert len(tasks) == 1
|
assert len(tasks) == 1
|
||||||
service.update(
|
service.update(
|
||||||
# create argument
|
|
||||||
name=service.name,
|
|
||||||
mode=docker.types.ServiceMode('replicated', replicas=2),
|
mode=docker.types.ServiceMode('replicated', replicas=2),
|
||||||
# ContainerSpec argument
|
|
||||||
command="sleep 600"
|
|
||||||
)
|
)
|
||||||
while len(tasks) == 1:
|
while len(tasks) == 1:
|
||||||
tasks = service.tasks()
|
tasks = service.tasks()
|
||||||
assert len(tasks) >= 2
|
assert len(tasks) >= 2
|
||||||
|
# check that the container spec is not overridden with None
|
||||||
|
service.reload()
|
||||||
|
spec = service.attrs['Spec']['TaskTemplate']['ContainerSpec']
|
||||||
|
assert spec.get('Command') == ['sleep', '300']
|
||||||
|
|
||||||
@helpers.requires_api_version('1.25')
|
@helpers.requires_api_version('1.25')
|
||||||
def test_restart_service(self):
|
def test_restart_service(self):
|
||||||
|
|
Loading…
Reference in New Issue