Skip to content
Snippets Groups Projects

LibreNMS retries

Merged Karel van Klink requested to merge hotfix/librenms-retries into develop
1 file
+ 4
2
Compare changes
  • Side-by-side
  • Inline
@@ -7,6 +7,7 @@ from typing import Any, Literal
@@ -7,6 +7,7 @@ from typing import Any, Literal
import requests
import requests
from requests import HTTPError, Response
from requests import HTTPError, Response
 
from requests.adapters import HTTPAdapter
from gso.settings import load_oss_params
from gso.settings import load_oss_params
from gso.utils.helpers import SNMPVersion
from gso.utils.helpers import SNMPVersion
@@ -26,6 +27,7 @@ class LibreNMSClient:
@@ -26,6 +27,7 @@ class LibreNMSClient:
self.snmp_config = config.SNMP
self.snmp_config = config.SNMP
self.session = requests.Session()
self.session = requests.Session()
 
self.session.mount("https://", HTTPAdapter(max_retries=5))
self.session.headers.update({
self.session.headers.update({
"User-Agent": f"geant-service-orchestrator/{metadata.version("geant-service-orchestrator")}",
"User-Agent": f"geant-service-orchestrator/{metadata.version("geant-service-orchestrator")}",
"Accept": "application/json",
"Accept": "application/json",
@@ -34,11 +36,11 @@ class LibreNMSClient:
@@ -34,11 +36,11 @@ class LibreNMSClient:
})
})
def _send_request(
def _send_request(
self, method: Literal["GET", "POST", "PUT", "DELETE"], endpoint: str, data: dict[str, Any] | None = None
self, method: Literal["GET", "POST", "PUT", "DELETE"], endpoint: str, data: dict[str, Any] | None = None
) -> Response:
) -> Response:
url = self.base_url + endpoint
url = self.base_url + endpoint
logger.debug("LibreNMS - Sending request", extra={"method": method, "endpoint": url, "form_data": data})
logger.debug("LibreNMS - Sending request", extra={"method": method, "endpoint": url, "form_data": data})
result = self.session.request(method, url, json=data)
result = self.session.request(method, url, json=data, timeout=(0.5, 75))
logger.debug("LibreNMS - Received response", extra=result.__dict__)
logger.debug("LibreNMS - Received response", extra=result.__dict__)
return result
return result
Loading