Skip to content

Commit c78e73b

Browse files
committed
Attempting to make service update tests less flaky
Signed-off-by: Viktor Adam <[email protected]>
1 parent b2d08e6 commit c78e73b

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

tests/integration/api_service_test.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1150,7 +1150,7 @@ def _update_service(self, svc_id, *args, **kwargs):
11501150
try:
11511151
self.client.update_service(*args, **kwargs)
11521152
except docker.errors.APIError as e:
1153-
if e.explanation == "update out of sequence":
1153+
if e.explanation.endswith("update out of sequence"):
11541154
svc_info = self.client.inspect_service(svc_id)
11551155
version_index = svc_info['Version']['Index']
11561156

@@ -1160,3 +1160,5 @@ def _update_service(self, svc_id, *args, **kwargs):
11601160
kwargs['version'] = version_index
11611161

11621162
self.client.update_service(*args, **kwargs)
1163+
else:
1164+
raise

tests/integration/models_services_test.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -188,16 +188,20 @@ def test_scale_service(self):
188188
image="alpine",
189189
command="sleep 300"
190190
)
191-
assert len(service.tasks()) == 1
191+
tasks = []
192+
while len(tasks) == 0:
193+
tasks = service.tasks()
194+
assert len(tasks) == 1
192195
service.update(
193196
# create argument
194197
name=service.name,
195198
mode=docker.types.ServiceMode('replicated', replicas=2),
196199
# ContainerSpec argument
197200
command="sleep 600"
198201
)
199-
service.reload()
200-
assert len(service.tasks()) >= 2
202+
while len(tasks) == 1:
203+
tasks = service.tasks()
204+
assert len(tasks) >= 2
201205

202206
@helpers.requires_api_version('1.25')
203207
def test_restart_service(self):

0 commit comments

Comments
 (0)