Replace prometheus host and port by URL and infer it from OSM_HOSTNAME

Change-Id: Iff647f8c61ad3891ff995f4d458ce93e0a0d9ac6
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
diff --git a/robot-systest/lib/prometheus_lib.resource b/robot-systest/lib/prometheus_lib.resource
index be3c120..4ad3028 100644
--- a/robot-systest/lib/prometheus_lib.resource
+++ b/robot-systest/lib/prometheus_lib.resource
@@ -34,13 +34,18 @@
 Set Testsuite Prometheus Variables
     [Documentation]   Set Testsuite Prometheus Variables to be used in subsequent test cases
 
-    IF   ${PROMETHEUS_HOST} == 'UNKNOWN'
+    IF   '${PROMETHEUS_HOST}' == 'UNKNOWN'
         ${local_prometheus_host}=   Get Environment Variable   OSM_HOSTNAME
+        IF   '${local_prometheus_host}'.startswith('nbi.')
+            ${local_prometheus_host}=   Replace String   ${local_prometheus_host}   nbi.   prometheus.
+        END
         Set Suite Variable   ${PROMETHEUS_HOST}   ${local_prometheus_host}
-        Set Suite Variable   ${PROMETHEUS_HOST}   9091
+        Set Suite Variable   ${PROMETHEUS_PORT}   80
     END
+    Set Suite Variable   ${PROMETHEUS_URL}   http://${PROMETHEUS_HOST}:${PROMETHEUS_PORT}
     Log   ${PROMETHEUS_PORT}
     Log   ${PROMETHEUS_HOST}
+    Log   ${PROMETHEUS_URL}
     Log   ${PROMETHEUS_USER}
     Log   ${PROMETHEUS_PASSWORD}
 
@@ -49,16 +54,22 @@
     ...                 The filter parameters are given to this function in key=value format (one argument per key/value pair).
     ...                 Fails if the metric is not found or has multiple values.
     ...                 Examples of execution:
-    ...                     \${metric}=   Get Metric   \${prometheus_ip}   \${prometheus_port}   ${prometheus_password}   \${metric}
-    ...                     \${metric}=   Get Metric   \${prometheus_ip}   \${prometheus_port}   ${prometheus_password}   \${metric}   \${param1}=\${value1}   \${param2}=\${value2}
-    [Arguments]   ${prometheus_ip}   ${prometheus_port}   ${prometheus_user}   ${prometheus_password}   ${metric}   @{filter_parameters}
+    ...                     \${metric}=   Get Metric   \${prometheus_url}   ${prometheus_password}   \${metric}
+    ...                     \${metric}=   Get Metric   \${prometheus_url}   ${prometheus_password}   \${metric}   \${param1}=\${value1}   \${param2}=\${value2}
+    [Arguments]   ${prometheus_url}   ${prometheus_user}   ${prometheus_password}   ${metric}   @{filter_parameters}
+    Log   ${prometheus_url}
+    Log   ${prometheus_user}
+    Log   ${prometheus_password}
+    Log   ${metric}
+    Log   ${filter_parameters}
     ${filter}=   Set Variable   ${EMPTY}
     FOR   ${param}   IN   @{filter_parameters}
         ${match}   ${param_name}   ${param_value}=   Should Match Regexp   ${param}   (.+)=(.+)   msg=Syntax error in filter parameters
         Log   ${match},${param_name},${param_value}
         ${filter}=   Catenate   SEPARATOR=   ${filter}   ${param_name}="${param_value}",
     END
-    ${resp}=   Execute Prometheus Instant Query   ${prometheus_ip}   ${prometheus_port}   ${prometheus_user}   ${prometheus_password}   query=${metric}{${filter}}
+    ${resp}=   Execute Prometheus Instant Query   ${prometheus_url}   ${prometheus_user}   ${prometheus_password}   query=${metric}{${filter}}
+    Log   ${resp}
     ${result_list}=   Convert To List   ${resp["data"]["result"]}
     ${results}=   Get Length   ${result_list}
     Should Not Be Equal As Numbers   0   ${results}   msg=Metric ${metric} not found   values=false
@@ -68,10 +79,14 @@
 Execute Prometheus Instant Query
     [Documentation]   Execute a Prometheus Instant Query using HTTP API.
     ...                 Return an inline json with the result of the query.
-    ...                 The requested URL is the next: http://\${prometheus_ip}:\${prometheus_port}/api/v1/query?\${querystring}
-    [Arguments]   ${prometheus_ip}   ${prometheus_port}   ${prometheus_user}   ${prometheus_password}   ${querystring}
+    ...                 The requested URL is the next: \${prometheus_url}/api/v1/query?\${querystring}
+    [Arguments]   ${prometheus_url}   ${prometheus_user}   ${prometheus_password}   ${querystring}
+    Log   ${prometheus_url}
+    Log   ${prometheus_user}
+    Log   ${prometheus_password}
+    Log   ${querystring}
     ${auth}=   IF   '${prometheus_password}' != '${EMPTY}'   Create List   ${prometheus_user}   ${prometheus_password}   ELSE   Set Variable   None
-    Create Session   prometheus   http://${prometheus_ip}:${prometheus_port}   timeout=${TIMEOUT}   max_retries=${MAX_RETRIES}   verify=false   auth=${auth}
+    Create Session   prometheus   ${prometheus_url}   timeout=${TIMEOUT}   max_retries=${MAX_RETRIES}   verify=false   auth=${auth}
     ${resp}=   GET On Session   prometheus   /api/v1/query?${querystring}   timeout=${TIMEOUT}
     Status Should Be   200   ${resp}
     RETURN   ${resp.json()}