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:
|
||||
merged['ContainerSpec'] = {}
|
||||
for cs_key, cs_value in override['ContainerSpec'].items():
|
||||
merged['ContainerSpec'][cs_key] = cs_value
|
||||
else:
|
||||
if cs_value is not None:
|
||||
merged['ContainerSpec'][cs_key] = cs_value
|
||||
elif ts_value is not None:
|
||||
merged[ts_key] = ts_value
|
||||
return merged
|
||||
|
|
|
@ -193,15 +193,15 @@ class ServiceTest(unittest.TestCase):
|
|||
tasks = service.tasks()
|
||||
assert len(tasks) == 1
|
||||
service.update(
|
||||
# create argument
|
||||
name=service.name,
|
||||
mode=docker.types.ServiceMode('replicated', replicas=2),
|
||||
# ContainerSpec argument
|
||||
command="sleep 600"
|
||||
)
|
||||
while len(tasks) == 1:
|
||||
tasks = service.tasks()
|
||||
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')
|
||||
def test_restart_service(self):
|
||||
|
|
Loading…
Reference in New Issue