From a5704d6a060b5329e10488a351c50495be69d680 Mon Sep 17 00:00:00 2001 From: beierlm Date: Wed, 11 Nov 2020 07:28:57 -0500 Subject: [PATCH] Add PROMETHEUS_PORT Adds the ability to specify a PROMETHEUS_PORT as well as the PROMETHEUS_HOSTNAME. Fixes bug 1286 Change-Id: I61fc55c662b673ee08e440e12b7947da46fcc36a Signed-off-by: beierlm --- ..._01-crud_operations_on_vim_targets_data.py | 33 ++++++++++-------- ...isable_port_security_network_level_data.py | 34 +++++++++++-------- robot-systest/resources/common_helpers.py | 22 ++++++++++++ .../epa_03-crud_operations_on_sdnc_data.py | 30 +++++++++------- .../sa_01-vnf_with_vim_metrics_data.py | 11 +++--- ...f_with_vim_metrics_and_autoscaling_data.py | 12 +++---- .../sa_07-alarms_from_sa-related_vnfs_data.py | 11 +++--- ...sa_08-vnf_with_vnf_indicators_snmp_data.py | 11 +++--- 8 files changed, 92 insertions(+), 72 deletions(-) create mode 100644 robot-systest/resources/common_helpers.py diff --git a/robot-systest/resources/basic_01-crud_operations_on_vim_targets_data.py b/robot-systest/resources/basic_01-crud_operations_on_vim_targets_data.py index a1a29ed..b1db1c5 100644 --- a/robot-systest/resources/basic_01-crud_operations_on_vim_targets_data.py +++ b/robot-systest/resources/basic_01-crud_operations_on_vim_targets_data.py @@ -11,16 +11,13 @@ # 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')) - diff --git a/robot-systest/resources/basic_08-disable_port_security_network_level_data.py b/robot-systest/resources/basic_08-disable_port_security_network_level_data.py index 9352464..2c15871 100644 --- a/robot-systest/resources/basic_08-disable_port_security_network_level_data.py +++ b/robot-systest/resources/basic_08-disable_port_security_network_level_data.py @@ -11,16 +11,14 @@ # 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 index 0000000..8ffaffe --- /dev/null +++ b/robot-systest/resources/common_helpers.py @@ -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 diff --git a/robot-systest/resources/epa_03-crud_operations_on_sdnc_data.py b/robot-systest/resources/epa_03-crud_operations_on_sdnc_data.py index 72eb986..9a2b201 100644 --- a/robot-systest/resources/epa_03-crud_operations_on_sdnc_data.py +++ b/robot-systest/resources/epa_03-crud_operations_on_sdnc_data.py @@ -11,16 +11,14 @@ # 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"] 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 af1779f..d682965 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 @@ -11,15 +11,12 @@ # 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' 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 ef1ee29..befeb36 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 @@ -11,15 +11,12 @@ # 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' - 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 f281cce..62ad4e8 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 @@ -11,15 +11,12 @@ # 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' diff --git a/robot-systest/resources/sa_08-vnf_with_vnf_indicators_snmp_data.py b/robot-systest/resources/sa_08-vnf_with_vnf_indicators_snmp_data.py index 449b61e..d9e6d1e 100644 --- a/robot-systest/resources/sa_08-vnf_with_vnf_indicators_snmp_data.py +++ b/robot-systest/resources/sa_08-vnf_with_vnf_indicators_snmp_data.py @@ -11,15 +11,12 @@ # 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' -- 2.17.1