c8d1a9f901
Something are introduced in this patch: * As devstack-gate/devstack-vm-gate-wrap.sh is not really zuul v3 native, we move all configs in to `devstack/lib/heat` and .zuul.yaml. * Remove extra configs process in devstack. Like setup tempest(which is well covered by tempest itself.) or overlapping heat test configs setup. Use tempest config for all heat_integration tests. Also remove heat_integrationtests/common/configs since they're no longer required. * copy post.yaml for grenade jobs. As we migrate to zuul v3 for functional tests but not grenade (not yet), the post.yaml should exists under grenade dir. since it's only required by grenade jobs. * Use post.yaml in functional tests for cleanup test environments. Story: #2007056 Task: #37908 Depends-On: https://review.opendev.org/701105 Change-Id: I4f531161a7222e2c2a21f8d483f9c2a1d91dc38d
60 lines
2.3 KiB
Python
60 lines
2.3 KiB
Python
#
|
|
# 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
|
|
import unittest
|
|
|
|
from oslo_log import log as logging
|
|
from tempest import config
|
|
|
|
LOG = logging.getLogger(__name__, project=__name__)
|
|
|
|
|
|
def load_tests(loader, standard_tests, pattern):
|
|
logging.setup(config.CONF, __name__)
|
|
suite = unittest.TestSuite()
|
|
|
|
heat_integration_dir = os.path.dirname(os.path.abspath(__file__))
|
|
top_level_dir = os.path.split(heat_integration_dir)[0]
|
|
if pattern:
|
|
discovered = loader.discover(heat_integration_dir, pattern=pattern,
|
|
top_level_dir=top_level_dir)
|
|
else:
|
|
discovered = loader.discover(heat_integration_dir,
|
|
top_level_dir=top_level_dir)
|
|
suite.addTests(discovered)
|
|
|
|
# Discover tests from the heat-tempest-plugin if it is present, using
|
|
# the Tempest plugin mechanism so we don't need a hard dependency on it.
|
|
from tempest.test_discover import plugins as tempest_plugins
|
|
|
|
ext_plugins = tempest_plugins.TempestTestPluginManager()
|
|
plugin_data = ext_plugins.get_plugin_load_tests_tuple()
|
|
heat_plugin_data = plugin_data.get('heat')
|
|
if heat_plugin_data is not None:
|
|
plugin_dir, plugin_path = heat_plugin_data
|
|
LOG.info('Found Heat Tempest plugin: %s, %s', plugin_dir, plugin_path)
|
|
if pattern:
|
|
discovered = loader.discover(plugin_dir, pattern=pattern,
|
|
top_level_dir=plugin_path)
|
|
else:
|
|
discovered = loader.discover(plugin_dir,
|
|
top_level_dir=plugin_path)
|
|
suite.addTests(discovered)
|
|
else:
|
|
LOG.error('Heat Tempest plugin not found')
|
|
LOG.info('Available Tempest plugins: %s',
|
|
', '.join(plugin_data.keys()))
|
|
|
|
return suite
|