Update requirements after updating osmclient dependencies
[osm/tests.git] / robot-systest / testsuite / sa_02-vnf_with_vim_metrics_and_autoscaling.robot
index d550810..688eb02 100644 (file)
@@ -72,14 +72,20 @@ Create VNF Descriptor
     Create VNFD   '%{PACKAGES_FOLDER}/${vnfd_pkg}'
 
 
-Get Scale-Out Threshold From VNF
+Get Thresholds From VNF
 
-    ${rc}   ${stdout}=   Run and Return RC and Output   osm vnfpkg-show ${vnfd_name} --literal | yq '.df[0]."scaling-aspect"[0]."scaling-policy"[0]."scaling-criteria"[0]."scale-out-threshold"' | tr -d \\"
+    ${rc}   ${stdout}=   Run and Return RC and Output   osm vnfpkg-show ${vnfd_name} --literal | yq -r '.df[0]."scaling-aspect"[0]."scaling-policy"[0]."scaling-criteria"[0]."scale-out-threshold"'
     Should Be Equal As Integers   ${rc}   ${success_return_code}   msg=${stdout}   values=False
     ${scaleout_threshold}=   Convert To Number   ${stdout}
     Set Suite Variable   ${metric_threshold}   ${scaleout_threshold}
     Log   ${metric_threshold}
 
+    ${rc}   ${stdout}=   Run and Return RC and Output   osm vnfpkg-show ${vnfd_name} --literal | yq -r '.df[0]."scaling-aspect"[0]."scaling-policy"[0]."threshold-time"'
+    Should Be Equal As Integers   ${rc}   ${success_return_code}   msg=${stdout}   values=False
+    ${threshold_time_value}=   Convert To Number   ${stdout}
+    Set Suite Variable   ${threshold_time}   ${threshold_time_value}
+    Log   ${threshold_time}
+
 
 Create NS Descriptor
 
@@ -113,7 +119,8 @@ Get VNF VIM-based Metric Before Auto-scaling
     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   ${prometheus_poll_retries}   ${prometheus_poll_timeout}   Get Metric   ${prometheus_host}   ${prometheus_port}   ${prometheus_user}   ${prometheus_password}   ${metric_name}
+    ${metric_filter}=   Set Variable   ns_id=${ns_id}
+    ${metric_value}=   Wait Until Keyword Succeeds   ${prometheus_poll_retries}   ${prometheus_poll_timeout}   Get Metric   ${prometheus_host}   ${prometheus_port}   ${prometheus_user}   ${prometheus_password}   ${metric_name}   ${metric_filter}
     Run Keyword If   ${metric_value} <= 0   Fail   msg=The metric '${metric_name}' value is '${metric_value}'
     Run Keyword If   ${metric_value} >= ${metric_threshold}   Fail   msg=The metric '${metric_name}' value is higher than '${metric_threshold}' before scaling
 
@@ -131,6 +138,17 @@ Wait VIM-based Metric To Exceed Threshold
     Wait Until Keyword Succeeds   ${prometheus_poll_retries}   ${prometheus_poll_timeout}   Check VIM-based Metric Exceeds Threshold
 
 
+Wait Threshold Time
+
+    ${threshold_time_sleep}=   Evaluate   ${threshold_time} + 1
+    Sleep   ${threshold_time_sleep} minutes   Wait scale-out threshold time plus 1 minute
+
+
+Check VIM-based Metric Exceeds Threshold After Threshold-time
+
+    Check VIM-based Metric Exceeds Threshold
+
+
 Get VDUs After Auto-scaling
 
     Sleep   2 minutes   Wait for auto-scale to take place
@@ -173,7 +191,7 @@ Check VIM-based Metric Exceeds Threshold
     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}=   Get Metric   ${prometheus_host}   ${prometheus_port}   ${prometheus_user}   ${prometheus_password}   ${metric_name}
+    ${metric_filter}=   Set Variable   ns_id=${ns_id}
+    ${metric_value}=   Get Metric   ${prometheus_host}   ${prometheus_port}   ${prometheus_user}   ${prometheus_password}   ${metric_name}   ${metric_filter}
     Run Keyword If   ${metric_value} <= ${metric_threshold}   Fail   msg=The metric '${metric_name}' value is '${metric_value}' which is lower than '${metric_threshold}'
 
-