Skip to content

Commit 0a422f3

Browse files
author
Marian Ganisin
authored
Merge pull request #126 from mganisin/backoff-404
Limit backoff on wait_for_tenant just for 404 errors.
2 parents b0dc196 + ab36a65 commit 0a422f3

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

threescale_api/client.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,18 @@ def wait_for_tenant(self) -> bool:
6868
# ultimate readiness check. There might be duplicates though, so
6969
# worth to review it one day
7070
try:
71-
return self.account_plans.exists() \
71+
return self.account_plans.exists(throws=True) \
7272
and len(self.account_plans.fetch()["plans"]) >= 1 \
7373
and len(self.account_plans.list()) >= 1 \
74-
and self.accounts.exists() \
74+
and self.accounts.exists(throws=True) \
7575
and len(self.accounts.list()) >= 1 \
76-
and self.services.exists() \
76+
and self.services.exists(throws=True) \
7777
and len(self.services.list()) >= 1
78+
except errors.ApiClientError as err:
79+
if err.code in (404, 503):
80+
log.info("wait_for_tenant failed: %s", err)
81+
return False
82+
raise err
7883
except Exception as err:
7984
log.info("wait_for_tenant failed: %s", err)
8085
return False

threescale_api/defaults.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ def delete(self, entity_id: int = None, **kwargs) -> bool:
9191
response = self.rest.delete(url=url, **kwargs)
9292
return response.ok
9393

94-
def exists(self, entity_id=None, **kwargs) -> bool:
94+
def exists(self, entity_id=None, throws=False, **kwargs) -> bool:
9595
"""Check whether the resource exists
9696
Args:
9797
entity_id(int): Entity id
@@ -101,7 +101,7 @@ def exists(self, entity_id=None, **kwargs) -> bool:
101101
"""
102102
log.info(self._log_message("[EXIST] Resource exist ", entity_id=entity_id, args=kwargs))
103103
url = self._entity_url(entity_id=entity_id)
104-
response = self.rest.get(url=url, throws=False, **kwargs)
104+
response = self.rest.get(url=url, throws=throws, **kwargs)
105105
return response.ok
106106

107107
def update(self, entity_id=None, params: dict = None, **kwargs) -> 'DefaultResource':

0 commit comments

Comments
 (0)