From 86d5c31424187329f69a7e0efaa9dbe0dac98e56 Mon Sep 17 00:00:00 2001 From: Benoit HERARD Date: Thu, 28 Sep 2017 13:31:29 +0200 Subject: Fix connection error due to invalid lib version usage. Connection timeouts on "requests" objects was developped with requests 2.18 but target runtime is 2.12. Advanced timeout management of 2.18 is not available in 2.12. Change-Id: Ie6d81b91d4bcc0d73cffd007d9e46cdb19e47597 Signed-off-by: Benoit HERARD --- functest/energy/energy.py | 14 +++++++++----- functest/tests/unit/energy/test_functest_energy.py | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/functest/energy/energy.py b/functest/energy/energy.py index 2aabc06da..119942bbf 100644 --- a/functest/energy/energy.py +++ b/functest/energy/energy.py @@ -16,7 +16,6 @@ import urllib from functools import wraps import requests -import urllib3 from functest.utils.constants import CONST import functest.utils.functest_utils as ft_utils @@ -27,6 +26,9 @@ def finish_session(current_scenario): if current_scenario is None: EnergyRecorder.stop() else: + EnergyRecorder.logger.debug("Restoring previous scenario (%s/%s)", + current_scenario["scenario"], + current_scenario["step"]) EnergyRecorder.submit_scenario( current_scenario["scenario"], current_scenario["step"] @@ -78,7 +80,7 @@ class EnergyRecorder(object): INITIAL_STEP = "running" # Default connection timeout - CONNECTION_TIMEOUT = urllib3.Timeout(connect=1, read=3) + CONNECTION_TIMEOUT = 4 @staticmethod def load_config(): @@ -102,8 +104,6 @@ class EnergyRecorder(object): uri_comp = "/recorders/environment/" uri_comp += urllib.quote_plus(environment) - EnergyRecorder.logger.debug( - "API recorder at: " + energy_recorder_uri + uri_comp) # Creds creds_usr = ft_utils.get_functest_config( @@ -124,6 +124,9 @@ class EnergyRecorder(object): }, timeout=EnergyRecorder.CONNECTION_TIMEOUT) api_available = json.loads(resp.text)["status"] == "OK" + EnergyRecorder.logger.info( + "API recorder available at : %s", + energy_recorder_uri + uri_comp) except Exception as exc: # pylint: disable=broad-except EnergyRecorder.logger.info( "Energy recorder API is not available, cause=%s", @@ -151,7 +154,8 @@ class EnergyRecorder(object): return_status = True # Ensure that connectyvity settings are loaded if EnergyRecorder.load_config(): - EnergyRecorder.logger.debug("Submitting scenario") + EnergyRecorder.logger.debug("Submitting scenario (%s/%s)", + scenario, step) # Create API payload payload = { diff --git a/functest/tests/unit/energy/test_functest_energy.py b/functest/tests/unit/energy/test_functest_energy.py index 738bd3e14..99110802e 100644 --- a/functest/tests/unit/energy/test_functest_energy.py +++ b/functest/tests/unit/energy/test_functest_energy.py @@ -249,7 +249,7 @@ class EnergyRecorderTest(unittest.TestCase): calls = [mock.call.start(self.case_name), mock.call.submit_scenario(PREVIOUS_SCENARIO, PREVIOUS_STEP)] - recorder_mock.assert_has_calls(calls) + recorder_mock.assert_has_calls(calls, True) def test_decorator_preserve_return(self): """Test that decorator preserve method returned value.""" -- cgit 1.2.3-korg