Split FT to Legacy and SOL implementation

FT execution time in Zuul is about to exceed its timeout. This patch
make the existing dsvm-functional FT job to be separated to two jobs;
* dsvm-functional-legacy
* dsvm-functional-sol

This patch fixes the unstable FT results in zuul FT jobs:
* test_rollback_instantiate:
  ``depends_on`` in BaseHOT makes stable deletion of stacks, otherwise
  Heat fails to delete subnets due to missing dependency with ports.
* test_vnf_alarm_scale_with_instance_reservation:
   "--concurrency 1" enables to run test without any VMs on hosts,
  otherwise Blazar fails to add hosts into the freepool.

Changes:
* Split the FT directory to legacy and sol
* Create new tox envs for FT of legacy and of SOL
* Relative path are changed due to the new directory structure
* Add ``depends_on` parameter in BaseHOT
* Set "--concurrency 1" for both of the new FT jobs

Change-Id: I4c66353eada16f7e51d7ed1c1999cf50635b9dce
changes/09/770609/10
Yoshito Ito 2 years ago
parent 7906be6818
commit ba813054a4
  1. 16
      .zuul.yaml
  2. 1
      tacker/tests/etc/samples/etsi/nfv/functional3/BaseHOT/simple/helloworld3.yaml
  3. 0
      tacker/tests/functional/legacy/__init__.py
  4. 0
      tacker/tests/functional/legacy/nfvo/__init__.py
  5. 0
      tacker/tests/functional/legacy/nfvo/test_nfvo.py
  6. 0
      tacker/tests/functional/legacy/nfvo/test_vim.py
  7. 0
      tacker/tests/functional/legacy/vnfm/__init__.py
  8. 0
      tacker/tests/functional/legacy/vnfm/test_tosca_vnf.py
  9. 0
      tacker/tests/functional/legacy/vnfm/test_tosca_vnf_alarm.py
  10. 0
      tacker/tests/functional/legacy/vnfm/test_tosca_vnf_block_storage.py
  11. 0
      tacker/tests/functional/legacy/vnfm/test_tosca_vnf_floatingip.py
  12. 0
      tacker/tests/functional/legacy/vnfm/test_tosca_vnf_maintenance.py
  13. 0
      tacker/tests/functional/legacy/vnfm/test_tosca_vnf_multiple_vdu.py
  14. 0
      tacker/tests/functional/legacy/vnfm/test_tosca_vnf_reservation.py
  15. 0
      tacker/tests/functional/legacy/vnfm/test_tosca_vnf_scale.py
  16. 2
      tacker/tests/functional/legacy/vnfm/test_tosca_vnfc.py
  17. 0
      tacker/tests/functional/legacy/vnfm/test_tosca_vnfd.py
  18. 0
      tacker/tests/functional/legacy/vnfm/test_vnf.py
  19. 0
      tacker/tests/functional/legacy/vnfm/test_vnf_monitoring.py
  20. 0
      tacker/tests/functional/legacy/vnfm/test_vnf_placement_policy.py
  21. 0
      tacker/tests/functional/legacy/vnfm/test_vnfm_param.py
  22. 0
      tacker/tests/functional/sol/__init__.py
  23. 0
      tacker/tests/functional/sol/vnflcm/__init__.py
  24. 0
      tacker/tests/functional/sol/vnflcm/base.py
  25. 0
      tacker/tests/functional/sol/vnflcm/fake_vnflcm.py
  26. 0
      tacker/tests/functional/sol/vnflcm/fake_vnfpkgm.py
  27. 4
      tacker/tests/functional/sol/vnflcm/test_kubernetes.py
  28. 2
      tacker/tests/functional/sol/vnflcm/test_vnf_instance.py
  29. 28
      tacker/tests/functional/sol/vnflcm/test_vnf_instance_with_user_data.py
  30. 0
      tacker/tests/functional/sol/vnfpkgm/__init__.py
  31. 2
      tacker/tests/functional/sol/vnfpkgm/test_vnf_package.py
  32. 12
      tox.ini

@ -33,7 +33,7 @@
- compute2
- job:
name: tacker-functional-devstack-multinode-python3
name: tacker-functional-devstack-multinode-legacy
parent: devstack
description: |
Base multinodes job for devstack-based functional tests
@ -157,7 +157,7 @@
# Tacker services
tacker: true
tacker-conductor: true
tox_envlist: dsvm-functional
tox_envlist: dsvm-functional-legacy
group-vars:
compute:
# Since a VirtualInterfaceCreateException occurs during a test,
@ -205,6 +205,15 @@
# To override the parent job's definitions.
tls-proxy: false
- job:
name: tacker-functional-devstack-multinode-sol
parent: tacker-functional-devstack-multinode-legacy
description: |
Multinodes job for SOL devstack-based functional tests
host-vars:
controller-tacker:
tox_envlist: dsvm-functional-sol
- project:
templates:
- check-requirements
@ -215,4 +224,5 @@
- release-notes-jobs-python3
check:
jobs:
- tacker-functional-devstack-multinode-python3
- tacker-functional-devstack-multinode-legacy
- tacker-functional-devstack-multinode-sol

@ -39,6 +39,7 @@ resources:
adjustment_type: change_in_capacity
VDU2_scale_group:
type: OS::Heat::AutoScalingGroup
depends_on: VDU1_scale_group
properties:
min_size: 2
max_size: 2

@ -36,7 +36,7 @@ class VnfTestToscaVNFC(base.BaseTackerTest):
input_yaml = read_file('sample_tosca_vnfc.yaml')
tosca_dict = yaml.safe_load(input_yaml)
path = os.path.abspath(os.path.join(
os.path.dirname(__file__), "../../etc/samples"))
os.path.dirname(__file__), "../../../etc/samples"))
vnfd_name = 'sample-tosca-vnfc'
tosca_dict['topology_template']['node_templates'
]['firewall_vnfc'

@ -39,7 +39,7 @@ def _create_and_upload_vnf_package(tacker_client, csar_package_name,
'/vnfpkgm/v1/vnf_packages', "POST", body=body)
# upload vnf package
csar_package_path = "../../etc/samples/etsi/nfv/%s" % csar_package_name
csar_package_path = "../../../etc/samples/etsi/nfv/%s" % csar_package_name
file_path = os.path.abspath(os.path.join(os.path.dirname(__file__),
csar_package_path))
@ -826,7 +826,7 @@ class VnfLcmTest(base.BaseTackerTest):
self):
instance_file_dir = os.path.join(
os.path.dirname(os.path.abspath(__file__)),
'../../etc/samples/etsi/nfv/test_create_vnf_instance_'
'../../../etc/samples/etsi/nfv/test_create_vnf_instance_'
'and_instantiate_and_terminate_cnf_with_artifact_is_url/'
)
artifact_file_dir = os.path.join(

@ -95,7 +95,7 @@ def _create_and_upload_vnf_package(tacker_client, csar_package_name,
'/vnfpkgm/v1/vnf_packages', "POST", body=body)
# upload vnf package
csar_package_path = "../../etc/samples/etsi/nfv/%s" % csar_package_name
csar_package_path = "../../../etc/samples/etsi/nfv/%s" % csar_package_name
file_path = os.path.abspath(os.path.join(os.path.dirname(__file__),
csar_package_path))

@ -14,8 +14,8 @@
import os
from oslo_utils import uuidutils
from tacker.objects import fields
from tacker.tests.functional.vnflcm import base as vnflcm_base
from tacker.tests.functional.vnflcm import fake_vnflcm
from tacker.tests.functional.sol.vnflcm import base as vnflcm_base
from tacker.tests.functional.sol.vnflcm import fake_vnflcm
import tempfile
import time
@ -128,7 +128,7 @@ class VnfLcmWithUserDataTest(vnflcm_base.BaseVnfLcmTest):
csar_package_path = os.path.abspath(
os.path.join(
os.path.dirname(__file__),
"../../etc/samples/etsi/nfv",
"../../../etc/samples/etsi/nfv",
sample_name))
tempname, _ = vnflcm_base._create_csar_with_unique_vnfd_id(
csar_package_path)
@ -260,7 +260,7 @@ class VnfLcmWithUserDataTest(vnflcm_base.BaseVnfLcmTest):
csar_package_path = os.path.abspath(
os.path.join(
os.path.dirname(__file__),
"../../etc/samples/etsi/nfv",
"../../../etc/samples/etsi/nfv",
sample_name))
tempname, _ = vnflcm_base._create_csar_with_unique_vnfd_id(
csar_package_path)
@ -307,7 +307,7 @@ class VnfLcmWithUserDataTest(vnflcm_base.BaseVnfLcmTest):
csar_package_path = os.path.abspath(
os.path.join(
os.path.dirname(__file__),
"../../etc/samples/etsi/nfv",
"../../../etc/samples/etsi/nfv",
sample_name))
tempname, _ = vnflcm_base._create_csar_with_unique_vnfd_id(
csar_package_path)
@ -403,7 +403,7 @@ class VnfLcmWithUserDataTest(vnflcm_base.BaseVnfLcmTest):
csar_package_path = os.path.abspath(
os.path.join(
os.path.dirname(__file__),
"../../etc/samples/etsi/nfv",
"../../../etc/samples/etsi/nfv",
sample_name))
tempname, _ = vnflcm_base._create_csar_with_unique_vnfd_id(
csar_package_path)
@ -452,7 +452,7 @@ class VnfLcmWithUserDataTest(vnflcm_base.BaseVnfLcmTest):
csar_package_path = os.path.abspath(
os.path.join(
os.path.dirname(__file__),
"../../etc/samples/etsi/nfv",
"../../../etc/samples/etsi/nfv",
sample_name))
tempname, _ = vnflcm_base._create_csar_with_unique_vnfd_id(
csar_package_path)
@ -512,7 +512,7 @@ class VnfLcmWithUserDataTest(vnflcm_base.BaseVnfLcmTest):
csar_package_path = os.path.abspath(
os.path.join(
os.path.dirname(__file__),
"../../etc/samples/etsi/nfv",
"../../../etc/samples/etsi/nfv",
sample_name))
tempname, _ = vnflcm_base._create_csar_user_data_common(
csar_package_path)
@ -563,7 +563,7 @@ class VnfLcmWithUserDataTest(vnflcm_base.BaseVnfLcmTest):
csar_package_path = os.path.abspath(
os.path.join(
os.path.dirname(__file__),
"../../etc/samples/etsi/nfv",
"../../../etc/samples/etsi/nfv",
sample_name))
tempname, _ = vnflcm_base._create_csar_user_data_common(
csar_package_path)
@ -616,7 +616,7 @@ class VnfLcmWithUserDataTest(vnflcm_base.BaseVnfLcmTest):
csar_package_path = os.path.abspath(
os.path.join(
os.path.dirname(__file__),
"../../etc/samples/etsi/nfv",
"../../../etc/samples/etsi/nfv",
sample_name))
tempname, _ = vnflcm_base._create_csar_user_data_common(
csar_package_path)
@ -670,7 +670,7 @@ class VnfLcmWithUserDataTest(vnflcm_base.BaseVnfLcmTest):
csar_package_path = os.path.abspath(
os.path.join(
os.path.dirname(__file__),
"../../etc/samples/etsi/nfv",
"../../../etc/samples/etsi/nfv",
sample_name))
tempname, _ = vnflcm_base._create_csar_user_data_common(
csar_package_path)
@ -725,7 +725,7 @@ class VnfLcmWithUserDataTest(vnflcm_base.BaseVnfLcmTest):
csar_package_path = os.path.abspath(
os.path.join(
os.path.dirname(__file__),
"../../etc/samples/etsi/nfv",
"../../../etc/samples/etsi/nfv",
sample_name))
tempname, _ = vnflcm_base._create_csar_user_data_common(
csar_package_path)
@ -796,7 +796,7 @@ class VnfLcmWithUserDataTest(vnflcm_base.BaseVnfLcmTest):
csar_package_path = os.path.abspath(
os.path.join(
os.path.dirname(__file__),
"../../etc/samples/etsi/nfv",
"../../../etc/samples/etsi/nfv",
sample_name))
tempname, _ = vnflcm_base._create_csar_with_unique_vnfd_id(
csar_package_path)
@ -891,7 +891,7 @@ class VnfLcmWithUserDataTest(vnflcm_base.BaseVnfLcmTest):
csar_package_path = os.path.abspath(
os.path.join(
os.path.dirname(__file__),
"../../etc/samples/etsi/nfv",
"../../../etc/samples/etsi/nfv",
sample_name))
tempname, _ = vnflcm_base._create_csar_with_unique_vnfd_id(
csar_package_path)

@ -159,7 +159,7 @@ class VnfPackageTest(base.BaseTackerTest):
def _get_csar_dir_path(self, csar_name):
csar_dir = os.path.abspath(os.path.join(os.path.dirname(__file__),
"../../etc/samples/etsi/nfv", csar_name))
"../../../etc/samples/etsi/nfv", csar_name))
return csar_dir
def _create_and_upload_vnf(self, sample_name):

@ -40,6 +40,18 @@ setenv = {[testenv]setenv}
commands =
stestr --test-path=./tacker/tests/functional run --slowest --concurrency 2 {posargs}
[testenv:dsvm-functional-legacy]
setenv = {[testenv]setenv}
commands =
stestr --test-path=./tacker/tests/functional/legacy run --slowest --concurrency 1 {posargs}
[testenv:dsvm-functional-sol]
setenv = {[testenv]setenv}
commands =
stestr --test-path=./tacker/tests/functional/sol run --slowest --concurrency 1 {posargs}
[testenv:debug]
commands = oslo_debug_helper {posargs}

Loading…
Cancel
Save