aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormrichomme <morgan.richomme@orange.com>2020-09-08 11:43:20 +0200
committermrichomme <morgan.richomme@orange.com>2020-09-09 10:03:38 +0200
commit80e8e99d9b33fc5929c253aba84d330ae68f01de (patch)
tree3680d71cd8b2570f97bfff52e78643b4b7ae307a
parent076a0030b70a875535f7fcabb7acafe7cf478746 (diff)
Use clouds.yaml rather than duplicating the openstack data in the conf
Issue-ID: TEST-261 Signed-off-by: mrichomme <morgan.richomme@orange.com> Change-Id: I624fca14a30dde9e704a9b982b55cbb8028b37fd Signed-off-by: mrichomme <morgan.richomme@orange.com>
-rw-r--r--README.md11
-rw-r--r--requirements.txt3
-rw-r--r--src/onaptests/configuration/ubuntu16_multicloud_yaml_settings.py4
-rw-r--r--src/onaptests/configuration/ubuntu16_nomulticloud_noyaml_settings.py41
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