From cd8cfe92d331fc936b2079915cb31f25d5a054f8 Mon Sep 17 00:00:00 2001 From: aguilarherna Date: Wed, 4 Nov 2020 16:52:40 +0100 Subject: [PATCH] Added retries and timeout parameters for Prometheus queries Change-Id: I2bba94a7ac15ad5d2713a1ab379692726d174489 Signed-off-by: aguilarherna --- .../resources/sa_01-vnf_with_vim_metrics_data.py | 3 +++ .../sa_02-vnf_with_vim_metrics_and_autoscaling_data.py | 3 +++ .../resources/sa_07-alarms_from_sa-related_vnfs_data.py | 3 +++ robot-systest/testsuite/sa_01-vnf_with_vim_metrics.robot | 6 ++++-- .../sa_02-vnf_with_vim_metrics_and_autoscaling.robot | 8 ++++++-- .../testsuite/sa_07-alarms_from_sa-related_vnfs.robot | 4 +++- 6 files changed, 22 insertions(+), 5 deletions(-) diff --git a/robot-systest/resources/sa_01-vnf_with_vim_metrics_data.py b/robot-systest/resources/sa_01-vnf_with_vim_metrics_data.py index 86026f8..af1779f 100644 --- a/robot-systest/resources/sa_01-vnf_with_vim_metrics_data.py +++ b/robot-systest/resources/sa_01-vnf_with_vim_metrics_data.py @@ -21,6 +21,9 @@ else: prometheus_host = os.environ.get('OSM_HOSTNAME') prometheus_port = '9091' +# Prometheus polling interval and retries +prometheus_poll_retries = '15 times' +prometheus_poll_timeout = '1 minute' # Prometheus metrics to retrieve metric_1_name = 'osm_cpu_utilization' metric_2_name = 'osm_average_memory_utilization' diff --git a/robot-systest/resources/sa_02-vnf_with_vim_metrics_and_autoscaling_data.py b/robot-systest/resources/sa_02-vnf_with_vim_metrics_and_autoscaling_data.py index 2821a60..ef1ee29 100644 --- a/robot-systest/resources/sa_02-vnf_with_vim_metrics_and_autoscaling_data.py +++ b/robot-systest/resources/sa_02-vnf_with_vim_metrics_and_autoscaling_data.py @@ -21,6 +21,9 @@ else: prometheus_host = os.environ.get('OSM_HOSTNAME') prometheus_port = '9091' +# Prometheus polling interval and retries +prometheus_poll_retries = '15 times' +prometheus_poll_timeout = '1 minute' # Prometheus metric and threshold metric_name = 'osm_cpu_utilization' metric_threshold = 60 diff --git a/robot-systest/resources/sa_07-alarms_from_sa-related_vnfs_data.py b/robot-systest/resources/sa_07-alarms_from_sa-related_vnfs_data.py index 22fa448..f281cce 100644 --- a/robot-systest/resources/sa_07-alarms_from_sa-related_vnfs_data.py +++ b/robot-systest/resources/sa_07-alarms_from_sa-related_vnfs_data.py @@ -21,6 +21,9 @@ else: prometheus_host = os.environ.get('OSM_HOSTNAME') prometheus_port = '9091' +# Prometheus polling interval and retries +prometheus_poll_retries = '15 times' +prometheus_poll_timeout = '1 minute' # Webhook Service NS and VNF descriptor package folder ws_vnfd_pkg = 'hackfest_basic_vnf' ws_nsd_pkg = 'hackfest_basic_ns' diff --git a/robot-systest/testsuite/sa_01-vnf_with_vim_metrics.robot b/robot-systest/testsuite/sa_01-vnf_with_vim_metrics.robot index d3404bd..29e5e8e 100644 --- a/robot-systest/testsuite/sa_01-vnf_with_vim_metrics.robot +++ b/robot-systest/testsuite/sa_01-vnf_with_vim_metrics.robot @@ -55,13 +55,15 @@ Instantiate Network Service Get VNF VIM-based Metrics [Tags] vnf_vim_metrics sanity regression + Variable Should Exist ${prometheus_poll_retries} msg=Metric polling retries is not available + Variable Should Exist ${prometheus_poll_timeout} msg=Metric polling timeout is not available Variable Should Exist ${prometheus_host} msg=Prometheus address is not available Variable Should Exist ${prometheus_port} msg=Prometheus port is not available Variable Should Exist ${metric_1_name} msg=Prometheus first metric name is not available Variable Should Exist ${metric_2_name} msg=Prometheus second metric name is not available - ${metric_1_value}= Wait Until Keyword Succeeds 6 times 2 minutes Get Metric ${prometheus_host} ${prometheus_port} ${metric_1_name} + ${metric_1_value}= Wait Until Keyword Succeeds ${prometheus_poll_retries} ${prometheus_poll_timeout} Get Metric ${prometheus_host} ${prometheus_port} ${metric_1_name} Run Keyword Unless ${metric_1_value} > 0 Fail msg=The metric '${metric_1_name}' value is '${metric_1_value}' - ${metric_2_value}= Wait Until Keyword Succeeds 6 times 2 minutes Get Metric ${prometheus_host} ${prometheus_port} ${metric_2_name} + ${metric_2_value}= Wait Until Keyword Succeeds ${prometheus_poll_retries} ${prometheus_poll_timeout} Get Metric ${prometheus_host} ${prometheus_port} ${metric_2_name} Run Keyword Unless ${metric_2_value} > 0 Fail msg=The metric '${metric_2_name}' value is '${metric_2_value}' diff --git a/robot-systest/testsuite/sa_02-vnf_with_vim_metrics_and_autoscaling.robot b/robot-systest/testsuite/sa_02-vnf_with_vim_metrics_and_autoscaling.robot index b5827df..449722b 100644 --- a/robot-systest/testsuite/sa_02-vnf_with_vim_metrics_and_autoscaling.robot +++ b/robot-systest/testsuite/sa_02-vnf_with_vim_metrics_and_autoscaling.robot @@ -78,10 +78,12 @@ Get VNF IP Address Get VNF VIM-based Metric Before Auto-scaling [Tags] vnf_vim_metrics_autoscaling sanity regression + Variable Should Exist ${prometheus_poll_retries} msg=Metric polling retries is not available + Variable Should Exist ${prometheus_poll_timeout} msg=Metric polling timeout is not available Variable Should Exist ${prometheus_host} msg=Prometheus address is not available Variable Should Exist ${prometheus_port} msg=Prometheus port is not available Variable Should Exist ${metric_name} msg=Prometheus metric name is not available - ${metric_value}= Wait Until Keyword Succeeds 6 times 2 minutes Get Metric ${prometheus_host} ${prometheus_port} ${metric_name} + ${metric_value}= Wait Until Keyword Succeeds ${prometheus_poll_retries} ${prometheus_poll_timeout} Get Metric ${prometheus_host} ${prometheus_port} ${metric_name} Run Keyword Unless ${metric_value} > 0 Fail msg=The metric '${metric_name}' value is '${metric_value}' Run Keyword Unless ${metric_value} < ${metric_threshold} Fail msg=The metric '${metric_name}' value is higher than '${metric_threshold}' before scaling @@ -96,7 +98,9 @@ Increase VIM-based Metric To Force Auto-scaling Wait VIM-based Metric To Exceed Threshold [Tags] vnf_vim_metrics_autoscaling sanity regression - Wait Until Keyword Succeeds 6 times 2 minutes Check VIM-based Metric Exceeds Threshold + Variable Should Exist ${prometheus_poll_retries} msg=Metric polling retries is not available + Variable Should Exist ${prometheus_poll_timeout} msg=Metric polling timeout is not available + Wait Until Keyword Succeeds ${prometheus_poll_retries} ${prometheus_poll_timeout} Check VIM-based Metric Exceeds Threshold Get VDUs After Auto-scaling diff --git a/robot-systest/testsuite/sa_07-alarms_from_sa-related_vnfs.robot b/robot-systest/testsuite/sa_07-alarms_from_sa-related_vnfs.robot index 94ed0f1..1881e32 100644 --- a/robot-systest/testsuite/sa_07-alarms_from_sa-related_vnfs.robot +++ b/robot-systest/testsuite/sa_07-alarms_from_sa-related_vnfs.robot @@ -103,10 +103,12 @@ Instantiate Network Service Get Alarm Metric [Tags] alarms_sa_related_vnfs sanity regression + Variable Should Exist ${prometheus_poll_retries} msg=Metric polling retries is not available + Variable Should Exist ${prometheus_poll_timeout} msg=Metric polling timeout is not available Variable Should Exist ${prometheus_host} msg=Prometheus address is not available Variable Should Exist ${prometheus_port} msg=Prometheus port is not available Variable Should Exist ${metric_name} msg=Prometheus metric name is not available - ${metric_value}= Wait Until Keyword Succeeds 6 times 2 minutes Get Metric ${prometheus_host} ${prometheus_port} ${metric_name} + ${metric_value}= Wait Until Keyword Succeeds ${prometheus_poll_retries} ${prometheus_poll_timeout} Get Metric ${prometheus_host} ${prometheus_port} ${metric_name} Run Keyword Unless ${metric_value} > 0 Fail msg=The metric '${metric_name}' value is '${metric_value}' -- 2.17.1