Initial movement to new repo with cleanup
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..7693c17
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+*.pyc
+*.swp
+*~
+.tox
+.testrepository
diff --git a/.gitreview b/.gitreview
new file mode 100644
index 0000000..9c33d46
--- /dev/null
+++ b/.gitreview
@@ -0,0 +1,5 @@
+
+[gerrit]
+host=review.openstack.org
+port=29418
+project=openstack/heat-tempest-plugin.git
diff --git a/.testr.conf b/.testr.conf
new file mode 100644
index 0000000..b1f68d6
--- /dev/null
+++ b/.testr.conf
@@ -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=([^\.]*\.)*
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..bf9bba5
--- /dev/null
+++ b/README.rst
@@ -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
diff --git a/common/__init__.py b/heat_tempest_plugin/__init__.py
similarity index 100%
copy from common/__init__.py
copy to heat_tempest_plugin/__init__.py
diff --git a/common/__init__.py b/heat_tempest_plugin/common/__init__.py
similarity index 100%
rename from common/__init__.py
rename to heat_tempest_plugin/common/__init__.py
diff --git a/common/exceptions.py b/heat_tempest_plugin/common/exceptions.py
similarity index 100%
rename from common/exceptions.py
rename to heat_tempest_plugin/common/exceptions.py
diff --git a/common/remote_client.py b/heat_tempest_plugin/common/remote_client.py
similarity index 98%
rename from common/remote_client.py
rename to heat_tempest_plugin/common/remote_client.py
index 201b10f..f23622b 100644
--- a/common/remote_client.py
+++ b/heat_tempest_plugin/common/remote_client.py
@@ -19,7 +19,7 @@
 import paramiko
 import six
 
-from heat_integrationtests.common import exceptions
+from heat_tempest_plugin.common import exceptions
 
 LOG = logging.getLogger(__name__)
 
diff --git a/common/test.py b/heat_tempest_plugin/common/test.py
similarity index 98%
rename from common/test.py
rename to heat_tempest_plugin/common/test.py
index a6aab7e..64fd1a0 100644
--- a/common/test.py
+++ b/heat_tempest_plugin/common/test.py
@@ -27,10 +27,10 @@
 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 @@
     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')
diff --git a/common/config.py b/heat_tempest_plugin/config.py
similarity index 94%
rename from common/config.py
rename to heat_tempest_plugin/config.py
index eddac01..65b870d 100644
--- a/common/config.py
+++ b/heat_tempest_plugin/config.py
@@ -18,12 +18,12 @@
                                        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 @@
                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 @@
                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 "
diff --git a/heat_tempest_plugin/plugin.py b/heat_tempest_plugin/plugin.py
new file mode 100644
index 0000000..0938b43
--- /dev/null
+++ b/heat_tempest_plugin/plugin.py
@@ -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)]
diff --git a/api/__init__.py b/heat_tempest_plugin/services/__init__.py
similarity index 100%
copy from api/__init__.py
copy to heat_tempest_plugin/services/__init__.py
diff --git a/common/clients.py b/heat_tempest_plugin/services/clients.py
similarity index 95%
rename from common/clients.py
rename to heat_tempest_plugin/services/clients.py
index 48db671..ffd5b78 100644
--- a/common/clients.py
+++ b/heat_tempest_plugin/services/clients.py
@@ -14,7 +14,6 @@
 
 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 @@
 
         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
 
diff --git a/api/__init__.py b/heat_tempest_plugin/tests/__init__.py
similarity index 100%
copy from api/__init__.py
copy to heat_tempest_plugin/tests/__init__.py
diff --git a/api/__init__.py b/heat_tempest_plugin/tests/api/__init__.py
similarity index 100%
rename from api/__init__.py
rename to heat_tempest_plugin/tests/api/__init__.py
diff --git a/api/gabbits/environments.yaml b/heat_tempest_plugin/tests/api/gabbits/environments.yaml
similarity index 100%
rename from api/gabbits/environments.yaml
rename to heat_tempest_plugin/tests/api/gabbits/environments.yaml
diff --git a/api/gabbits/resources.yaml b/heat_tempest_plugin/tests/api/gabbits/resources.yaml
similarity index 100%
rename from api/gabbits/resources.yaml
rename to heat_tempest_plugin/tests/api/gabbits/resources.yaml
diff --git a/api/gabbits/resourcetypes.yaml b/heat_tempest_plugin/tests/api/gabbits/resourcetypes.yaml
similarity index 100%
rename from api/gabbits/resourcetypes.yaml
rename to heat_tempest_plugin/tests/api/gabbits/resourcetypes.yaml
diff --git a/api/gabbits/stacks.yaml b/heat_tempest_plugin/tests/api/gabbits/stacks.yaml
similarity index 100%
rename from api/gabbits/stacks.yaml
rename to heat_tempest_plugin/tests/api/gabbits/stacks.yaml
diff --git a/api/gabbits/templates.yaml b/heat_tempest_plugin/tests/api/gabbits/templates.yaml
similarity index 100%
rename from api/gabbits/templates.yaml
rename to heat_tempest_plugin/tests/api/gabbits/templates.yaml
diff --git a/api/test_heat_api.py b/heat_tempest_plugin/tests/api/test_heat_api.py
similarity index 88%
rename from api/test_heat_api.py
rename to heat_tempest_plugin/tests/api/test_heat_api.py
index 2e219e7..091edb3 100644
--- a/api/test_heat_api.py
+++ b/heat_tempest_plugin/tests/api/test_heat_api.py
@@ -18,9 +18,9 @@
 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 @@
     """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
diff --git a/functional/__init__.py b/heat_tempest_plugin/tests/functional/__init__.py
similarity index 100%
rename from functional/__init__.py
rename to heat_tempest_plugin/tests/functional/__init__.py
diff --git a/functional/functional_base.py b/heat_tempest_plugin/tests/functional/functional_base.py
similarity index 96%
rename from functional/functional_base.py
rename to heat_tempest_plugin/tests/functional/functional_base.py
index 73ccf1d..c9d82b6 100644
--- a/functional/functional_base.py
+++ b/heat_tempest_plugin/tests/functional/functional_base.py
@@ -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):
diff --git a/functional/test_admin_actions.py b/heat_tempest_plugin/tests/functional/test_admin_actions.py
similarity index 97%
rename from functional/test_admin_actions.py
rename to heat_tempest_plugin/tests/functional/test_admin_actions.py
index 2c9ff6e..757b03c 100644
--- a/functional/test_admin_actions.py
+++ b/heat_tempest_plugin/tests/functional/test_admin_actions.py
@@ -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 = {
diff --git a/functional/test_autoscaling.py b/heat_tempest_plugin/tests/functional/test_autoscaling.py
similarity index 99%
rename from functional/test_autoscaling.py
rename to heat_tempest_plugin/tests/functional/test_autoscaling.py
index 369fa00..d266646 100644
--- a/functional/test_autoscaling.py
+++ b/heat_tempest_plugin/tests/functional/test_autoscaling.py
@@ -18,8 +18,8 @@
 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__)
diff --git a/functional/test_aws_stack.py b/heat_tempest_plugin/tests/functional/test_aws_stack.py
similarity index 98%
rename from functional/test_aws_stack.py
rename to heat_tempest_plugin/tests/functional/test_aws_stack.py
index 05539dc..03beb1f 100644
--- a/functional/test_aws_stack.py
+++ b/heat_tempest_plugin/tests/functional/test_aws_stack.py
@@ -18,8 +18,8 @@
 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):
diff --git a/functional/test_cancel_update.py b/heat_tempest_plugin/tests/functional/test_cancel_update.py
similarity index 96%
rename from functional/test_cancel_update.py
rename to heat_tempest_plugin/tests/functional/test_cancel_update.py
index bfeeda6..4a8938a 100644
--- a/functional/test_cancel_update.py
+++ b/heat_tempest_plugin/tests/functional/test_cancel_update.py
@@ -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):
diff --git a/functional/test_conditional_exposure.py b/heat_tempest_plugin/tests/functional/test_conditional_exposure.py
similarity index 98%
rename from functional/test_conditional_exposure.py
rename to heat_tempest_plugin/tests/functional/test_conditional_exposure.py
index 9d0f838..dd4329b 100644
--- a/functional/test_conditional_exposure.py
+++ b/heat_tempest_plugin/tests/functional/test_conditional_exposure.py
@@ -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):
diff --git a/functional/test_conditions.py b/heat_tempest_plugin/tests/functional/test_conditions.py
similarity index 99%
rename from functional/test_conditions.py
rename to heat_tempest_plugin/tests/functional/test_conditions.py
index ebb3c08..106a4ca 100644
--- a/functional/test_conditions.py
+++ b/heat_tempest_plugin/tests/functional/test_conditions.py
@@ -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 = '''
diff --git a/functional/test_create_update.py b/heat_tempest_plugin/tests/functional/test_create_update.py
similarity index 99%
rename from functional/test_create_update.py
rename to heat_tempest_plugin/tests/functional/test_create_update.py
index 3d4ca76..46b1837 100644
--- a/functional/test_create_update.py
+++ b/heat_tempest_plugin/tests/functional/test_create_update.py
@@ -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',
diff --git a/functional/test_create_update_neutron_port.py b/heat_tempest_plugin/tests/functional/test_create_update_neutron_port.py
similarity index 97%
rename from functional/test_create_update_neutron_port.py
rename to heat_tempest_plugin/tests/functional/test_create_update_neutron_port.py
index bd39bf4..72cd47c 100644
--- a/functional/test_create_update_neutron_port.py
+++ b/heat_tempest_plugin/tests/functional/test_create_update_neutron_port.py
@@ -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 = '''
diff --git a/functional/test_create_update_neutron_subnet.py b/heat_tempest_plugin/tests/functional/test_create_update_neutron_subnet.py
similarity index 98%
rename from functional/test_create_update_neutron_subnet.py
rename to heat_tempest_plugin/tests/functional/test_create_update_neutron_subnet.py
index 31ad6f5..345a740 100644
--- a/functional/test_create_update_neutron_subnet.py
+++ b/heat_tempest_plugin/tests/functional/test_create_update_neutron_subnet.py
@@ -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 = '''
diff --git a/functional/test_create_update_neutron_trunk.py b/heat_tempest_plugin/tests/functional/test_create_update_neutron_trunk.py
similarity index 99%
rename from functional/test_create_update_neutron_trunk.py
rename to heat_tempest_plugin/tests/functional/test_create_update_neutron_trunk.py
index b5a108a..d572405 100644
--- a/functional/test_create_update_neutron_trunk.py
+++ b/heat_tempest_plugin/tests/functional/test_create_update_neutron_trunk.py
@@ -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 = '''
diff --git a/functional/test_default_parameters.py b/heat_tempest_plugin/tests/functional/test_default_parameters.py
similarity index 97%
rename from functional/test_default_parameters.py
rename to heat_tempest_plugin/tests/functional/test_default_parameters.py
index aa2ca35..24aa6e4 100644
--- a/functional/test_default_parameters.py
+++ b/heat_tempest_plugin/tests/functional/test_default_parameters.py
@@ -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):
diff --git a/functional/test_delete.py b/heat_tempest_plugin/tests/functional/test_delete.py
similarity index 94%
rename from functional/test_delete.py
rename to heat_tempest_plugin/tests/functional/test_delete.py
index 92b1c74..20266d6 100644
--- a/functional/test_delete.py
+++ b/heat_tempest_plugin/tests/functional/test_delete.py
@@ -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):
diff --git a/functional/test_encrypted_parameter.py b/heat_tempest_plugin/tests/functional/test_encrypted_parameter.py
similarity index 96%
rename from functional/test_encrypted_parameter.py
rename to heat_tempest_plugin/tests/functional/test_encrypted_parameter.py
index 5ec8a27..bfbd77b 100644
--- a/functional/test_encrypted_parameter.py
+++ b/heat_tempest_plugin/tests/functional/test_encrypted_parameter.py
@@ -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):
diff --git a/functional/test_encryption_vol_type.py b/heat_tempest_plugin/tests/functional/test_encryption_vol_type.py
similarity index 97%
rename from functional/test_encryption_vol_type.py
rename to heat_tempest_plugin/tests/functional/test_encryption_vol_type.py
index b34b094..2b98022 100644
--- a/functional/test_encryption_vol_type.py
+++ b/heat_tempest_plugin/tests/functional/test_encryption_vol_type.py
@@ -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',
diff --git a/functional/test_env_merge.py b/heat_tempest_plugin/tests/functional/test_env_merge.py
similarity index 97%
rename from functional/test_env_merge.py
rename to heat_tempest_plugin/tests/functional/test_env_merge.py
index 819770a..68ec035 100644
--- a/functional/test_env_merge.py
+++ b/heat_tempest_plugin/tests/functional/test_env_merge.py
@@ -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 = '''
diff --git a/functional/test_event_sinks.py b/heat_tempest_plugin/tests/functional/test_event_sinks.py
similarity index 96%
rename from functional/test_event_sinks.py
rename to heat_tempest_plugin/tests/functional/test_event_sinks.py
index 61f1bfa..a6e59eb 100644
--- a/functional/test_event_sinks.py
+++ b/heat_tempest_plugin/tests/functional/test_event_sinks.py
@@ -14,8 +14,8 @@
 
 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):
diff --git a/functional/test_external_ref.py b/heat_tempest_plugin/tests/functional/test_external_ref.py
similarity index 97%
rename from functional/test_external_ref.py
rename to heat_tempest_plugin/tests/functional/test_external_ref.py
index 2601ca7..c54e453 100644
--- a/functional/test_external_ref.py
+++ b/heat_tempest_plugin/tests/functional/test_external_ref.py
@@ -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):
diff --git a/functional/test_heat_autoscaling.py b/heat_tempest_plugin/tests/functional/test_heat_autoscaling.py
similarity index 98%
rename from functional/test_heat_autoscaling.py
rename to heat_tempest_plugin/tests/functional/test_heat_autoscaling.py
index 474e1c3..a83c7fe 100644
--- a/functional/test_heat_autoscaling.py
+++ b/heat_tempest_plugin/tests/functional/test_heat_autoscaling.py
@@ -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):
diff --git a/functional/test_hooks.py b/heat_tempest_plugin/tests/functional/test_hooks.py
similarity index 99%
rename from functional/test_hooks.py
rename to heat_tempest_plugin/tests/functional/test_hooks.py
index bafb0ef..78c58f3 100644
--- a/functional/test_hooks.py
+++ b/heat_tempest_plugin/tests/functional/test_hooks.py
@@ -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):
diff --git a/functional/test_immutable_parameters.py b/heat_tempest_plugin/tests/functional/test_immutable_parameters.py
similarity index 98%
rename from functional/test_immutable_parameters.py
rename to heat_tempest_plugin/tests/functional/test_immutable_parameters.py
index d223b14..f031c01 100644
--- a/functional/test_immutable_parameters.py
+++ b/heat_tempest_plugin/tests/functional/test_immutable_parameters.py
@@ -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
 
 
diff --git a/functional/test_instance_group.py b/heat_tempest_plugin/tests/functional/test_instance_group.py
similarity index 99%
rename from functional/test_instance_group.py
rename to heat_tempest_plugin/tests/functional/test_instance_group.py
index 44b3aa9..c0bb7e8 100644
--- a/functional/test_instance_group.py
+++ b/heat_tempest_plugin/tests/functional/test_instance_group.py
@@ -15,7 +15,7 @@
 
 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):
diff --git a/functional/test_lbaasv2.py b/heat_tempest_plugin/tests/functional/test_lbaasv2.py
similarity index 98%
rename from functional/test_lbaasv2.py
rename to heat_tempest_plugin/tests/functional/test_lbaasv2.py
index e7f56ef..e33c5b9 100644
--- a/functional/test_lbaasv2.py
+++ b/heat_tempest_plugin/tests/functional/test_lbaasv2.py
@@ -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):
diff --git a/functional/test_nested_get_attr.py b/heat_tempest_plugin/tests/functional/test_nested_get_attr.py
similarity index 98%
rename from functional/test_nested_get_attr.py
rename to heat_tempest_plugin/tests/functional/test_nested_get_attr.py
index fff89a4..57f65e2 100644
--- a/functional/test_nested_get_attr.py
+++ b/heat_tempest_plugin/tests/functional/test_nested_get_attr.py
@@ -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 = '''
diff --git a/functional/test_notifications.py b/heat_tempest_plugin/tests/functional/test_notifications.py
similarity index 97%
rename from functional/test_notifications.py
rename to heat_tempest_plugin/tests/functional/test_notifications.py
index 69029a7..7a74cdb 100644
--- a/functional/test_notifications.py
+++ b/heat_tempest_plugin/tests/functional/test_notifications.py
@@ -16,8 +16,8 @@
 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',
diff --git a/functional/test_nova_server_networks.py b/heat_tempest_plugin/tests/functional/test_nova_server_networks.py
similarity index 98%
rename from functional/test_nova_server_networks.py
rename to heat_tempest_plugin/tests/functional/test_nova_server_networks.py
index 9b6b5e6..c0baeb4 100644
--- a/functional/test_nova_server_networks.py
+++ b/heat_tempest_plugin/tests/functional/test_nova_server_networks.py
@@ -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 = '''
diff --git a/functional/test_os_wait_condition.py b/heat_tempest_plugin/tests/functional/test_os_wait_condition.py
similarity index 97%
rename from functional/test_os_wait_condition.py
rename to heat_tempest_plugin/tests/functional/test_os_wait_condition.py
index 5c1783a..e19be4f 100644
--- a/functional/test_os_wait_condition.py
+++ b/heat_tempest_plugin/tests/functional/test_os_wait_condition.py
@@ -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):
diff --git a/functional/test_preview.py b/heat_tempest_plugin/tests/functional/test_preview.py
similarity index 98%
rename from functional/test_preview.py
rename to heat_tempest_plugin/tests/functional/test_preview.py
index 54f8a79..b1779dc 100644
--- a/functional/test_preview.py
+++ b/heat_tempest_plugin/tests/functional/test_preview.py
@@ -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
 
diff --git a/functional/test_preview_update.py b/heat_tempest_plugin/tests/functional/test_preview_update.py
similarity index 98%
rename from functional/test_preview_update.py
rename to heat_tempest_plugin/tests/functional/test_preview_update.py
index 971e9c5..a4d293f 100644
--- a/functional/test_preview_update.py
+++ b/heat_tempest_plugin/tests/functional/test_preview_update.py
@@ -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',
diff --git a/functional/test_purge.py b/heat_tempest_plugin/tests/functional/test_purge.py
similarity index 96%
rename from functional/test_purge.py
rename to heat_tempest_plugin/tests/functional/test_purge.py
index fd652a9..1dd4ff8 100644
--- a/functional/test_purge.py
+++ b/heat_tempest_plugin/tests/functional/test_purge.py
@@ -14,7 +14,7 @@
 
 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):
diff --git a/functional/test_reload_on_sighup.py b/heat_tempest_plugin/tests/functional/test_reload_on_sighup.py
similarity index 98%
rename from functional/test_reload_on_sighup.py
rename to heat_tempest_plugin/tests/functional/test_reload_on_sighup.py
index f87669c..81da958 100644
--- a/functional/test_reload_on_sighup.py
+++ b/heat_tempest_plugin/tests/functional/test_reload_on_sighup.py
@@ -19,7 +19,7 @@
 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):
diff --git a/functional/test_remote_stack.py b/heat_tempest_plugin/tests/functional/test_remote_stack.py
similarity index 98%
rename from functional/test_remote_stack.py
rename to heat_tempest_plugin/tests/functional/test_remote_stack.py
index b82958c..4c53933 100644
--- a/functional/test_remote_stack.py
+++ b/heat_tempest_plugin/tests/functional/test_remote_stack.py
@@ -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):
diff --git a/functional/test_replace_deprecated.py b/heat_tempest_plugin/tests/functional/test_replace_deprecated.py
similarity index 97%
rename from functional/test_replace_deprecated.py
rename to heat_tempest_plugin/tests/functional/test_replace_deprecated.py
index 5e7fdc6..0eee3f1 100644
--- a/functional/test_replace_deprecated.py
+++ b/heat_tempest_plugin/tests/functional/test_replace_deprecated.py
@@ -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):
diff --git a/functional/test_resource_chain.py b/heat_tempest_plugin/tests/functional/test_resource_chain.py
similarity index 98%
rename from functional/test_resource_chain.py
rename to heat_tempest_plugin/tests/functional/test_resource_chain.py
index 2898ebe..06ec8ff 100644
--- a/functional/test_resource_chain.py
+++ b/heat_tempest_plugin/tests/functional/test_resource_chain.py
@@ -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 = '''
diff --git a/functional/test_resource_group.py b/heat_tempest_plugin/tests/functional/test_resource_group.py
similarity index 99%
rename from functional/test_resource_group.py
rename to heat_tempest_plugin/tests/functional/test_resource_group.py
index 3f47ca5..aea1bda 100644
--- a/functional/test_resource_group.py
+++ b/heat_tempest_plugin/tests/functional/test_resource_group.py
@@ -17,7 +17,7 @@
 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):
diff --git a/functional/test_resources_list.py b/heat_tempest_plugin/tests/functional/test_resources_list.py
similarity index 95%
rename from functional/test_resources_list.py
rename to heat_tempest_plugin/tests/functional/test_resources_list.py
index f57cf67..0a182ad 100644
--- a/functional/test_resources_list.py
+++ b/heat_tempest_plugin/tests/functional/test_resources_list.py
@@ -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 = {
diff --git a/functional/test_simultaneous_update.py b/heat_tempest_plugin/tests/functional/test_simultaneous_update.py
similarity index 100%
rename from functional/test_simultaneous_update.py
rename to heat_tempest_plugin/tests/functional/test_simultaneous_update.py
diff --git a/functional/test_snapshot_restore.py b/heat_tempest_plugin/tests/functional/test_snapshot_restore.py
similarity index 97%
rename from functional/test_snapshot_restore.py
rename to heat_tempest_plugin/tests/functional/test_snapshot_restore.py
index f63a360..3616c8f 100644
--- a/functional/test_snapshot_restore.py
+++ b/heat_tempest_plugin/tests/functional/test_snapshot_restore.py
@@ -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):
diff --git a/functional/test_software_config.py b/heat_tempest_plugin/tests/functional/test_software_config.py
similarity index 97%
rename from functional/test_software_config.py
rename to heat_tempest_plugin/tests/functional/test_software_config.py
index 8c1cd53..2f31b29 100644
--- a/functional/test_software_config.py
+++ b/heat_tempest_plugin/tests/functional/test_software_config.py
@@ -21,9 +21,9 @@
 
 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):
diff --git a/functional/test_software_deployment_group.py b/heat_tempest_plugin/tests/functional/test_software_deployment_group.py
similarity index 98%
rename from functional/test_software_deployment_group.py
rename to heat_tempest_plugin/tests/functional/test_software_deployment_group.py
index 22143dc..a298419 100644
--- a/functional/test_software_deployment_group.py
+++ b/heat_tempest_plugin/tests/functional/test_software_deployment_group.py
@@ -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):
diff --git a/functional/test_stack_events.py b/heat_tempest_plugin/tests/functional/test_stack_events.py
similarity index 98%
rename from functional/test_stack_events.py
rename to heat_tempest_plugin/tests/functional/test_stack_events.py
index d5a7fad..0db852e 100644
--- a/functional/test_stack_events.py
+++ b/heat_tempest_plugin/tests/functional/test_stack_events.py
@@ -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):
diff --git a/functional/test_stack_outputs.py b/heat_tempest_plugin/tests/functional/test_stack_outputs.py
similarity index 98%
rename from functional/test_stack_outputs.py
rename to heat_tempest_plugin/tests/functional/test_stack_outputs.py
index b7d7cd6..f629a97 100644
--- a/functional/test_stack_outputs.py
+++ b/heat_tempest_plugin/tests/functional/test_stack_outputs.py
@@ -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):
diff --git a/functional/test_stack_tags.py b/heat_tempest_plugin/tests/functional/test_stack_tags.py
similarity index 96%
rename from functional/test_stack_tags.py
rename to heat_tempest_plugin/tests/functional/test_stack_tags.py
index 4a97798..a270950 100644
--- a/functional/test_stack_tags.py
+++ b/heat_tempest_plugin/tests/functional/test_stack_tags.py
@@ -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):
diff --git a/functional/test_swiftsignal_update.py b/heat_tempest_plugin/tests/functional/test_swiftsignal_update.py
similarity index 95%
rename from functional/test_swiftsignal_update.py
rename to heat_tempest_plugin/tests/functional/test_swiftsignal_update.py
index 9e656b1..604e592 100644
--- a/functional/test_swiftsignal_update.py
+++ b/heat_tempest_plugin/tests/functional/test_swiftsignal_update.py
@@ -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
diff --git a/functional/test_template_resource.py b/heat_tempest_plugin/tests/functional/test_template_resource.py
similarity index 99%
rename from functional/test_template_resource.py
rename to heat_tempest_plugin/tests/functional/test_template_resource.py
index c05912c..a7cc808 100644
--- a/functional/test_template_resource.py
+++ b/heat_tempest_plugin/tests/functional/test_template_resource.py
@@ -16,8 +16,8 @@
 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):
diff --git a/functional/test_template_validate.py b/heat_tempest_plugin/tests/functional/test_template_validate.py
similarity index 98%
rename from functional/test_template_validate.py
rename to heat_tempest_plugin/tests/functional/test_template_validate.py
index e62c31b..4694a82 100644
--- a/functional/test_template_validate.py
+++ b/heat_tempest_plugin/tests/functional/test_template_validate.py
@@ -15,7 +15,7 @@
 
 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):
diff --git a/functional/test_templates.py b/heat_tempest_plugin/tests/functional/test_templates.py
similarity index 97%
rename from functional/test_templates.py
rename to heat_tempest_plugin/tests/functional/test_templates.py
index 398af5e..bfcf8bf 100644
--- a/functional/test_templates.py
+++ b/heat_tempest_plugin/tests/functional/test_templates.py
@@ -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):
diff --git a/functional/test_translation.py b/heat_tempest_plugin/tests/functional/test_translation.py
similarity index 97%
rename from functional/test_translation.py
rename to heat_tempest_plugin/tests/functional/test_translation.py
index ff20ab5..484663b 100644
--- a/functional/test_translation.py
+++ b/heat_tempest_plugin/tests/functional/test_translation.py
@@ -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
diff --git a/functional/test_unicode_template.py b/heat_tempest_plugin/tests/functional/test_unicode_template.py
similarity index 98%
rename from functional/test_unicode_template.py
rename to heat_tempest_plugin/tests/functional/test_unicode_template.py
index 32c02a5..d3363aa 100644
--- a/functional/test_unicode_template.py
+++ b/heat_tempest_plugin/tests/functional/test_unicode_template.py
@@ -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):
diff --git a/functional/test_update_restricted.py b/heat_tempest_plugin/tests/functional/test_update_restricted.py
similarity index 98%
rename from functional/test_update_restricted.py
rename to heat_tempest_plugin/tests/functional/test_update_restricted.py
index 7087c0c..83cb280 100644
--- a/functional/test_update_restricted.py
+++ b/heat_tempest_plugin/tests/functional/test_update_restricted.py
@@ -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',
diff --git a/functional/test_validation.py b/heat_tempest_plugin/tests/functional/test_validation.py
similarity index 97%
rename from functional/test_validation.py
rename to heat_tempest_plugin/tests/functional/test_validation.py
index da5cd68..ab1762e 100644
--- a/functional/test_validation.py
+++ b/heat_tempest_plugin/tests/functional/test_validation.py
@@ -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):
diff --git a/functional/test_waitcondition.py b/heat_tempest_plugin/tests/functional/test_waitcondition.py
similarity index 97%
rename from functional/test_waitcondition.py
rename to heat_tempest_plugin/tests/functional/test_waitcondition.py
index f79d49b..84d8ef1 100644
--- a/functional/test_waitcondition.py
+++ b/heat_tempest_plugin/tests/functional/test_waitcondition.py
@@ -15,7 +15,7 @@
 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):
diff --git a/scenario/__init__.py b/heat_tempest_plugin/tests/scenario/__init__.py
similarity index 100%
rename from scenario/__init__.py
rename to heat_tempest_plugin/tests/scenario/__init__.py
diff --git a/scenario/scenario_base.py b/heat_tempest_plugin/tests/scenario/scenario_base.py
similarity index 97%
rename from scenario/scenario_base.py
rename to heat_tempest_plugin/tests/scenario/scenario_base.py
index c48d64d..5cfb5d1 100644
--- a/scenario/scenario_base.py
+++ b/heat_tempest_plugin/tests/scenario/scenario_base.py
@@ -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):
diff --git a/scenario/templates/app_server_lbv2_neutron.yaml b/heat_tempest_plugin/tests/scenario/templates/app_server_lbv2_neutron.yaml
similarity index 100%
rename from scenario/templates/app_server_lbv2_neutron.yaml
rename to heat_tempest_plugin/tests/scenario/templates/app_server_lbv2_neutron.yaml
diff --git a/scenario/templates/app_server_neutron.yaml b/heat_tempest_plugin/tests/scenario/templates/app_server_neutron.yaml
similarity index 100%
rename from scenario/templates/app_server_neutron.yaml
rename to heat_tempest_plugin/tests/scenario/templates/app_server_neutron.yaml
diff --git a/scenario/templates/boot_config_none_env.yaml b/heat_tempest_plugin/tests/scenario/templates/boot_config_none_env.yaml
similarity index 100%
rename from scenario/templates/boot_config_none_env.yaml
rename to heat_tempest_plugin/tests/scenario/templates/boot_config_none_env.yaml
diff --git a/scenario/templates/netcat-webapp.yaml b/heat_tempest_plugin/tests/scenario/templates/netcat-webapp.yaml
similarity index 100%
rename from scenario/templates/netcat-webapp.yaml
rename to heat_tempest_plugin/tests/scenario/templates/netcat-webapp.yaml
diff --git a/scenario/templates/test_aodh_alarm.yaml b/heat_tempest_plugin/tests/scenario/templates/test_aodh_alarm.yaml
similarity index 100%
rename from scenario/templates/test_aodh_alarm.yaml
rename to heat_tempest_plugin/tests/scenario/templates/test_aodh_alarm.yaml
diff --git a/scenario/templates/test_autoscaling_lb_neutron.yaml b/heat_tempest_plugin/tests/scenario/templates/test_autoscaling_lb_neutron.yaml
similarity index 100%
rename from scenario/templates/test_autoscaling_lb_neutron.yaml
rename to heat_tempest_plugin/tests/scenario/templates/test_autoscaling_lb_neutron.yaml
diff --git a/scenario/templates/test_autoscaling_lbv2_neutron.yaml b/heat_tempest_plugin/tests/scenario/templates/test_autoscaling_lbv2_neutron.yaml
similarity index 100%
rename from scenario/templates/test_autoscaling_lbv2_neutron.yaml
rename to heat_tempest_plugin/tests/scenario/templates/test_autoscaling_lbv2_neutron.yaml
diff --git a/scenario/templates/test_base_resources.yaml b/heat_tempest_plugin/tests/scenario/templates/test_base_resources.yaml
similarity index 100%
rename from scenario/templates/test_base_resources.yaml
rename to heat_tempest_plugin/tests/scenario/templates/test_base_resources.yaml
diff --git a/scenario/templates/test_server_cfn_init.yaml b/heat_tempest_plugin/tests/scenario/templates/test_server_cfn_init.yaml
similarity index 100%
rename from scenario/templates/test_server_cfn_init.yaml
rename to heat_tempest_plugin/tests/scenario/templates/test_server_cfn_init.yaml
diff --git a/scenario/templates/test_server_signal.yaml b/heat_tempest_plugin/tests/scenario/templates/test_server_signal.yaml
similarity index 100%
rename from scenario/templates/test_server_signal.yaml
rename to heat_tempest_plugin/tests/scenario/templates/test_server_signal.yaml
diff --git a/scenario/templates/test_server_software_config.yaml b/heat_tempest_plugin/tests/scenario/templates/test_server_software_config.yaml
similarity index 100%
rename from scenario/templates/test_server_software_config.yaml
rename to heat_tempest_plugin/tests/scenario/templates/test_server_software_config.yaml
diff --git a/scenario/templates/test_volumes_create_from_backup.yaml b/heat_tempest_plugin/tests/scenario/templates/test_volumes_create_from_backup.yaml
similarity index 100%
rename from scenario/templates/test_volumes_create_from_backup.yaml
rename to heat_tempest_plugin/tests/scenario/templates/test_volumes_create_from_backup.yaml
diff --git a/scenario/templates/test_volumes_delete_snapshot.yaml b/heat_tempest_plugin/tests/scenario/templates/test_volumes_delete_snapshot.yaml
similarity index 100%
rename from scenario/templates/test_volumes_delete_snapshot.yaml
rename to heat_tempest_plugin/tests/scenario/templates/test_volumes_delete_snapshot.yaml
diff --git a/scenario/test_aodh_alarm.py b/heat_tempest_plugin/tests/scenario/test_aodh_alarm.py
similarity index 95%
rename from scenario/test_aodh_alarm.py
rename to heat_tempest_plugin/tests/scenario/test_aodh_alarm.py
index 90288a2..ec436de 100644
--- a/scenario/test_aodh_alarm.py
+++ b/heat_tempest_plugin/tests/scenario/test_aodh_alarm.py
@@ -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__)
 
diff --git a/scenario/test_autoscaling_lb.py b/heat_tempest_plugin/tests/scenario/test_autoscaling_lb.py
similarity index 97%
rename from scenario/test_autoscaling_lb.py
rename to heat_tempest_plugin/tests/scenario/test_autoscaling_lb.py
index 5e8ad27..e576867 100644
--- a/scenario/test_autoscaling_lb.py
+++ b/heat_tempest_plugin/tests/scenario/test_autoscaling_lb.py
@@ -15,8 +15,8 @@
 
 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):
diff --git a/scenario/test_autoscaling_lbv2.py b/heat_tempest_plugin/tests/scenario/test_autoscaling_lbv2.py
similarity index 97%
rename from scenario/test_autoscaling_lbv2.py
rename to heat_tempest_plugin/tests/scenario/test_autoscaling_lbv2.py
index 4ddc21e..65fa91c 100644
--- a/scenario/test_autoscaling_lbv2.py
+++ b/heat_tempest_plugin/tests/scenario/test_autoscaling_lbv2.py
@@ -15,8 +15,8 @@
 
 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):
diff --git a/scenario/test_base_resources.py b/heat_tempest_plugin/tests/scenario/test_base_resources.py
similarity index 95%
rename from scenario/test_base_resources.py
rename to heat_tempest_plugin/tests/scenario/test_base_resources.py
index 80194a0..e63242e 100644
--- a/scenario/test_base_resources.py
+++ b/heat_tempest_plugin/tests/scenario/test_base_resources.py
@@ -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
 
 
diff --git a/scenario/test_server_cfn_init.py b/heat_tempest_plugin/tests/scenario/test_server_cfn_init.py
similarity index 97%
rename from scenario/test_server_cfn_init.py
rename to heat_tempest_plugin/tests/scenario/test_server_cfn_init.py
index c7d84e3..5ea0fb9 100644
--- a/scenario/test_server_cfn_init.py
+++ b/heat_tempest_plugin/tests/scenario/test_server_cfn_init.py
@@ -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):
diff --git a/scenario/test_server_signal.py b/heat_tempest_plugin/tests/scenario/test_server_signal.py
similarity index 96%
rename from scenario/test_server_signal.py
rename to heat_tempest_plugin/tests/scenario/test_server_signal.py
index b2085e2..e2730dd 100644
--- a/scenario/test_server_signal.py
+++ b/heat_tempest_plugin/tests/scenario/test_server_signal.py
@@ -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):
diff --git a/scenario/test_server_software_config.py b/heat_tempest_plugin/tests/scenario/test_server_software_config.py
similarity index 98%
rename from scenario/test_server_software_config.py
rename to heat_tempest_plugin/tests/scenario/test_server_software_config.py
index f4c7da5..1546684 100644
--- a/scenario/test_server_software_config.py
+++ b/heat_tempest_plugin/tests/scenario/test_server_software_config.py
@@ -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"
diff --git a/scenario/test_volumes.py b/heat_tempest_plugin/tests/scenario/test_volumes.py
similarity index 97%
rename from scenario/test_volumes.py
rename to heat_tempest_plugin/tests/scenario/test_volumes.py
index 47e583d..eea6e97 100644
--- a/scenario/test_volumes.py
+++ b/heat_tempest_plugin/tests/scenario/test_volumes.py
@@ -15,8 +15,8 @@
 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__)
 
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..83d86fd
--- /dev/null
+++ b/requirements.txt
@@ -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
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000..d08460b
--- /dev/null
+++ b/setup.cfg
@@ -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]
+universal = 1
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..566d844
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,29 @@
+# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
+#
+# 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.
+
+# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
+import setuptools
+
+# In python < 2.7.4, a lazy loading of package `pbr` will break
+# setuptools if some other modules registered functions in `atexit`.
+# solution from: http://bugs.python.org/issue15881#msg170215
+try:
+    import multiprocessing  # noqa
+except ImportError:
+    pass
+
+setuptools.setup(
+    setup_requires=['pbr>=2.0.0'],
+    pbr=True)
diff --git a/test-requirements.txt b/test-requirements.txt
new file mode 100644
index 0000000..f3e74e0
--- /dev/null
+++ b/test-requirements.txt
@@ -0,0 +1,8 @@
+# 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.
+
+# Hacking already pins down pep8, pyflakes and flake8
+hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
+openstackdocstheme>=1.17.0 # Apache-2.0
+sphinx>=1.6.2 # BSD
diff --git a/tox.ini b/tox.ini
new file mode 100644
index 0000000..ece89c6
--- /dev/null
+++ b/tox.ini
@@ -0,0 +1,29 @@
+[tox]
+envlist = py27,py35,pep8
+minversion = 0.1
+skipsdist = True
+
+[testenv]
+userdevelop = True
+setenv = VIRTUAL_ENV={envdir}
+deps = -r{toxinidir}/requirements.txt
+       -r{toxinidir}/test-requirements.txt
+commands = bash -c 'if [ ! -d ./.testrepository ] ; then testr init ; fi'
+           testr run {posargs}
+
+[testenv:pep8]
+commands = flake8
+
+[testenv:docs]
+deps = -r{toxinidir}/requirements.txt
+       -r{toxinidir}/test-requirements.txt
+       sphinxcontrib-httpdomain
+commands = python setup.py build_sphinx
+
+[testenv:venv]
+commands = {posargs}
+
+[flake8]
+show-source = True
+builtins = _
+exclude=.venv,.git,.tox,*lib/python*,private,.eggs