From 7c3de7ac0ff93bae27f2a0a30198bb3d2e24cbf1 Mon Sep 17 00:00:00 2001 From: Lukasz Rajewski Date: Mon, 4 Mar 2024 20:14:02 +0100 Subject: Add retry option to onap_service Add retry option to onap_service Issue-ID: TEST-404 Signed-off-by: Lukasz Rajewski Change-Id: Ib86ad8faed3a89786054ab49eeb58f4cc46471fb --- src/onapsdk/configuration/global_settings.py | 2 ++ src/onapsdk/onap_service.py | 5 +++-- tests/test_settings.py | 3 ++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/onapsdk/configuration/global_settings.py b/src/onapsdk/configuration/global_settings.py index 7c09187..8bfea14 100644 --- a/src/onapsdk/configuration/global_settings.py +++ b/src/onapsdk/configuration/global_settings.py @@ -74,6 +74,8 @@ PLATFORM = "Onapsdk_platform" DEFAULT_REQUEST_TIMEOUT = 60 +DEFAULT_REQUEST_RETRIES = 10 + # SDC DISTRIBUTION SDC_SERVICE_DISTRIBUTION_COMPONENTS = [ "SO-sdc-controller", diff --git a/src/onapsdk/onap_service.py b/src/onapsdk/onap_service.py index 566c9bc..fffc2b2 100644 --- a/src/onapsdk/onap_service.py +++ b/src/onapsdk/onap_service.py @@ -126,6 +126,7 @@ class OnapService(ABC): basic_auth: Dict[str, str] = kwargs.pop('basic_auth', None) exception = kwargs.pop('exception', None) timeout = kwargs.pop('timeout', None) + retries = kwargs.pop('retries', settings.DEFAULT_REQUEST_RETRIES) if method == "PATCH": headers = kwargs.pop('headers', cls.patch_headers).copy() else: @@ -136,7 +137,7 @@ class OnapService(ABC): data = kwargs.get('data', None) try: # build the request with the requested method - session = cls.__requests_retry_session(timeout=timeout) + session = cls.__requests_retry_session(retries=retries, timeout=timeout) if cert: session.cert = cert OnapService._set_basic_auth_if_needed(basic_auth, session) @@ -257,7 +258,7 @@ class OnapService(ABC): raise exception @staticmethod - def __requests_retry_session(retries: int = 10, + def __requests_retry_session(retries: int = settings.DEFAULT_REQUEST_RETRIES, backoff_factor: float = 0.3, session: requests.Session = None, timeout: int = None diff --git a/tests/test_settings.py b/tests/test_settings.py index 4977e66..154eed0 100644 --- a/tests/test_settings.py +++ b/tests/test_settings.py @@ -24,7 +24,7 @@ from onapsdk.exceptions import ModuleError def test_global_settings(): """Test global settings.""" - assert len(settings._settings) == 48 + assert len(settings._settings) == 49 assert settings.AAI_URL == "https://aai.api.sparky.simpledemo.onap.org:30233" assert settings.CDS_URL == "http://portal.api.simpledemo.onap.org:30449" assert settings.SDNC_URL == "https://sdnc.api.simpledemo.onap.org:30267" @@ -57,6 +57,7 @@ def test_global_settings(): assert settings.LOB == "Onapsdk_lob" assert settings.PLATFORM == "Onapsdk_platform" assert settings.DEFAULT_REQUEST_TIMEOUT == 60 + assert settings.DEFAULT_REQUEST_RETRIES == 10 assert hasattr(settings, "AAI_AUTH") assert hasattr(settings, "CDS_AUTH") assert hasattr(settings, "SDC_AUTH") -- cgit 1.2.3-korg