Skip to content

Commit a66c892

Browse files
committed
Renaming new argument
Signed-off-by: Viktor Adam <[email protected]>
1 parent 828b865 commit a66c892

File tree

3 files changed

+41
-48
lines changed

3 files changed

+41
-48
lines changed

docker/api/service.py

Lines changed: 23 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,21 @@ def raise_version_error(param, min_version):
6262
raise_version_error('ContainerSpec.privileges', '1.30')
6363

6464

65+
def _merge_task_template(current, override):
66+
merged = current.copy()
67+
if override is not None:
68+
for ts_key, ts_value in override.items():
69+
if ts_key == 'ContainerSpec':
70+
if 'ContainerSpec' not in merged:
71+
merged['ContainerSpec'] = {}
72+
for cs_key, cs_value in override['ContainerSpec'].items():
73+
if cs_value is not None:
74+
merged['ContainerSpec'][cs_key] = cs_value
75+
elif ts_value is not None:
76+
merged[ts_key] = ts_value
77+
return merged
78+
79+
6580
class ServiceApiMixin(object):
6681
@utils.minimum_version('1.24')
6782
def create_service(
@@ -306,7 +321,7 @@ def tasks(self, filters=None):
306321
def update_service(self, service, version, task_template=None, name=None,
307322
labels=None, mode=None, update_config=None,
308323
networks=None, endpoint_config=None,
309-
endpoint_spec=None, use_current_spec=False):
324+
endpoint_spec=None, fetch_current_spec=False):
310325
"""
311326
Update a service.
312327
@@ -328,8 +343,8 @@ def update_service(self, service, version, task_template=None, name=None,
328343
the service to. Default: ``None``.
329344
endpoint_spec (EndpointSpec): Properties that can be configured to
330345
access and load balance a service. Default: ``None``.
331-
use_current_spec (boolean): Use the undefined settings from the
332-
previous specification of the service. Default: ``False``
346+
fetch_current_spec (boolean): Use the undefined settings from the
347+
current specification of the service. Default: ``False``
333348
334349
Returns:
335350
``True`` if successful.
@@ -347,11 +362,10 @@ def update_service(self, service, version, task_template=None, name=None,
347362

348363
_check_api_features(self._version, task_template, update_config)
349364

350-
if use_current_spec:
365+
if fetch_current_spec:
366+
inspect_defaults = True
351367
if utils.version_lt(self._version, '1.29'):
352368
inspect_defaults = None
353-
else:
354-
inspect_defaults = True
355369
current = self.inspect_service(
356370
service, insert_defaults=inspect_defaults
357371
)['Spec']
@@ -363,15 +377,9 @@ def update_service(self, service, version, task_template=None, name=None,
363377
data = {}
364378
headers = {}
365379

366-
if name is not None:
367-
data['Name'] = name
368-
else:
369-
data['Name'] = current.get('Name')
380+
data['Name'] = current.get('Name') if name is None else name
370381

371-
if labels is not None:
372-
data['Labels'] = labels
373-
else:
374-
data['Labels'] = current.get('Labels')
382+
data['Labels'] = current.get('Labels') if labels is None else labels
375383

376384
if mode is not None:
377385
if not isinstance(mode, dict):
@@ -380,7 +388,7 @@ def update_service(self, service, version, task_template=None, name=None,
380388
else:
381389
data['Mode'] = current.get('Mode')
382390

383-
data['TaskTemplate'] = self._merge_task_template(
391+
data['TaskTemplate'] = _merge_task_template(
384392
current.get('TaskTemplate', {}), task_template
385393
)
386394

@@ -418,18 +426,3 @@ def update_service(self, service, version, task_template=None, name=None,
418426
)
419427
self._raise_for_status(resp)
420428
return True
421-
422-
@staticmethod
423-
def _merge_task_template(current, override):
424-
merged = current.copy()
425-
if override is not None:
426-
for ts_key, ts_value in override.items():
427-
if ts_key == 'ContainerSpec':
428-
if 'ContainerSpec' not in merged:
429-
merged['ContainerSpec'] = {}
430-
for cs_key, cs_value in override['ContainerSpec'].items():
431-
if cs_value is not None:
432-
merged['ContainerSpec'][cs_key] = cs_value
433-
elif ts_value is not None:
434-
merged[ts_key] = ts_value
435-
return merged

docker/models/services.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -299,10 +299,10 @@ def _get_create_service_kwargs(func_name, kwargs):
299299
if 'force_update' in kwargs:
300300
task_template_kwargs['force_update'] = kwargs.pop('force_update')
301301

302-
# use the current spec by default if updating the service
302+
# fetch the current spec by default if updating the service
303303
# through the model
304-
use_current_spec = kwargs.pop('use_current_spec', True)
305-
create_kwargs['use_current_spec'] = use_current_spec
304+
fetch_current_spec = kwargs.pop('fetch_current_spec', True)
305+
create_kwargs['fetch_current_spec'] = fetch_current_spec
306306

307307
# All kwargs should have been consumed by this point, so raise
308308
# error if any are left

tests/integration/api_service_test.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -726,7 +726,7 @@ def test_update_service_with_defaults_name(self):
726726

727727
task_tmpl = docker.types.TaskTemplate(container_spec, force_update=10)
728728
self._update_service(
729-
svc_id, name, version_index, task_tmpl, use_current_spec=True
729+
svc_id, name, version_index, task_tmpl, fetch_current_spec=True
730730
)
731731
svc_info = self.client.inspect_service(svc_id)
732732
new_index = svc_info['Version']['Index']
@@ -753,7 +753,7 @@ def test_update_service_with_defaults_labels(self):
753753
task_tmpl = docker.types.TaskTemplate(container_spec, force_update=10)
754754
self._update_service(
755755
svc_id, name, version_index, task_tmpl, name=name,
756-
use_current_spec=True
756+
fetch_current_spec=True
757757
)
758758
svc_info = self.client.inspect_service(svc_id)
759759
new_index = svc_info['Version']['Index']
@@ -781,7 +781,7 @@ def test_update_service_with_defaults_mode(self):
781781

782782
self._update_service(
783783
svc_id, name, version_index, labels={'force': 'update'},
784-
use_current_spec=True
784+
fetch_current_spec=True
785785
)
786786
svc_info = self.client.inspect_service(svc_id)
787787
new_index = svc_info['Version']['Index']
@@ -811,7 +811,7 @@ def test_update_service_with_defaults_container_labels(self):
811811

812812
self._update_service(
813813
svc_id, name, version_index, labels={'force': 'update'},
814-
use_current_spec=True
814+
fetch_current_spec=True
815815
)
816816
svc_info = self.client.inspect_service(svc_id)
817817
new_index = svc_info['Version']['Index']
@@ -827,7 +827,7 @@ def test_update_service_with_defaults_container_labels(self):
827827
)
828828
task_tmpl = docker.types.TaskTemplate(container_spec)
829829
self._update_service(
830-
svc_id, name, new_index, task_tmpl, use_current_spec=True
830+
svc_id, name, new_index, task_tmpl, fetch_current_spec=True
831831
)
832832
svc_info = self.client.inspect_service(svc_id)
833833
newer_index = svc_info['Version']['Index']
@@ -858,7 +858,7 @@ def test_update_service_with_defaults_update_config(self):
858858

859859
self._update_service(
860860
svc_id, name, version_index, labels={'force': 'update'},
861-
use_current_spec=True
861+
fetch_current_spec=True
862862
)
863863
svc_info = self.client.inspect_service(svc_id)
864864
new_index = svc_info['Version']['Index']
@@ -896,7 +896,7 @@ def test_update_service_with_defaults_networks(self):
896896

897897
self._update_service(
898898
svc_id, name, version_index, labels={'force': 'update'},
899-
use_current_spec=True
899+
fetch_current_spec=True
900900
)
901901
svc_info = self.client.inspect_service(svc_id)
902902
new_index = svc_info['Version']['Index']
@@ -908,7 +908,7 @@ def test_update_service_with_defaults_networks(self):
908908

909909
self._update_service(
910910
svc_id, name, new_index, networks=[net1['Id']],
911-
use_current_spec=True
911+
fetch_current_spec=True
912912
)
913913
svc_info = self.client.inspect_service(svc_id)
914914
assert 'Networks' in svc_info['Spec']['TaskTemplate']
@@ -951,7 +951,7 @@ def test_update_service_with_defaults_endpoint_spec(self):
951951

952952
self._update_service(
953953
svc_id, name, version_index, labels={'force': 'update'},
954-
use_current_spec=True
954+
fetch_current_spec=True
955955
)
956956
svc_info = self.client.inspect_service(svc_id)
957957
new_index = svc_info['Version']['Index']
@@ -1003,7 +1003,7 @@ def test_update_service_remove_healthcheck(self):
10031003
version_index = svc_info['Version']['Index']
10041004

10051005
self._update_service(
1006-
svc_id, name, version_index, task_tmpl, use_current_spec=True
1006+
svc_id, name, version_index, task_tmpl, fetch_current_spec=True
10071007
)
10081008
svc_info = self.client.inspect_service(svc_id)
10091009
new_index = svc_info['Version']['Index']
@@ -1030,7 +1030,7 @@ def test_update_service_remove_labels(self):
10301030
version_index = svc_info['Version']['Index']
10311031

10321032
self._update_service(
1033-
svc_id, name, version_index, labels={}, use_current_spec=True
1033+
svc_id, name, version_index, labels={}, fetch_current_spec=True
10341034
)
10351035
svc_info = self.client.inspect_service(svc_id)
10361036
new_index = svc_info['Version']['Index']
@@ -1061,7 +1061,7 @@ def test_update_service_remove_container_labels(self):
10611061
)
10621062
task_tmpl = docker.types.TaskTemplate(container_spec)
10631063
self._update_service(
1064-
svc_id, name, version_index, task_tmpl, use_current_spec=True
1064+
svc_id, name, version_index, task_tmpl, fetch_current_spec=True
10651065
)
10661066
svc_info = self.client.inspect_service(svc_id)
10671067
new_index = svc_info['Version']['Index']
@@ -1100,7 +1100,7 @@ def test_update_service_with_network_change(self):
11001100
task_tmpl = docker.types.TaskTemplate(container_spec)
11011101
self._update_service(
11021102
svc_id, name, version_index, task_tmpl, name=name,
1103-
networks=[net2['Id']], use_current_spec=True
1103+
networks=[net2['Id']], fetch_current_spec=True
11041104
)
11051105
svc_info = self.client.inspect_service(svc_id)
11061106
task_template = svc_info['Spec']['TaskTemplate']
@@ -1114,7 +1114,7 @@ def test_update_service_with_network_change(self):
11141114

11151115
self._update_service(
11161116
svc_id, name, new_index, name=name, networks=[net1['Id']],
1117-
use_current_spec=True
1117+
fetch_current_spec=True
11181118
)
11191119
svc_info = self.client.inspect_service(svc_id)
11201120
task_template = svc_info['Spec']['TaskTemplate']
@@ -1136,7 +1136,7 @@ def test_update_service_with_network_change(self):
11361136
)
11371137
self._update_service(
11381138
svc_id, name, new_index, task_tmpl, name=name,
1139-
use_current_spec=True
1139+
fetch_current_spec=True
11401140
)
11411141
svc_info = self.client.inspect_service(svc_id)
11421142
task_template = svc_info['Spec']['TaskTemplate']

0 commit comments

Comments
 (0)