From 576fa380d748395c1d8188dfa816d110dab8f146 Mon Sep 17 00:00:00 2001 From: mrichomme Date: Tue, 22 Sep 2020 17:28:22 +0200 Subject: Prepare python package to integrate it in xtesting docker - creation of entrypoint - include templates in the package - complete requirements Open question for integration python reviewers: - I was not able with the MANIFEST to use the template directory until I put it in the package tree. I am not sure it is very nice.. Maybe it is not the right way, we could simply copy the templates in the docker rather than including them as part of the python package.. Note: I retested the ubuntu16 (onboarding/deployment/instantiation) on the Daily Master Issue-ID: TEST-258 Signed-off-by: mrichomme Change-Id: I26f3e959b9c5e341ab197a6c519ca87e31921921 Signed-off-by: mrichomme --- MANIFEST.in | 1 + requirements.txt | 1 + setup.cfg | 7 ++- setup.py | 5 ++- .../ubuntu16_nomulticloud_settings.py | 4 +- src/onaptests/scenario/__init__.py | 0 src/onaptests/scenario/basic_vm.py | 49 ++++++++++++++++++++ src/onaptests/scenario/clearwater_ims.py | 50 +++++++++++++++++++++ .../vnf-services/clearwater-ims-service.yaml | 36 +++++++++++++++ .../vnf-services/ubuntu16test-service.yaml | 42 +++++++++++++++++ templates/heat_files/ubuntu16/ubuntu16.zip | Bin 1641 -> 0 bytes templates/vnf-services/clearwater-ims-service.yaml | 36 --------------- templates/vnf-services/ubuntu16test-service.yaml | 42 ----------------- 13 files changed, 191 insertions(+), 82 deletions(-) create mode 100644 MANIFEST.in create mode 100644 src/onaptests/scenario/__init__.py create mode 100644 src/onaptests/scenario/basic_vm.py create mode 100644 src/onaptests/scenario/clearwater_ims.py create mode 100644 src/onaptests/templates/vnf-services/clearwater-ims-service.yaml create mode 100644 src/onaptests/templates/vnf-services/ubuntu16test-service.yaml delete mode 100644 templates/heat_files/ubuntu16/ubuntu16.zip delete mode 100644 templates/vnf-services/clearwater-ims-service.yaml delete mode 100644 templates/vnf-services/ubuntu16test-service.yaml diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..3571ddd --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1 @@ +recursive-include src/onaptests/templates * diff --git a/requirements.txt b/requirements.txt index 40637d1..db1ffea 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ +xtesting openstacksdk -e git+https://gitlab.com/Orange-OpenSource/lfn/onap/python-onapsdk.git@develop#egg=onapsdk diff --git a/setup.cfg b/setup.cfg index 1db30bf..c8056a3 100644 --- a/setup.cfg +++ b/setup.cfg @@ -4,7 +4,7 @@ name = onaptests version = 0.0.1 description = Test SDK to use ONAP Programatically long_description = file: README.md -url = https://gitlab.com/Orange-OpenSource/lfn/onap/pythonsdk-tests +url = https://git.onap.org/testsuite/pythonsdk-tests author = Orange OpenSource license = Apache 2.0 classifiers = @@ -41,3 +41,8 @@ addopts = --cov=src --maxfail=1 testpaths = tests + +[entry_points] +xtesting.testcase = + basic_vm = onaptests.scenario.basic_vm:BasicVm + clearwater_ims = onaptests.scenario.clearwater_ims:ClearwaterIms diff --git a/setup.py b/setup.py index acfdb5d..8b44c49 100644 --- a/setup.py +++ b/setup.py @@ -4,4 +4,7 @@ from setuptools import setup -setup() +setup( + setup_requires=['pbr','setuptools'], + pbr=True +) diff --git a/src/onaptests/configuration/ubuntu16_nomulticloud_settings.py b/src/onaptests/configuration/ubuntu16_nomulticloud_settings.py index 3f410c0..360a8bf 100644 --- a/src/onaptests/configuration/ubuntu16_nomulticloud_settings.py +++ b/src/onaptests/configuration/ubuntu16_nomulticloud_settings.py @@ -12,7 +12,7 @@ USE_MULTICLOUD = False # Set ONLY_INSTANTIATE to true to run an instantiation without repeating # onboarding and related AAI configuration (Cloud config) ONLY_INSTANTIATE= False -SERVICE_YAML_TEMPLATE = "templates/vnf-services/ubuntu16test-service.yaml" +SERVICE_YAML_TEMPLATE = "src/onaptests/templates/vnf-services/ubuntu16test-service.yaml" CLEANUP_FLAG = True CLEANUP_ACTIVITY_TIMER = 10 # nb of seconds before cleanup in case cleanup option is set VENDOR_NAME = "basicvm_vendor" @@ -45,7 +45,7 @@ PLATFORM = "basicvm-platform" SERVICE_INSTANCE_NAME = "basicvm_ubuntu16_service_instance" -VSP_FILE_PATH = "templates/heat_files/ubuntu16/ubuntu16.zip" +VSP_FILE_PATH = "src/onaptests/templates/templates/heat_files/ubuntu16/ubuntu16.zip" # The cloud Part diff --git a/src/onaptests/scenario/__init__.py b/src/onaptests/scenario/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/onaptests/scenario/basic_vm.py b/src/onaptests/scenario/basic_vm.py new file mode 100644 index 0000000..2295fbf --- /dev/null +++ b/src/onaptests/scenario/basic_vm.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python +"""Basic VM test case.""" +import logging +import time + +from xtesting.core import testcase +from onapsdk.configuration import settings +from onaptests.steps.instantiate.vf_module_ala_carte import YamlTemplateVfModuleAlaCarteInstantiateStep + +class BasicVm(testcase.TestCase): + """Onboard then instantiate a simple VM though ONAP.""" + + __logger = logging.getLogger(__name__) + + def __init__(self, **kwargs): + """Init BasicVM.""" + # import ubuntu16_nomulticloud_settings needed + if "case_name" not in kwargs: + kwargs["case_name"] = 'basic_vm' + super(BasicVm, self).__init__(**kwargs) + self.__logger.debug("BasicVm init started") + self.test = YamlTemplateVfModuleAlaCarteInstantiateStep( + cleanup=settings.CLEANUP_FLAG) + self.start_time = None + self.stop_time = None + self.result = 0 + + def run(self): + """Run onap_tests with ubuntu16 VM.""" + self.start_time = time.time() + self.__logger.debug("start time") + self.test.execute() + self.__logger.info("VNF basic_vm successfully created") + if not settings.CLEANUP_FLAG: + self.result = 100 + self.stop_time = time.time() + return testcase.TestCase.EX_OK + + def clean(self): + """Clean VNF.""" + if settings.CLEANUP_FLAG: + time.sleep(settings.CLEANUP_ACTIVITY_TIMER) + try: + self.test.cleanup() + except ValueError as error: + self.__logger.info("service instance deleted as expected {0}".format(error)) + self.result = 100 + self.stop_time = time.time() + return testcase.TestCase.EX_OK diff --git a/src/onaptests/scenario/clearwater_ims.py b/src/onaptests/scenario/clearwater_ims.py new file mode 100644 index 0000000..ab3ad48 --- /dev/null +++ b/src/onaptests/scenario/clearwater_ims.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python +"""vIMS VM test case.""" +import logging +import time + +from xtesting.core import testcase +from onapsdk.configuration import settings +from onaptests.steps.instantiate.vf_module_ala_carte import YamlTemplateVfModuleAlaCarteInstantiateStep + +class ClearwaterIms(testcase.TestCase): + """Onboard then instantiate a simple VM though ONAP.""" + + __logger = logging.getLogger(__name__) + + def __init__(self, **kwargs): + """Init Clearwater IMS.""" + # import clearwater_ims_nomulticloud_settings needed + if "case_name" not in kwargs: + kwargs["case_name"] = 'clearwater_ims' + super(ClearwaterIms, self).__init__(**kwargs) + self.__logger.debug("vIMS init started") + self.test = YamlTemplateVfModuleAlaCarteInstantiateStep( + cleanup=settings.CLEANUP_FLAG) + self.start_time = None + self.stop_time = None + self.result = 0 + + def run(self): + """Run vIMS test.""" + self.start_time = time.time() + self.__logger.debug("start time") + self.test.execute() + self.__logger.info("vIMS successfully created") + # Space for running additional tests on the deployed VNF here + if not settings.CLEANUP_FLAG: + self.result = 100 + self.stop_time = time.time() + return testcase.TestCase.EX_OK + + def clean(self): + """Clean VNF.""" + if settings.CLEANUP_FLAG: + time.sleep(settings.CLEANUP_ACTIVITY_TIMER) + try: + self.test.cleanup() + except ValueError as error: + self.__logger.info("service instance deleted as expected {0}".format(error)) + self.result = 100 + self.stop_time = time.time() + return testcase.TestCase.EX_OK diff --git a/src/onaptests/templates/vnf-services/clearwater-ims-service.yaml b/src/onaptests/templates/vnf-services/clearwater-ims-service.yaml new file mode 100644 index 0000000..51543da --- /dev/null +++ b/src/onaptests/templates/vnf-services/clearwater-ims-service.yaml @@ -0,0 +1,36 @@ +--- +clearwater_ims: + vnfs: + - vnf_name: clearwater_ims_vnf + heat_files_to_upload: templates/heat_files/clearwater_ims/clearwater_ims.zip + vnf_parameters: [ + {"name": "public_net_id", + "value": "8b0fb448-0daf-4344-a958-74852c5a0530"}, + {"name": "bono_image_name", + "value": "ubuntu-16.04-daily"}, + {"name": "dime_image_name", + "value": "ubuntu-16.04-daily"}, + {"name": "dns_image_name", + "value": "ubuntu-16.04-daily"}, + {"name": "ellis_image_name", + "value": "ubuntu-16.04-daily"}, + {"name": "homer_image_name", + "value": "ubuntu-16.04-daily"}, + {"name": "robot_image_name", + "value": "ubuntu-16.04-daily"}, + {"name": "sprout_image_name", + "value": "ubuntu-16.04-daily"}, + {"name": "vellum_image_name", + "value": "ubuntu-16.04-daily"}, + {"name": "dns_ip", + "value": "8.8.8.8"}, + {"name": "clearwater_pub_key", + "value": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAA\ +BAQDY15cdBmIs2XOpe4EiFCsaY6bmUmK/GysMoLl4UG51JCfJwvwoWCoA+6mDIbymZxhxq9IGx\ +ilp/yTA6WQ9s/5pBag1cUMJmFuda9PjOkXl04jgqh5tR6I+GZ97AvCg93KAECis5ubSqw1xOCj4\ +utfEUtPoF1OuzqM/lE5mY4N6VKXn+fT7pCD6cifBEs6JHhVNvs5OLLp/tO8Pa3kKYQOdyS0xc3r\ +h+t2lrzvKUSWGZbX+dLiFiEpjsUL3tDqzkEMNUn4pdv69OJuzWHCxRWPfdrY9Wg0j3mJesP29EBh\ +t+w+EC9/kBKq+1VKdmsXUXAcjEvjovVL8l1BrX3BY0R8D imported-openssh-key" + }, + {"name": "clearwater_key_name", + "value": "cleouverte"}] diff --git a/src/onaptests/templates/vnf-services/ubuntu16test-service.yaml b/src/onaptests/templates/vnf-services/ubuntu16test-service.yaml new file mode 100644 index 0000000..7e865ca --- /dev/null +++ b/src/onaptests/templates/vnf-services/ubuntu16test-service.yaml @@ -0,0 +1,42 @@ +--- +ubuntu16test: + tosca_file_from_SDC: service-Ubuntu16tha-template + version: "1.0" + subscription_type: "ubuntu16test" + vnfs: + - vnf_name: ubuntu16test + heat_files_to_upload: src/onaptests/templates/heat_files/ubuntu16/ubuntu16.zip + vnf_parameters: [ + {"name": "ubuntu16_image_name", + "value": "ubuntu-16.04-daily" + }, + {"name": "ubuntu16_key_name", + "value": "cleouverte" + }, + {"name": "ubuntu16_pub_key", + "value": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAA\ +BAQDY15cdBmIs2XOpe4EiFCsaY6bmUmK/GysMoLl4UG51JCfJwvwoWCoA+6mDIbymZxhxq9IGx\ +ilp/yTA6WQ9s/5pBag1cUMJmFuda9PjOkXl04jgqh5tR6I+GZ97AvCg93KAECis5ubSqw1xOCj4\ +utfEUtPoF1OuzqM/lE5mY4N6VKXn+fT7pCD6cifBEs6JHhVNvs5OLLp/tO8Pa3kKYQOdyS0xc3r\ +h+t2lrzvKUSWGZbX+dLiFiEpjsUL3tDqzkEMNUn4pdv69OJuzWHCxRWPfdrY9Wg0j3mJesP29EBh\ +t+w+EC9/kBKq+1VKdmsXUXAcjEvjovVL8l1BrX3BY0R8D imported-openssh-key" + }, + {"name": "ubuntu16_flavor_name", + "value": "m1.small" + }, + {"name": "VM_name", + "value": "ubuntu16test-VM-01" + }, + {"name": "vnf_id", + "value": "ubuntu16test-VNF-instance" + }, + {"name": "vf_module_id", + "value": "ubuntu16test-vfmodule-instance" + }, + {"name": "vnf_name", + "value": "ubuntu16test-VNF" + }, + {"name": "admin_plane_net_name", + "value": "admin" + } + ] diff --git a/templates/heat_files/ubuntu16/ubuntu16.zip b/templates/heat_files/ubuntu16/ubuntu16.zip deleted file mode 100644 index 9a98baa..0000000 Binary files a/templates/heat_files/ubuntu16/ubuntu16.zip and /dev/null differ diff --git a/templates/vnf-services/clearwater-ims-service.yaml b/templates/vnf-services/clearwater-ims-service.yaml deleted file mode 100644 index 51543da..0000000 --- a/templates/vnf-services/clearwater-ims-service.yaml +++ /dev/null @@ -1,36 +0,0 @@ ---- -clearwater_ims: - vnfs: - - vnf_name: clearwater_ims_vnf - heat_files_to_upload: templates/heat_files/clearwater_ims/clearwater_ims.zip - vnf_parameters: [ - {"name": "public_net_id", - "value": "8b0fb448-0daf-4344-a958-74852c5a0530"}, - {"name": "bono_image_name", - "value": "ubuntu-16.04-daily"}, - {"name": "dime_image_name", - "value": "ubuntu-16.04-daily"}, - {"name": "dns_image_name", - "value": "ubuntu-16.04-daily"}, - {"name": "ellis_image_name", - "value": "ubuntu-16.04-daily"}, - {"name": "homer_image_name", - "value": "ubuntu-16.04-daily"}, - {"name": "robot_image_name", - "value": "ubuntu-16.04-daily"}, - {"name": "sprout_image_name", - "value": "ubuntu-16.04-daily"}, - {"name": "vellum_image_name", - "value": "ubuntu-16.04-daily"}, - {"name": "dns_ip", - "value": "8.8.8.8"}, - {"name": "clearwater_pub_key", - "value": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAA\ -BAQDY15cdBmIs2XOpe4EiFCsaY6bmUmK/GysMoLl4UG51JCfJwvwoWCoA+6mDIbymZxhxq9IGx\ -ilp/yTA6WQ9s/5pBag1cUMJmFuda9PjOkXl04jgqh5tR6I+GZ97AvCg93KAECis5ubSqw1xOCj4\ -utfEUtPoF1OuzqM/lE5mY4N6VKXn+fT7pCD6cifBEs6JHhVNvs5OLLp/tO8Pa3kKYQOdyS0xc3r\ -h+t2lrzvKUSWGZbX+dLiFiEpjsUL3tDqzkEMNUn4pdv69OJuzWHCxRWPfdrY9Wg0j3mJesP29EBh\ -t+w+EC9/kBKq+1VKdmsXUXAcjEvjovVL8l1BrX3BY0R8D imported-openssh-key" - }, - {"name": "clearwater_key_name", - "value": "cleouverte"}] diff --git a/templates/vnf-services/ubuntu16test-service.yaml b/templates/vnf-services/ubuntu16test-service.yaml deleted file mode 100644 index c088313..0000000 --- a/templates/vnf-services/ubuntu16test-service.yaml +++ /dev/null @@ -1,42 +0,0 @@ ---- -ubuntu16test: - tosca_file_from_SDC: service-Ubuntu16tha-template - version: "1.0" - subscription_type: "ubuntu16test" - vnfs: - - vnf_name: ubuntu16test - heat_files_to_upload: templates/heat_files/ubuntu16/ubuntu16.zip - vnf_parameters: [ - {"name": "ubuntu16_image_name", - "value": "ubuntu-16.04-daily" - }, - {"name": "ubuntu16_key_name", - "value": "cleouverte" - }, - {"name": "ubuntu16_pub_key", - "value": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAA\ -BAQDY15cdBmIs2XOpe4EiFCsaY6bmUmK/GysMoLl4UG51JCfJwvwoWCoA+6mDIbymZxhxq9IGx\ -ilp/yTA6WQ9s/5pBag1cUMJmFuda9PjOkXl04jgqh5tR6I+GZ97AvCg93KAECis5ubSqw1xOCj4\ -utfEUtPoF1OuzqM/lE5mY4N6VKXn+fT7pCD6cifBEs6JHhVNvs5OLLp/tO8Pa3kKYQOdyS0xc3r\ -h+t2lrzvKUSWGZbX+dLiFiEpjsUL3tDqzkEMNUn4pdv69OJuzWHCxRWPfdrY9Wg0j3mJesP29EBh\ -t+w+EC9/kBKq+1VKdmsXUXAcjEvjovVL8l1BrX3BY0R8D imported-openssh-key" - }, - {"name": "ubuntu16_flavor_name", - "value": "m1.small" - }, - {"name": "VM_name", - "value": "ubuntu16test-VM-01" - }, - {"name": "vnf_id", - "value": "ubuntu16test-VNF-instance" - }, - {"name": "vf_module_id", - "value": "ubuntu16test-vfmodule-instance" - }, - {"name": "vnf_name", - "value": "ubuntu16test-VNF" - }, - {"name": "admin_plane_net_name", - "value": "admin" - } - ] -- cgit 1.2.3-korg