Add PROMETHEUS_PORT 63/9963/3
authorbeierlm <mark.beierl@canonical.com>
Wed, 11 Nov 2020 12:28:57 +0000 (07:28 -0500)
committerbeierlm <mark.beierl@canonical.com>
Wed, 11 Nov 2020 12:51:23 +0000 (07:51 -0500)
Adds the ability to specify a PROMETHEUS_PORT as well as the
PROMETHEUS_HOSTNAME.

Fixes bug 1286

Change-Id: I61fc55c662b673ee08e440e12b7947da46fcc36a
Signed-off-by: beierlm <mark.beierl@canonical.com>
robot-systest/resources/basic_01-crud_operations_on_vim_targets_data.py
robot-systest/resources/basic_08-disable_port_security_network_level_data.py
robot-systest/resources/common_helpers.py [new file with mode: 0644]
robot-systest/resources/epa_03-crud_operations_on_sdnc_data.py
robot-systest/resources/sa_01-vnf_with_vim_metrics_data.py
robot-systest/resources/sa_02-vnf_with_vim_metrics_and_autoscaling_data.py
robot-systest/resources/sa_07-alarms_from_sa-related_vnfs_data.py
robot-systest/resources/sa_08-vnf_with_vnf_indicators_snmp_data.py

index a1a29ed..b1db1c5 100644 (file)
 #   limitations under the License.
 
 import os
-import yaml
 from pathlib import Path
+import yaml
+from common_helpers import get_prometheus_info
+
 
 # Prometheus host and port
-if os.environ.get("PROMETHEUS_HOSTNAME", False):
-    prometheus_host = os.environ.get("PROMETHEUS_HOSTNAME")
-    prometheus_port = "9090"
-else:
-    prometheus_host = os.environ.get("OSM_HOSTNAME")
-    prometheus_port = "9091"
+(prometheus_host, prometheus_port) = get_prometheus_info()
 
 # VIM Configuration
 vim_account_type = "openstack"
@@ -30,19 +27,26 @@ os_cloud = os.environ.get("OS_CLOUD")
 clouds_file_paths = ["./clouds.yaml", str(Path.home()) + "/.config/openstack/clouds.yaml", "/etc/openstack/clouds.yaml"]
 for path in clouds_file_paths:
     clouds_file_path = Path(path)
-    if clouds_file_path.exists(): break
-if not clouds_file_path.exists(): raise Exception("Openstack clouds file not found")
+    if clouds_file_path.exists():
+        break
+if not clouds_file_path.exists():
+    raise Exception("Openstack clouds file not found")
 with clouds_file_path.open() as clouds_file:
     clouds = yaml.safe_load(clouds_file)
-    if not os_cloud in clouds["clouds"]: raise Exception("Openstack cloud '" + os_cloud + "' not found")
+    if not os_cloud in clouds["clouds"]:
+        raise Exception("Openstack cloud '" + os_cloud + "' not found")
     cloud = clouds["clouds"][os_cloud]
-    if not "username" in cloud["auth"]: raise Exception("Username not found in Openstack cloud '" + os_cloud + "'")
+    if not "username" in cloud["auth"]:
+        raise Exception("Username not found in Openstack cloud '" + os_cloud + "'")
     vim_user = cloud["auth"]["username"]
-    if not "password" in cloud["auth"]: raise Exception("Password not found in Openstack cloud '" + os_cloud + "'")
+    if not "password" in cloud["auth"]:
+        raise Exception("Password not found in Openstack cloud '" + os_cloud + "'")
     vim_password = cloud["auth"]["password"]
-    if not "auth_url" in cloud["auth"]: raise Exception("Auth url not found in Openstack cloud '" + os_cloud + "'")
+    if not "auth_url" in cloud["auth"]:
+        raise Exception("Auth url not found in Openstack cloud '" + os_cloud + "'")
     vim_auth_url = cloud["auth"]["auth_url"]
-    if not "project_name" in cloud["auth"]: raise Exception("Project name not found in Openstack cloud '" + os_cloud + "'")
+    if not "project_name" in cloud["auth"]:
+        raise Exception("Project name not found in Openstack cloud '" + os_cloud + "'")
     vim_tenant = cloud["auth"]["project_name"]
     vim_user_domain_name = cloud["auth"]["user_domain_name"] if "user_domain_name" in cloud["auth"] else None
     vim_project_domain_name = cloud["auth"]["project_domain_name"] if "project_domain_name" in cloud["auth"] else None
@@ -58,4 +62,3 @@ if vim_user_domain_name:
 if vim_insecure:
     vim_config_dict["insecure"] = True
 vim_config = "'{}'".format(yaml.safe_dump(vim_config_dict, default_flow_style=True, width=10000).rstrip('\r\n'))
-
index 9352464..2c15871 100644 (file)
 #   limitations under the License.
 
 import os
-import yaml
 from pathlib import Path
+import yaml
+
+from common_helpers import get_prometheus_info
+
 
 # Prometheus host and port
-if os.environ.get("PROMETHEUS_HOSTNAME", False):
-    prometheus_host = os.environ.get("PROMETHEUS_HOSTNAME")
-    prometheus_port = "9090"
-else:
-    prometheus_host = os.environ.get("OSM_HOSTNAME")
-    prometheus_port = "9091"
+(prometheus_host, prometheus_port) = get_prometheus_info()
 
 # VIM Configuration
 vim_account_type = "openstack"
@@ -31,19 +29,26 @@ os_cloud = os.environ.get("OS_CLOUD")
 clouds_file_paths = ["./clouds.yaml", str(Path.home()) + "/.config/openstack/clouds.yaml", "/etc/openstack/clouds.yaml"]
 for path in clouds_file_paths:
     clouds_file_path = Path(path)
-    if clouds_file_path.exists(): break
-if not clouds_file_path.exists(): raise Exception("Openstack clouds file not found")
+    if clouds_file_path.exists():
+        break
+if not clouds_file_path.exists():
+    raise Exception("Openstack clouds file not found")
 with clouds_file_path.open() as clouds_file:
     clouds = yaml.safe_load(clouds_file)
-    if not os_cloud in clouds["clouds"]: raise Exception("Openstack cloud '" + os_cloud + "' not found")
+    if not os_cloud in clouds["clouds"]:
+        raise Exception("Openstack cloud '" + os_cloud + "' not found")
     cloud = clouds["clouds"][os_cloud]
-    if not "username" in cloud["auth"]: raise Exception("Username not found in Openstack cloud '" + os_cloud + "'")
+    if not "username" in cloud["auth"]:
+        raise Exception("Username not found in Openstack cloud '" + os_cloud + "'")
     vim_user = cloud["auth"]["username"]
-    if not "password" in cloud["auth"]: raise Exception("Password not found in Openstack cloud '" + os_cloud + "'")
+    if not "password" in cloud["auth"]:
+        raise Exception("Password not found in Openstack cloud '" + os_cloud + "'")
     vim_password = cloud["auth"]["password"]
-    if not "auth_url" in cloud["auth"]: raise Exception("Auth url not found in Openstack cloud '" + os_cloud + "'")
+    if not "auth_url" in cloud["auth"]:
+        raise Exception("Auth url not found in Openstack cloud '" + os_cloud + "'")
     vim_auth_url = cloud["auth"]["auth_url"]
-    if not "project_name" in cloud["auth"]: raise Exception("Project name not found in Openstack cloud '" + os_cloud + "'")
+    if not "project_name" in cloud["auth"]:
+        raise Exception("Project name not found in Openstack cloud '" + os_cloud + "'")
     vim_tenant = cloud["auth"]["project_name"]
     vim_user_domain_name = cloud["auth"]["user_domain_name"] if "user_domain_name" in cloud["auth"] else None
     vim_project_domain_name = cloud["auth"]["project_domain_name"] if "project_domain_name" in cloud["auth"] else None
@@ -74,4 +79,3 @@ ns_name = 'basic_08_disable_port_security_network_level_test'
 # SSH keys to be used
 publickey = home + '/.ssh/id_rsa.pub'
 privatekey = home + '/.ssh/id_rsa'
-
diff --git a/robot-systest/resources/common_helpers.py b/robot-systest/resources/common_helpers.py
new file mode 100644 (file)
index 0000000..8ffaffe
--- /dev/null
@@ -0,0 +1,22 @@
+#   Licensed under the Apache License, Version 2.0 (the "License");
+#   you may not use this file except in compliance with the License.
+#   You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#   Unless required by applicable law or agreed to in writing, software
+#   distributed under the License is distributed on an "AS IS" BASIS,
+#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#   See the License for the specific language governing permissions and
+#   limitations under the License.
+import os
+
+
+def get_prometheus_info():
+    if os.environ.get('PROMETHEUS_HOSTNAME', False):
+        prometheus_host = os.environ.get('PROMETHEUS_HOSTNAME')
+        prometheus_port = os.environ.get('PROMETHEUS_PORT', 9090)
+    else:
+        prometheus_host = os.environ.get('OSM_HOSTNAME')
+        prometheus_port = os.environ.get('PROMETHEUS_PORT', 9091)
+    return prometheus_host, prometheus_port
index 72eb986..9a2b201 100644 (file)
 #   limitations under the License.
 
 import os
-import yaml
 from pathlib import Path
+import yaml
+
+from common_helpers import get_prometheus_info
+
 
 # Prometheus host and port
-if os.environ.get("PROMETHEUS_HOSTNAME", False):
-    prometheus_host = os.environ.get("PROMETHEUS_HOSTNAME")
-    prometheus_port = "9090"
-else:
-    prometheus_host = os.environ.get("OSM_HOSTNAME")
-    prometheus_port = "9091"
+(prometheus_host, prometheus_port) = get_prometheus_info()
 
 # VIM Configuration
 sdnc_type = "onos"
@@ -30,15 +28,21 @@ os_sdnc = os.environ.get("OS_SDNC")
 sdncs_file_paths = ["./sdncs.yaml", str(Path.home()) + "/.config/onos/sdncs.yaml"]
 for path in sdncs_file_paths:
     sdncs_file_path = Path(path)
-    if sdncs_file_path.exists(): break
-if not sdncs_file_path.exists(): raise Exception("ONOS sdncs file not found")
+    if sdncs_file_path.exists():
+        break
+if not sdncs_file_path.exists():
+    raise Exception("ONOS sdncs file not found")
 with sdncs_file_path.open() as sdncs_file:
     sdncs = yaml.safe_load(sdncs_file)
-    if not os_sdnc in sdncs["sdncs"]: raise Exception("SDN controller '" + os_sdnc + "' not found")
+    if not os_sdnc in sdncs["sdncs"]:
+        raise Exception("SDN controller '" + os_sdnc + "' not found")
     sdnc = sdncs["sdncs"][os_sdnc]
-    if not "username" in sdnc["auth"]: raise Exception("Username not found in SDN controller '" + os_sdnc + "'")
+    if not "username" in sdnc["auth"]:
+        raise Exception("Username not found in SDN controller '" + os_sdnc + "'")
     sdnc_user = sdnc["auth"]["username"]
-    if not "password" in sdnc["auth"]: raise Exception("Password not found in SDN controller '" + os_sdnc + "'")
+    if not "password" in sdnc["auth"]:
+        raise Exception("Password not found in SDN controller '" + os_sdnc + "'")
     sdnc_password = sdnc["auth"]["password"]
-    if not "url" in sdnc["auth"]: raise Exception("URL not found in SDN controller '" + os_sdnc + "'")
+    if not "url" in sdnc["auth"]:
+        raise Exception("URL not found in SDN controller '" + os_sdnc + "'")
     sdnc_url = sdnc["auth"]["url"]
index af1779f..d682965 100644 (file)
 #   limitations under the License.
 
 from pathlib import Path
-import os
+
+from common_helpers import get_prometheus_info
+
 
 # Prometheus host and port
-if os.environ.get('PROMETHEUS_HOSTNAME', False):
-    prometheus_host = os.environ.get('PROMETHEUS_HOSTNAME')
-    prometheus_port = '9090'
-else:
-    prometheus_host = os.environ.get('OSM_HOSTNAME')
-    prometheus_port = '9091'
+(prometheus_host, prometheus_port) = get_prometheus_info()
 
 # Prometheus polling interval and retries
 prometheus_poll_retries = '15 times'
index ef1ee29..befeb36 100644 (file)
 #   limitations under the License.
 
 from pathlib import Path
-import os
+
+from common_helpers import get_prometheus_info
+
 
 # Prometheus host and port
-if os.environ.get('PROMETHEUS_HOSTNAME', False):
-    prometheus_host = os.environ.get('PROMETHEUS_HOSTNAME')
-    prometheus_port = '9090'
-else:
-    prometheus_host = os.environ.get('OSM_HOSTNAME')
-    prometheus_port = '9091'
+(prometheus_host, prometheus_port) = get_prometheus_info()
 
 # Prometheus polling interval and retries
 prometheus_poll_retries = '15 times'
@@ -40,4 +37,3 @@ ns_name = 'sa_02-vnf_with_vim_metrics_and_autoscaling_test'
 # SSH keys to be used
 publickey = home + '/.ssh/id_rsa.pub'
 privatekey = home + '/.ssh/id_rsa'
-
index f281cce..62ad4e8 100644 (file)
 #   limitations under the License.
 
 from pathlib import Path
-import os
+
+from common_helpers import get_prometheus_info
+
 
 # Prometheus host and port
-if os.environ.get('PROMETHEUS_HOSTNAME', False):
-    prometheus_host = os.environ.get('PROMETHEUS_HOSTNAME')
-    prometheus_port = '9090'
-else:
-    prometheus_host = os.environ.get('OSM_HOSTNAME')
-    prometheus_port = '9091'
+(prometheus_host, prometheus_port) = get_prometheus_info()
 
 # Prometheus polling interval and retries
 prometheus_poll_retries = '15 times'
index 449b61e..d9e6d1e 100644 (file)
 #   limitations under the License.
 
 from pathlib import Path
-import os
+
+from common_helpers import get_prometheus_info
+
 
 # Prometheus host and port
-if os.environ.get('PROMETHEUS_HOSTNAME', False):
-    prometheus_host = os.environ.get('PROMETHEUS_HOSTNAME')
-    prometheus_port = '9090'
-else:
-    prometheus_host = os.environ.get('OSM_HOSTNAME')
-    prometheus_port = '9091'
+(prometheus_host, prometheus_port) = get_prometheus_info()
 
 # Prometheus metrics to retrieve
 metric_1_name = 'ifInOctets'