Initial movement to new repo with cleanup
This commit is contained in:
parent
48c26a9a37
commit
d2916d04e0
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
*.pyc
|
||||
*.swp
|
||||
*~
|
||||
.tox
|
||||
.testrepository
|
5
.gitreview
Normal file
5
.gitreview
Normal file
@ -0,0 +1,5 @@
|
||||
|
||||
[gerrit]
|
||||
host=review.openstack.org
|
||||
port=29418
|
||||
project=openstack/heat-tempest-plugin.git
|
12
.testr.conf
Normal file
12
.testr.conf
Normal file
@ -0,0 +1,12 @@
|
||||
[DEFAULT]
|
||||
test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
|
||||
OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
|
||||
OS_LOG_CAPTURE=${OS_LOG_CAPTURE:-1} \
|
||||
OS_DEBUG=${OS_DEBUG:-1} \
|
||||
OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-500} \
|
||||
OS_TEST_LOCK_PATH=${OS_TEST_LOCK_PATH:-${TMPDIR:-'/tmp'}} \
|
||||
${PYTHON:-python} -m subunit.run discover -t ${OS_TOP_LEVEL:-./} ${OS_TEST_PATH:-./heat_tempest_plugin} $LISTOPT $IDOPTION
|
||||
|
||||
test_id_option=--load-list $IDFILE
|
||||
test_list_option=--list
|
||||
group_regex=([^\.]*\.)*
|
28
README.rst
Normal file
28
README.rst
Normal file
@ -0,0 +1,28 @@
|
||||
===================
|
||||
Heat Tempest Plugin
|
||||
===================
|
||||
|
||||
Tests can be run as a tempest plugin against any heat-enabled OpenStack
|
||||
cloud, however defaults match running against a recent DevStack.
|
||||
|
||||
To run the tests against DevStack, do the following:
|
||||
|
||||
# Define DEST
|
||||
|
||||
export DEST=/opt/stack
|
||||
|
||||
# create test resources and write tempest config
|
||||
|
||||
$DEST/heat/heat_integrationtests/prepare_test_env.sh
|
||||
|
||||
$DEST/heat/heat_integrationtests/prepare_test_network.sh
|
||||
|
||||
# run tempest selecting only these tests
|
||||
|
||||
cd $DEST/tempest
|
||||
|
||||
tempest run --regex heat_tempest_plugin.tests
|
||||
|
||||
If custom configuration is required, edit the [orchestration_plugin] section of
|
||||
|
||||
$DEST/tempest/etc/tempest.conf
|
@ -19,7 +19,7 @@ from oslo_log import log as logging
|
||||
import paramiko
|
||||
import six
|
||||
|
||||
from heat_integrationtests.common import exceptions
|
||||
from heat_tempest_plugin.common import exceptions
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
@ -27,10 +27,10 @@ from six.moves import urllib
|
||||
import testscenarios
|
||||
import testtools
|
||||
|
||||
from heat_integrationtests.common import clients
|
||||
from heat_integrationtests.common import config
|
||||
from heat_integrationtests.common import exceptions
|
||||
from heat_integrationtests.common import remote_client
|
||||
from heat_tempest_plugin.common import exceptions
|
||||
from heat_tempest_plugin.common import remote_client
|
||||
from heat_tempest_plugin import config
|
||||
from heat_tempest_plugin.services import clients
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
_LOG_FORMAT = "%(levelname)8s [%(name)s] %(message)s"
|
||||
@ -85,7 +85,7 @@ class HeatIntegrationTest(testscenarios.WithScenarios,
|
||||
def setUp(self):
|
||||
super(HeatIntegrationTest, self).setUp()
|
||||
|
||||
self.conf = config.CONF.heat_plugin
|
||||
self.conf = config.CONF.orchestration_plugin
|
||||
|
||||
self.assertIsNotNone(self.conf.auth_url,
|
||||
'No auth_url configured')
|
@ -18,12 +18,12 @@ service_available_group = cfg.OptGroup(name="service_available",
|
||||
title="Available OpenStack Services")
|
||||
|
||||
ServiceAvailableGroup = [
|
||||
cfg.BoolOpt("heat_plugin",
|
||||
cfg.BoolOpt("orchestration_plugin",
|
||||
default=True,
|
||||
help="Whether or not heat is expected to be available"),
|
||||
]
|
||||
|
||||
heat_group = cfg.OptGroup(name="heat_plugin",
|
||||
heat_group = cfg.OptGroup(name="orchestration_plugin",
|
||||
title="Heat Service Options")
|
||||
|
||||
HeatGroup = [
|
||||
@ -42,13 +42,13 @@ HeatGroup = [
|
||||
secret=True),
|
||||
cfg.StrOpt('project_name',
|
||||
help="Project name to use for API requests.",
|
||||
deprecated_opts=[cfg.DeprecatedOpt('tenant_name',
|
||||
group='heat_plugin')]),
|
||||
deprecated_opts=[cfg.DeprecatedOpt(
|
||||
'tenant_name', group='orchestration_plugin')]),
|
||||
cfg.StrOpt('admin_project_name',
|
||||
default='admin',
|
||||
help="Admin project name to use for admin API requests.",
|
||||
deprecated_opts=[cfg.DeprecatedOpt('admin_tenant_name',
|
||||
group='heat_plugin')]),
|
||||
deprecated_opts=[cfg.DeprecatedOpt(
|
||||
'admin_tenant_name', group='orchestration_plugin')]),
|
||||
cfg.StrOpt('auth_url',
|
||||
help="Full URI of the OpenStack Identity API (Keystone)."),
|
||||
cfg.StrOpt('auth_version',
|
||||
@ -101,7 +101,7 @@ HeatGroup = [
|
||||
default='public',
|
||||
help="Visible floating network name "),
|
||||
cfg.StrOpt('boot_config_env',
|
||||
default=('heat_integrationtests/scenario/templates'
|
||||
default=('heat_tempest_plugin/tests/scenario/templates'
|
||||
'/boot_config_none_env.yaml'),
|
||||
help="Path to environment file which defines the "
|
||||
"resource type Heat::InstallConfigAgent. Needs to "
|
41
heat_tempest_plugin/plugin.py
Normal file
41
heat_tempest_plugin/plugin.py
Normal file
@ -0,0 +1,41 @@
|
||||
# Copyright 2015
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# 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
|
||||
|
||||
from tempest import config
|
||||
from tempest.test_discover import plugins
|
||||
|
||||
from heat_tempest_plugin import config as heat_config
|
||||
|
||||
|
||||
class HeatTempestPlugin(plugins.TempestPlugin):
|
||||
def load_tests(self):
|
||||
base_path = os.path.split(os.path.dirname(
|
||||
os.path.abspath(__file__)))[0]
|
||||
test_dir = "heat_tempest_plugin"
|
||||
full_test_dir = os.path.join(base_path, test_dir)
|
||||
return full_test_dir, base_path
|
||||
|
||||
def register_opts(self, conf):
|
||||
config.register_opt_group(conf, heat_config.service_available_group,
|
||||
heat_config.ServiceAvailableGroup)
|
||||
config.register_opt_group(conf, heat_config.heat_group,
|
||||
heat_config.HeatGroup)
|
||||
heat_config.CONF = config.CONF
|
||||
|
||||
def get_opt_lists(self):
|
||||
return [(heat_config.heat_group.name,
|
||||
heat_config.HeatGroup)]
|
@ -14,7 +14,6 @@ import os
|
||||
|
||||
from ceilometerclient import client as ceilometer_client
|
||||
from cinderclient import client as cinder_client
|
||||
from heat.common.i18n import _
|
||||
from heatclient import client as heat_client
|
||||
from keystoneauth1 import exceptions as kc_exceptions
|
||||
from keystoneauth1.identity.generic import password
|
||||
@ -73,11 +72,7 @@ class ClientManager(object):
|
||||
|
||||
self.auth_version = self.conf.auth_version
|
||||
if not self.auth_version:
|
||||
try:
|
||||
self.auth_version = self.conf.auth_url.split('/v')[1]
|
||||
except IndexError:
|
||||
raise ValueError(_('Please specify version in auth_url or '
|
||||
'auth_version in config.'))
|
||||
self.auth_version = self.conf.auth_url.split('/v')[1]
|
||||
self.insecure = self.conf.disable_ssl_certificate_validation
|
||||
self.ca_file = self.conf.ca_file
|
||||
|
0
heat_tempest_plugin/tests/api/__init__.py
Normal file
0
heat_tempest_plugin/tests/api/__init__.py
Normal file
@ -18,9 +18,9 @@ import os
|
||||
from gabbi import driver
|
||||
from six.moves.urllib import parse as urlparse
|
||||
|
||||
from heat_integrationtests.common import clients
|
||||
from heat_integrationtests.common import config
|
||||
from heat_integrationtests.common import test
|
||||
from heat_tempest_plugin.common import test
|
||||
from heat_tempest_plugin import config
|
||||
from heat_tempest_plugin.services import clients
|
||||
|
||||
TESTS_DIR = 'gabbits'
|
||||
|
||||
@ -29,7 +29,7 @@ def load_tests(loader, tests, pattern):
|
||||
"""Provide a TestSuite to the discovery process."""
|
||||
test_dir = os.path.join(os.path.dirname(__file__), TESTS_DIR)
|
||||
|
||||
conf = config.CONF.heat_plugin
|
||||
conf = config.CONF.orchestration_plugin
|
||||
if conf.auth_url is None:
|
||||
# It's not configured, let's not load tests
|
||||
return
|
0
heat_tempest_plugin/tests/functional/__init__.py
Normal file
0
heat_tempest_plugin/tests/functional/__init__.py
Normal file
@ -12,7 +12,7 @@
|
||||
|
||||
from oslo_utils import reflection
|
||||
|
||||
from heat_integrationtests.common import test
|
||||
from heat_tempest_plugin.common import test
|
||||
|
||||
|
||||
class FunctionalTestsBase(test.HeatIntegrationTest):
|
@ -10,7 +10,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
# Simple stack
|
||||
test_template = {
|
@ -18,8 +18,8 @@ from oslo_log import log as logging
|
||||
import six
|
||||
from testtools import matchers
|
||||
|
||||
from heat_integrationtests.common import test
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.common import test
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
@ -18,8 +18,8 @@ from six.moves.urllib import parse
|
||||
from swiftclient import utils as swiftclient_utils
|
||||
import yaml
|
||||
|
||||
from heat_integrationtests.common import test
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.common import test
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class AwsStackTest(functional_base.FunctionalTestsBase):
|
@ -10,7 +10,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class CancelUpdateTest(functional_base.FunctionalTestsBase):
|
@ -13,7 +13,7 @@
|
||||
from heatclient import exc
|
||||
import keystoneclient
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class ServiceBasedExposureTest(functional_base.FunctionalTestsBase):
|
@ -10,7 +10,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
cfn_template = '''
|
@ -14,8 +14,8 @@
|
||||
import copy
|
||||
import json
|
||||
|
||||
from heat_integrationtests.common import test
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.common import test
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
test_template_one_resource = {
|
||||
'heat_template_version': 'pike',
|
@ -10,7 +10,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
test_template = '''
|
@ -10,7 +10,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
test_template = '''
|
@ -15,7 +15,7 @@
|
||||
import copy
|
||||
import yaml
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
test_template = '''
|
@ -12,7 +12,7 @@
|
||||
|
||||
import yaml
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class DefaultParametersTest(functional_base.FunctionalTestsBase):
|
@ -12,7 +12,7 @@
|
||||
|
||||
import time
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class DeleteInProgressTest(functional_base.FunctionalTestsBase):
|
@ -10,7 +10,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class EncryptedParametersTest(functional_base.FunctionalTestsBase):
|
@ -11,7 +11,7 @@
|
||||
# under the License.
|
||||
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
test_encryption_vol_type = {
|
||||
'heat_template_version': '2015-04-30',
|
@ -11,7 +11,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
TEMPLATE = '''
|
@ -14,8 +14,8 @@ import uuid
|
||||
|
||||
from zaqarclient.queues.v2 import client as zaqarclient
|
||||
|
||||
from heat_integrationtests.common import test
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.common import test
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class ZaqarEventSinkTest(functional_base.FunctionalTestsBase):
|
@ -10,7 +10,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class ExternalReferencesTest(functional_base.FunctionalTestsBase):
|
@ -10,8 +10,8 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.common import test
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.common import test
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class HeatAutoscalingTest(functional_base.FunctionalTestsBase):
|
@ -12,7 +12,7 @@
|
||||
|
||||
import yaml
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class HooksTest(functional_base.FunctionalTestsBase):
|
@ -10,7 +10,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
from heatclient import exc as heat_exceptions
|
||||
|
||||
|
@ -15,7 +15,7 @@ import json
|
||||
|
||||
from testtools import matchers
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class InstanceGroupTest(functional_base.FunctionalTestsBase):
|
@ -11,7 +11,7 @@
|
||||
# under the License.
|
||||
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class LoadBalancerv2Test(functional_base.FunctionalTestsBase):
|
@ -16,7 +16,7 @@
|
||||
# where the get_attr calls are used. Nevertheless, it did sort-of work, and
|
||||
# this test will help keep it that way.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
initial_template = '''
|
@ -16,8 +16,8 @@ from oslo_messaging._drivers import common
|
||||
from oslo_messaging import transport
|
||||
import requests
|
||||
|
||||
from heat_integrationtests.common import test
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.common import test
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
BASIC_NOTIFICATIONS = [
|
||||
'orchestration.stack.create.start',
|
@ -10,7 +10,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
server_with_sub_fixed_ip_template = '''
|
@ -10,7 +10,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class OSWaitCondition(functional_base.FunctionalTestsBase):
|
@ -10,7 +10,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
from heatclient import exc
|
||||
import six
|
||||
|
@ -10,7 +10,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
test_template_one_resource = {
|
||||
'heat_template_version': '2013-05-23',
|
@ -14,7 +14,7 @@ import time
|
||||
|
||||
from oslo_concurrency import processutils
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class PurgeTest(functional_base.FunctionalTestsBase):
|
@ -19,7 +19,7 @@ import eventlet
|
||||
from oslo_concurrency import processutils
|
||||
from six.moves import configparser
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class ReloadOnSighupTest(functional_base.FunctionalTestsBase):
|
@ -14,7 +14,7 @@
|
||||
from heatclient import exc
|
||||
import six
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class RemoteStackTest(functional_base.FunctionalTestsBase):
|
@ -12,7 +12,7 @@
|
||||
|
||||
import yaml
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class ReplaceDeprecatedResourceTest(functional_base.FunctionalTestsBase):
|
@ -11,7 +11,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
TEMPLATE_SIMPLE = '''
|
@ -17,7 +17,7 @@ from heatclient import exc
|
||||
import six
|
||||
import yaml
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class ResourceGroupTest(functional_base.FunctionalTestsBase):
|
@ -10,7 +10,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
test_template_depend = {
|
@ -11,7 +11,7 @@
|
||||
# under the License.
|
||||
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class StackSnapshotRestoreTest(functional_base.FunctionalTestsBase):
|
@ -21,9 +21,9 @@ import yaml
|
||||
|
||||
from oslo_utils import timeutils
|
||||
|
||||
from heat_integrationtests.common import exceptions
|
||||
from heat_integrationtests.common import test
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.common import exceptions
|
||||
from heat_tempest_plugin.common import test
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class ParallelDeploymentsTest(functional_base.FunctionalTestsBase):
|
@ -10,7 +10,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class SoftwareDeploymentGroupTest(functional_base.FunctionalTestsBase):
|
@ -10,7 +10,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class StackEventsTest(functional_base.FunctionalTestsBase):
|
@ -10,7 +10,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class StackOutputsTest(functional_base.FunctionalTestsBase):
|
@ -10,7 +10,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class StackTagTest(functional_base.FunctionalTestsBase):
|
@ -11,7 +11,7 @@
|
||||
# under the License.
|
||||
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
test_template = '''
|
||||
heat_template_version: 2014-10-16
|
@ -16,8 +16,8 @@ from heatclient import exc as heat_exceptions
|
||||
import six
|
||||
import yaml
|
||||
|
||||
from heat_integrationtests.common import test
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.common import test
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class TemplateResourceTest(functional_base.FunctionalTestsBase):
|
@ -15,7 +15,7 @@ import six
|
||||
|
||||
from heatclient import exc
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class StackTemplateValidateTest(functional_base.FunctionalTestsBase):
|
@ -11,7 +11,7 @@
|
||||
# under the License.
|
||||
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class TemplateAPITest(functional_base.FunctionalTestsBase):
|
@ -10,7 +10,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
template_subnet_old_network = """
|
||||
heat_template_version: 2016-10-14
|
@ -10,7 +10,7 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class StackUnicodeTemplateTest(functional_base.FunctionalTestsBase):
|
@ -12,7 +12,7 @@
|
||||
|
||||
import time
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
test_template = {
|
||||
'heat_template_version': '2013-05-23',
|
@ -11,7 +11,7 @@
|
||||
# under the License.
|
||||
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class StackValidationTest(functional_base.FunctionalTestsBase):
|
@ -15,7 +15,7 @@ import json
|
||||
from keystoneclient.v3 import client as keystoneclient
|
||||
from zaqarclient.queues.v2 import client as zaqarclient
|
||||
|
||||
from heat_integrationtests.functional import functional_base
|
||||
from heat_tempest_plugin.tests.functional import functional_base
|
||||
|
||||
|
||||
class ZaqarWaitConditionTest(functional_base.FunctionalTestsBase):
|
0
heat_tempest_plugin/tests/scenario/__init__.py
Normal file
0
heat_tempest_plugin/tests/scenario/__init__.py
Normal file
@ -12,7 +12,7 @@
|
||||
|
||||
from oslo_utils import reflection
|
||||
|
||||
from heat_integrationtests.common import test
|
||||
from heat_tempest_plugin.common import test
|
||||
|
||||
|
||||
class ScenarioTestsBase(test.HeatIntegrationTest):
|
@ -12,8 +12,8 @@
|
||||
|
||||
from oslo_log import log as logging
|
||||
|
||||
from heat_integrationtests.common import test
|
||||
from heat_integrationtests.scenario import scenario_base
|
||||
from heat_tempest_plugin.common import test
|
||||
from heat_tempest_plugin.tests.scenario import scenario_base
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
@ -15,8 +15,8 @@ import time
|
||||
|
||||
import requests
|
||||
|
||||
from heat_integrationtests.common import test
|
||||
from heat_integrationtests.scenario import scenario_base
|
||||
from heat_tempest_plugin.common import test
|
||||
from heat_tempest_plugin.tests.scenario import scenario_base
|
||||
|
||||
|
||||
class AutoscalingLoadBalancerTest(scenario_base.ScenarioTestsBase):
|
@ -15,8 +15,8 @@ import time
|
||||
|
||||
import requests
|
||||
|
||||
from heat_integrationtests.common import test
|
||||
from heat_integrationtests.scenario import scenario_base
|
||||
from heat_tempest_plugin.common import test
|
||||
from heat_tempest_plugin.tests.scenario import scenario_base
|
||||
|
||||
|
||||
class AutoscalingLoadBalancerv2Test(scenario_base.ScenarioTestsBase):
|
@ -10,8 +10,8 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from heat_integrationtests.common import test
|
||||
from heat_integrationtests.scenario import scenario_base
|
||||
from heat_tempest_plugin.common import test
|
||||
from heat_tempest_plugin.tests.scenario import scenario_base
|
||||
from heatclient.common import template_utils
|
||||
|
||||
|
@ -12,8 +12,8 @@
|
||||
|
||||
import json
|
||||
|
||||
from heat_integrationtests.common import exceptions
|
||||
from heat_integrationtests.scenario import scenario_base
|
||||
from heat_tempest_plugin.common import exceptions
|
||||
from heat_tempest_plugin.tests.scenario import scenario_base
|
||||
|
||||
|
||||
class CfnInitIntegrationTest(scenario_base.ScenarioTestsBase):
|
@ -13,8 +13,8 @@
|
||||
|
||||
import json
|
||||
|
||||
from heat_integrationtests.common import exceptions
|
||||
from heat_integrationtests.scenario import scenario_base
|
||||
from heat_tempest_plugin.common import exceptions
|
||||
from heat_tempest_plugin.tests.scenario import scenario_base
|
||||
|
||||
|
||||
class ServerSignalIntegrationTest(scenario_base.ScenarioTestsBase):
|
@ -13,7 +13,7 @@
|
||||
from heatclient.common import template_utils
|
||||
import six
|
||||
|
||||
from heat_integrationtests.scenario import scenario_base
|
||||
from heat_tempest_plugin.tests.scenario import scenario_base
|
||||
|
||||
CFG1_SH = '''#!/bin/sh
|
||||
echo "Writing to /tmp/$bar"
|
@ -15,8 +15,8 @@ from cinderclient import exceptions as cinder_exceptions
|
||||
from oslo_log import log as logging
|
||||
import six
|
||||
|
||||
from heat_integrationtests.common import exceptions
|
||||
from heat_integrationtests.scenario import scenario_base
|
||||
from heat_tempest_plugin.common import exceptions
|
||||
from heat_tempest_plugin.tests.scenario import scenario_base
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
20
requirements.txt
Normal file
20
requirements.txt
Normal file
@ -0,0 +1,20 @@
|
||||
# The order of packages is significant, because pip processes them in the order
|
||||
# of appearance. Changing the order has an impact on the overall integration
|
||||
# process, which may cause wedges in the gate later.
|
||||
eventlet!=0.18.3,!=0.20.1,<0.21.0,>=0.18.2 # MIT
|
||||
keystoneauth1>=3.2.0 # Apache-2.0
|
||||
oslo.config>=4.6.0 # Apache-2.0
|
||||
oslo.log>=3.30.0 # Apache-2.0
|
||||
paramiko>=2.0.0 # LGPLv2.1+
|
||||
python-ceilometerclient>=2.5.0 # Apache-2.0
|
||||
python-cinderclient>=3.2.0 # Apache-2.0
|
||||
python-heatclient>=1.10.0 # Apache-2.0
|
||||
python-neutronclient>=6.3.0 # Apache-2.0
|
||||
python-novaclient>=9.1.0 # Apache-2.0
|
||||
python-swiftclient>=3.2.0 # Apache-2.0
|
||||
python-zaqarclient>=1.0.0 # Apache-2.0
|
||||
testtools>=1.4.0 # MIT
|
||||
testscenarios>=0.4 # Apache-2.0/BSD
|
||||
tempest>=16.1.0 # Apache-2.0
|
||||
gabbi>=1.35.0 # Apache-2.0
|
||||
kombu!=4.0.2,>=4.0.0 # BSD
|
48
setup.cfg
Normal file
48
setup.cfg
Normal file
@ -0,0 +1,48 @@
|
||||
[metadata]
|
||||
name = heat-tempest-plugin
|
||||
summary = OpenStack Orchestration Tempest Plugin
|
||||
description-file =
|
||||
README.rst
|
||||
author = OpenStack
|
||||
author-email = openstack-dev@lists.openstack.org
|
||||
home-page = http://docs.openstack.org/developer/heat-tempest-plugin
|
||||
classifier =
|
||||
Environment :: OpenStack
|
||||
Intended Audience :: Information Technology
|
||||
Intended Audience :: System Administrators
|
||||
License :: OSI Approved :: Apache Software License
|
||||
Operating System :: POSIX :: Linux
|
||||
Programming Language :: Python
|
||||
Programming Language :: Python :: 2
|
||||
Programming Language :: Python :: 2.7
|
||||
Programming Language :: Python :: 3
|
||||
Programming Language :: Python :: 3.5
|
||||
|
||||
keywords =
|
||||
setup
|
||||
distutils
|
||||
|
||||
[files]
|
||||
packages =
|
||||
heat_tempest_plugin
|
||||
|
||||
[entry_points]
|
||||
tempest.test_plugins =
|
||||
heat = heat_tempest_plugin.plugin:HeatTempestPlugin
|
||||
|
||||
[global]
|
||||
setup-hooks =
|
||||
pbr.hooks.setup_hook
|
||||
|
||||
[build_sphinx]
|
||||
all_files = 1
|
||||
build-dir = doc/build
|
||||
source-dir = doc/source
|
||||
|
||||
[egg_info]
|
||||
tag_build =
|
||||
tag_date = 0
|
||||
tag_svn_revision = 0
|
||||
|
||||
[wheel]
|
||||