From 80e8e99d9b33fc5929c253aba84d330ae68f01de Mon Sep 17 00:00:00 2001 From: mrichomme Date: Tue, 8 Sep 2020 11:43:20 +0200 Subject: Use clouds.yaml rather than duplicating the openstack data in the conf Issue-ID: TEST-261 Signed-off-by: mrichomme Change-Id: I624fca14a30dde9e704a9b982b55cbb8028b37fd Signed-off-by: mrichomme --- README.md | 11 +++++- requirements.txt | 3 +- .../ubuntu16_multicloud_yaml_settings.py | 4 +-- .../ubuntu16_nomulticloud_noyaml_settings.py | 41 +++++++++++++--------- 4 files changed, 37 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 9987a40..4515944 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,15 @@ See ubuntu16test as example including the dynamic forwarding port for ssh tunnel in src/onaptests/configuration/settings.py +- Set OpenStack configuration: there are 2 ways to provide the cloud information + If you got the clouds.yaml, you need to reference your cloud with the env + variable OS_TEST_CLOUD + ```shell + export OS_TEST_CLOUD="cloud-name-referenced-in-the-cloud-configuration" + ``` + If you do not have access to the cloud config, you must precise all the + parameters manually + - Export the setting file in a environment variable ```shell export ONAP_PYTHON_SDK_SETTINGS="onaptests.configuration.ubuntu16_multicloud_yaml_settings" @@ -57,7 +66,7 @@ environment and configuration. that the templates files for your service are defined, start to run the different steps: ```shell - python run.py + python run_basicvm_nomulticloud.py ``` - By default, all the logs are stored in the file pythonsdk.debug.log. diff --git a/requirements.txt b/requirements.txt index 6782ed2..40637d1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ --e git+https://gitlab.com/Orange-OpenSource/lfn/onap/python-onapsdk.git@develop#egg=onapsdk \ No newline at end of file +openstacksdk +-e git+https://gitlab.com/Orange-OpenSource/lfn/onap/python-onapsdk.git@develop#egg=onapsdk diff --git a/src/onaptests/configuration/ubuntu16_multicloud_yaml_settings.py b/src/onaptests/configuration/ubuntu16_multicloud_yaml_settings.py index 4b97866..33d0886 100644 --- a/src/onaptests/configuration/ubuntu16_multicloud_yaml_settings.py +++ b/src/onaptests/configuration/ubuntu16_multicloud_yaml_settings.py @@ -1,8 +1,6 @@ -# pylint: disable=unused-import -from .settings import * +from .settings import * # pylint: disable=W0614 """ Specific ubuntu16 with multicloud and yaml config scenario.""" -# pylint: disable=bad-whitespace USE_MULTICLOUD = True diff --git a/src/onaptests/configuration/ubuntu16_nomulticloud_noyaml_settings.py b/src/onaptests/configuration/ubuntu16_nomulticloud_noyaml_settings.py index 52d5922..b3076f6 100644 --- a/src/onaptests/configuration/ubuntu16_nomulticloud_noyaml_settings.py +++ b/src/onaptests/configuration/ubuntu16_nomulticloud_noyaml_settings.py @@ -1,9 +1,11 @@ import os import openstack -# pylint: disable=unused-import -from .settings import * +from .settings import * # pylint: disable=W0614 +""" Specific ubuntu16 without multicloud and without yaml config scenario.""" + +# pylint: disable=bad-whitespace # The ONAP part USE_MULTICLOUD = False @@ -13,10 +15,8 @@ SERVICE_NAME = "basicvm-ubuntu-service" VF_NAME = "basicvm_ubuntu_vf" CLOUD_REGION_CLOUD_OWNER = "basicvm-cloud-owner" -CLOUD_REGION_ID = "RegionOne" CLOUD_REGION_TYPE = "openstack" CLOUD_REGION_VERSION = "openstack" -CLOUD_DOMAIN = "Default" AVAILABILITY_ZONE_NAME = "basicvm-availability-zone" AVAILABILITY_ZONE_TYPE = "nova" @@ -35,22 +35,29 @@ SERVICE_INSTANCE_NAME = "basicvm_ubuntu16_service_instance" VSP_FILE_PATH = "templates/heat_files/ubuntu16/ubuntu16.zip" # The cloud Part -# TODO use the openstack client and assume a cloud.yaml is Provided -# to avoid data duplication -CLOUD_REGION_ID = "RegionOne" - -TEST_CLOUD = os.getenv('OS_TEST_CLOUD', 'onap-cloud-config') +# Assuming a cloud.yaml is available, use the openstack client +# to retrieve cloud info and avoid data duplication +TEST_CLOUD = os.getenv('OS_TEST_CLOUD') try: - cloud = openstack.connect(cloud=TEST_CLOUD) - VIM_USERNAME = cloud.config.auth['username'] - VIM_PASSWORD = cloud.config.auth['password'] - VIM_SERVICE_URL = cloud.config.auth['auth_url'] - # need a keystone authent to retrieve project info - TENANT_ID = "" # Fill me - TENANT_NAME = "" # Fill me -except ValueError: + if TEST_CLOUD is not None: + cloud = openstack.connect(cloud=TEST_CLOUD) + VIM_USERNAME = cloud.config.auth['username'] + VIM_PASSWORD = cloud.config.auth['password'] + VIM_SERVICE_URL = cloud.config.auth['auth_url'] + TENANT_ID = cloud.config.auth['project_id'] + TENANT_NAME = cloud.config.auth['project_name'] + CLOUD_REGION_ID = cloud.config.region_name + CLOUD_DOMAIN = cloud.config.auth['project_domain_name'] + else: + raise KeyError +except KeyError: + # If you do not use the cloud.yaml as imput for your openstack + # put the input data here + # Note if 1 parameter is missing in the clouds.yaml, we fallback here TENANT_ID = "" # Fill me TENANT_NAME = "" # Fill me VIM_USERNAME = "" # Fill me VIM_PASSWORD = "" # Fill me VIM_SERVICE_URL = "" # Fill me + CLOUD_REGION_ID = "RegionOne" # Update me if needed + CLOUD_DOMAIN = "Default" # Update me if needed -- cgit 1.2.3-korg