Skip to content

Commit 8c918a1

Browse files
authored
feat: Add retry strategy with backoff of 0.5s (#159)
1 parent a623869 commit 8c918a1

File tree

13 files changed

+209
-202
lines changed

13 files changed

+209
-202
lines changed

sdcclient/_common.py

Lines changed: 66 additions & 38 deletions
Large diffs are not rendered by default.

sdcclient/_monitor.py

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import json
22
import re
33

4-
import requests
5-
64
from sdcclient._common import _SdcCommon
75
from sdcclient.monitor import EventsClientV2, DashboardsClientV3
86

@@ -24,7 +22,7 @@ def get_alerts(self):
2422
**Example**
2523
`examples/list_alerts.py <https://github.com/draios/python-sdc-client/blob/master/examples/list_alerts.py>`_
2624
'''
27-
res = requests.get(self.url + '/api/alerts', headers=self.hdrs, verify=self.ssl_verify)
25+
res = self.http.get(self.url + '/api/alerts', headers=self.hdrs, verify=self.ssl_verify)
2826
return self._request_result(res)
2927

3028
def get_notifications(self, from_ts, to_ts, state=None, resolved=None):
@@ -57,7 +55,7 @@ def get_notifications(self, from_ts, to_ts, state=None, resolved=None):
5755
if resolved is not None:
5856
params['resolved'] = resolved
5957

60-
res = requests.get(self.url + '/api/notifications', headers=self.hdrs, params=params, verify=self.ssl_verify)
58+
res = self.http.get(self.url + '/api/notifications', headers=self.hdrs, params=params, verify=self.ssl_verify)
6159
if not self._checkResponse(res):
6260
return [False, self.lasterr]
6361
return [True, res.json()]
@@ -82,7 +80,7 @@ def update_notification_resolution(self, notification, resolved):
8280
notification['resolved'] = resolved
8381
data = {'notification': notification}
8482

85-
res = requests.put(self.url + '/api/notifications/' + str(notification['id']), headers=self.hdrs, data=json.dumps(data), verify=self.ssl_verify)
83+
res = self.http.put(self.url + '/api/notifications/' + str(notification['id']), headers=self.hdrs, data=json.dumps(data), verify=self.ssl_verify)
8684
return self._request_result(res)
8785

8886
def create_alert(self, name=None, description=None, severity=None, for_atleast_s=None, condition=None,
@@ -121,7 +119,7 @@ def create_alert(self, name=None, description=None, severity=None, for_atleast_s
121119
#
122120
# Get the list of alerts from the server
123121
#
124-
res = requests.get(self.url + '/api/alerts', headers=self.hdrs, verify=self.ssl_verify)
122+
res = self.http.get(self.url + '/api/alerts', headers=self.hdrs, verify=self.ssl_verify)
125123
if not self._checkResponse(res):
126124
return [False, self.lasterr]
127125
res.json()
@@ -167,7 +165,7 @@ def create_alert(self, name=None, description=None, severity=None, for_atleast_s
167165
#
168166
# Create the new alert
169167
#
170-
res = requests.post(self.url + '/api/alerts', headers=self.hdrs, data=json.dumps(alert_json), verify=self.ssl_verify)
168+
res = self.http.post(self.url + '/api/alerts', headers=self.hdrs, data=json.dumps(alert_json), verify=self.ssl_verify)
171169
return self._request_result(res)
172170

173171
def update_alert(self, alert):
@@ -186,7 +184,7 @@ def update_alert(self, alert):
186184
if 'id' not in alert:
187185
return [False, "Invalid alert format"]
188186

189-
res = requests.put(self.url + '/api/alerts/' + str(alert['id']), headers=self.hdrs, data=json.dumps({"alert": alert}), verify=self.ssl_verify)
187+
res = self.http.put(self.url + '/api/alerts/' + str(alert['id']), headers=self.hdrs, data=json.dumps({"alert": alert}), verify=self.ssl_verify)
190188
return self._request_result(res)
191189

192190
def delete_alert(self, alert):
@@ -205,7 +203,7 @@ def delete_alert(self, alert):
205203
if 'id' not in alert:
206204
return [False, 'Invalid alert format']
207205

208-
res = requests.delete(self.url + '/api/alerts/' + str(alert['id']), headers=self.hdrs, verify=self.ssl_verify)
206+
res = self.http.delete(self.url + '/api/alerts/' + str(alert['id']), headers=self.hdrs, verify=self.ssl_verify)
209207
if not self._checkResponse(res):
210208
return [False, self.lasterr]
211209

@@ -221,7 +219,7 @@ def get_explore_grouping_hierarchy(self):
221219
**Example**
222220
`examples/print_explore_grouping.py <https://github.com/draios/python-sdc-client/blob/master/examples/print_explore_grouping.py>`_
223221
'''
224-
res = requests.get(self.url + '/api/groupConfigurations', headers=self.hdrs, verify=self.ssl_verify)
222+
res = self.http.get(self.url + '/api/groupConfigurations', headers=self.hdrs, verify=self.ssl_verify)
225223
if not self._checkResponse(res):
226224
return [False, self.lasterr]
227225

@@ -259,7 +257,7 @@ def set_explore_grouping_hierarchy(self, new_hierarchy):
259257
for item in new_hierarchy:
260258
body['groups'][0]['groupBy'].append({'metric': item})
261259

262-
res = requests.put(self.url + '/api/groupConfigurations/explore', headers=self.hdrs,
260+
res = self.http.put(self.url + '/api/groupConfigurations/explore', headers=self.hdrs,
263261
data=json.dumps(body), verify=self.ssl_verify)
264262
if not self._checkResponse(res):
265263
return [False, self.lasterr]
@@ -277,7 +275,7 @@ def get_metrics(self):
277275
**Example**
278276
`examples/list_metrics.py <https://github.com/draios/python-sdc-client/blob/master/examples/list_metrics.py>`_
279277
'''
280-
res = requests.get(self.url + '/api/data/metrics', headers=self.hdrs, verify=self.ssl_verify)
278+
res = self.http.get(self.url + '/api/data/metrics', headers=self.hdrs, verify=self.ssl_verify)
281279
return self._request_result(res)
282280

283281
@staticmethod

sdcclient/_monitor_v1.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
import json
21
import copy
3-
import requests
4-
import re
2+
import json
53

64
from sdcclient._monitor import SdMonitorClient
75

@@ -75,7 +73,7 @@ def create_dashboard_from_template(self, dashboard_name, template, scope, shared
7573
#
7674
# Create the new dashboard
7775
#
78-
res = requests.post(self.url + self._dashboards_api_endpoint, headers=self.hdrs, data=json.dumps({'dashboard': template}), verify=self.ssl_verify)
76+
res = self.http.post(self.url + self._dashboards_api_endpoint, headers=self.hdrs, data=json.dumps({'dashboard': template}), verify=self.ssl_verify)
7977
return self._request_result(res)
8078

8179
def create_dashboard(self, name):
@@ -101,7 +99,7 @@ def create_dashboard(self, name):
10199
#
102100
# Create the new dashboard
103101
#
104-
res = requests.post(self.url + self._dashboards_api_endpoint, headers=self.hdrs, data=json.dumps({'dashboard': dashboard_configuration}),
102+
res = self.http.post(self.url + self._dashboards_api_endpoint, headers=self.hdrs, data=json.dumps({'dashboard': dashboard_configuration}),
105103
verify=self.ssl_verify)
106104
return self._request_result(res)
107105

@@ -242,7 +240,7 @@ def add_dashboard_panel(self, dashboard, name, panel_type, metrics, scope=None,
242240
#
243241
# Update dashboard
244242
#
245-
res = requests.put(self.url + self._dashboards_api_endpoint + '/' + str(dashboard['id']), headers=self.hdrs, data=json.dumps({'dashboard': dashboard_configuration}),
243+
res = self.http.put(self.url + self._dashboards_api_endpoint + '/' + str(dashboard['id']), headers=self.hdrs, data=json.dumps({'dashboard': dashboard_configuration}),
246244
verify=self.ssl_verify)
247245
return self._request_result(res)
248246

@@ -283,7 +281,7 @@ def filter_fn(panel):
283281
#
284282
# Update dashboard
285283
#
286-
res = requests.put(self.url + self._dashboards_api_endpoint + '/' + str(dashboard['id']), headers=self.hdrs, data=json.dumps({'dashboard': dashboard_configuration}),
284+
res = self.http.put(self.url + self._dashboards_api_endpoint + '/' + str(dashboard['id']), headers=self.hdrs, data=json.dumps({'dashboard': dashboard_configuration}),
287285
verify=self.ssl_verify)
288286
return self._request_result(res)
289287
else:

0 commit comments

Comments
 (0)