diff --git a/.zuul.yaml b/.zuul.yaml
index 88da946..287fdff 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -1,33 +1,37 @@
 - job:
-    name: heat-functional-convg-queens
-    parent: heat-functional-convg-mysql-lbaasv2
-    override-checkout: stable/queens
+    name: heat-functional-convg-stein
+    parent: heat-functional-convg-mysql-lbaasv2-py3
+    override-checkout: stable/stein
+    vars:
+      branch_override: stable/stein
 
 - job:
-    name: heat-functional-orig-queens
+    name: heat-functional-orig-stein
     parent: heat-functional-orig-mysql-lbaasv2
-    override-checkout: stable/queens
+    override-checkout: stable/stein
+    vars:
+      branch_override: stable/stein
+      use_python3: 1
 
 - job:
-    name: heat-functional-convg-queens-py35
-    parent: heat-functional-convg-mysql-lbaasv2-py35
-    override-checkout: stable/queens
+    name: heat-functional-convg-train
+    parent: heat-functional-convg-mysql-lbaasv2-py3
+    override-checkout: stable/train
+    vars:
+      branch_override: stable/train
 
 - job:
-    name: heat-functional-convg-rocky
-    parent: heat-functional-convg-mysql-lbaasv2
-    override-checkout: stable/rocky
-
-- job:
-    name: heat-functional-orig-rocky
+    name: heat-functional-orig-train
     parent: heat-functional-orig-mysql-lbaasv2
-    override-checkout: stable/rocky
+    override-checkout: stable/train
+    vars:
+      branch_override: stable/train
+      use_python3: 1
 
 - job:
-    name: heat-functional-convg-rocky-py35
-    parent: heat-functional-convg-mysql-lbaasv2-py35
-    override-checkout: stable/rocky
-
+    name: heat-functional-ussuri
+    parent: heat-functional
+    override-checkout: stable/ussuri
 
 - project:
     templates:
@@ -35,19 +39,16 @@
       - tempest-plugin-jobs
     check:
       jobs:
-        - heat-functional-orig-mysql-lbaasv2
-        - heat-functional-convg-mysql-lbaasv2
-        - heat-functional-convg-mysql-lbaasv2-non-apache
-        - heat-functional-convg-mysql-lbaasv2-py35
-        - heat-functional-convg-queens
-        - heat-functional-convg-queens-py35
-        - heat-functional-orig-queens
-        - heat-functional-convg-rocky
-        - heat-functional-convg-rocky-py35
-        - heat-functional-orig-rocky
+        - heat-functional
+        - heat-functional-non-apache
+        - heat-functional-legacy
+        - heat-functional-convg-stein
+        - heat-functional-orig-stein
+        - heat-functional-convg-train
+        - heat-functional-orig-train
+        - heat-functional-ussuri
     gate:
       queue: heat
       jobs:
-        - heat-functional-orig-mysql-lbaasv2
-        - heat-functional-convg-mysql-lbaasv2
-        - heat-functional-convg-mysql-lbaasv2-py35
+        - heat-functional
+        - heat-functional-legacy
diff --git a/heat_tempest_plugin/tests/api/gabbits/environments.yaml b/heat_tempest_plugin/tests/api/gabbits/environments.yaml
index 03849df..3d98a68 100644
--- a/heat_tempest_plugin/tests/api/gabbits/environments.yaml
+++ b/heat_tempest_plugin/tests/api/gabbits/environments.yaml
@@ -43,7 +43,7 @@
   redirects: True
   poll:
     count: 10
-    delay: 1.0
+    delay: 2.0
   response_json_paths:
     $.stack.stack_status: CREATE_COMPLETE
 
diff --git a/heat_tempest_plugin/tests/api/gabbits/resources.yaml b/heat_tempest_plugin/tests/api/gabbits/resources.yaml
index c99b6a9..f21fa67 100644
--- a/heat_tempest_plugin/tests/api/gabbits/resources.yaml
+++ b/heat_tempest_plugin/tests/api/gabbits/resources.yaml
@@ -38,7 +38,7 @@
   redirects: True
   poll:
     count: 10
-    delay: 1.0
+    delay: 2.0
   response_json_paths:
     $.stack.stack_status: CREATE_COMPLETE
 
diff --git a/heat_tempest_plugin/tests/api/gabbits/stacks.yaml b/heat_tempest_plugin/tests/api/gabbits/stacks.yaml
index ba15f7e..e2ce6a6 100644
--- a/heat_tempest_plugin/tests/api/gabbits/stacks.yaml
+++ b/heat_tempest_plugin/tests/api/gabbits/stacks.yaml
@@ -38,7 +38,7 @@
   redirects: True
   poll:
     count: 10
-    delay: 1.0
+    delay: 2.0
   response_json_paths:
     $.stack.stack_status: CREATE_COMPLETE
 
@@ -88,7 +88,7 @@
   redirects: True
   poll:
     count: 10
-    delay: 1.0
+    delay: 2.0
   response_json_paths:
     $.stack.stack_status: CREATE_COMPLETE
 
@@ -132,7 +132,7 @@
   redirects: True
   poll:
     count: 10
-    delay: 1.0
+    delay: 2.0
   response_json_paths:
     $.stack.stack_status: UPDATE_COMPLETE
 
@@ -152,7 +152,7 @@
   redirects: True
   poll:
     count: 10
-    delay: 1.0
+    delay: 2.0
   response_json_paths:
     $.stack.stack_status: UPDATE_COMPLETE
 
diff --git a/heat_tempest_plugin/tests/api/test_heat_api.py b/heat_tempest_plugin/tests/api/test_heat_api.py
index 7ba3a62..38df5b8 100644
--- a/heat_tempest_plugin/tests/api/test_heat_api.py
+++ b/heat_tempest_plugin/tests/api/test_heat_api.py
@@ -13,13 +13,14 @@
 
 """A test module to exercise the Heat API with gabbi.  """
 
-import keystoneauth1
 import os
 import sys
 import unittest
 
 from gabbi import driver
+import keystoneauth1
 from oslo_log import log as logging
+import six
 from tempest import config
 
 from heat_tempest_plugin.common import test
@@ -92,8 +93,21 @@
             else:
                 register_test_case_id(test_case)
 
-    api_tests = driver.build_tests(test_dir, loader, url=endpoint, host="",
-                                   fixture_module=fixtures,
-                                   test_loader_name=__name__)
+    cert_validate = not conf.disable_ssl_certificate_validation,
+    try:
+        api_tests = driver.build_tests(test_dir, loader, url=endpoint, host="",
+                                       fixture_module=fixtures,
+                                       cert_validate=cert_validate,
+                                       test_loader_name=__name__)
+    except TypeError as ex:
+        err_msg = "got an unexpected keyword argument 'cert_validate'"
+        if err_msg in six.text_type(ex):
+            api_tests = driver.build_tests(test_dir, loader,
+                                           url=endpoint, host="",
+                                           fixture_module=fixtures,
+                                           test_loader_name=__name__)
+        else:
+            raise
+
     register_test_suite_ids(api_tests)
     return api_tests
diff --git a/heat_tempest_plugin/tests/functional/test_event_sinks.py b/heat_tempest_plugin/tests/functional/test_event_sinks.py
index dd1accc..7835462 100644
--- a/heat_tempest_plugin/tests/functional/test_event_sinks.py
+++ b/heat_tempest_plugin/tests/functional/test_event_sinks.py
@@ -51,7 +51,9 @@
                     'os_user_domain_id': self.conf.user_domain_id,
                     'os_project_domain_id': self.conf.project_domain_id,
                     'os_user_domain_name': self.conf.user_domain_name,
-                    'os_project_domain_name': self.conf.project_domain_name
+                    'os_project_domain_name': self.conf.project_domain_name,
+                    'insecure': self.conf.disable_ssl_certificate_validation,
+                    'cacert': self.conf.ca_file
                 }
             }
         }
diff --git a/heat_tempest_plugin/tests/functional/test_waitcondition.py b/heat_tempest_plugin/tests/functional/test_waitcondition.py
index 3bffd76..78a998f 100644
--- a/heat_tempest_plugin/tests/functional/test_waitcondition.py
+++ b/heat_tempest_plugin/tests/functional/test_waitcondition.py
@@ -54,7 +54,9 @@
             auth_url=signal['auth_url'],
             user_id=signal['user_id'],
             password=signal['password'],
-            project_id=signal['project_id'])
+            project_id=signal['project_id'],
+            insecure=self.conf.disable_ssl_certificate_validation,
+            cacert=self.conf.ca_file)
         endpoint = ks.service_catalog.url_for(
             service_type='messaging', endpoint_type=self.conf.endpoint_type)
         conf = {
diff --git a/heat_tempest_plugin/tests/scenario/scenario_base.py b/heat_tempest_plugin/tests/scenario/scenario_base.py
index db38c4e..9cad2fa 100644
--- a/heat_tempest_plugin/tests/scenario/scenario_base.py
+++ b/heat_tempest_plugin/tests/scenario/scenario_base.py
@@ -51,11 +51,6 @@
         template = self._load_template(__file__, template_name, self.sub_dir,
                                        files)
 
-        parameters = parameters or {}
-
-        if kwargs.get('add_parameters'):
-            parameters.update(kwargs['add_parameters'])
-
         stack_id = self.stack_create(
             stack_name=kwargs.get('stack_name'),
             template=template,
diff --git a/heat_tempest_plugin/tests/scenario/test_volumes.py b/heat_tempest_plugin/tests/scenario/test_volumes.py
index 732213c..3a179a9 100644
--- a/heat_tempest_plugin/tests/scenario/test_volumes.py
+++ b/heat_tempest_plugin/tests/scenario/test_volumes.py
@@ -12,6 +12,7 @@
 
 
 from cinderclient import exceptions as cinder_exceptions
+import copy
 from oslo_log import log as logging
 import six
 from tempest.lib import decorators
@@ -38,8 +39,7 @@
         self.assertIsNotNone(volume)
         self.assertEqual(expected_status, volume.status)
         self.assertEqual(self.volume_size, volume.size)
-        self.assertEqual(self.volume_description,
-                         volume.display_description)
+        self.assertEqual(self.volume_description, volume.description)
 
     def _outputs_verify(self, stack, expected_status='available'):
         self.assertEqual(expected_status,
@@ -49,7 +49,7 @@
         self.assertEqual(self.volume_description,
                          self._stack_output(stack, 'display_description'))
 
-    def check_stack(self, stack_id, parameters):
+    def check_stack(self, stack_id, default_parameters):
         stack = self.client.stacks.get(stack_id)
 
         # Verify with cinder that the volume exists, with matching details
@@ -73,13 +73,14 @@
         backup = backups_filtered[0]
         self.addCleanup(self.volume_client.backups.delete, backup.id)
 
+        parameters = copy.deepcopy(default_parameters)
+        parameters.update({'backup_id': backup.id})
         # Now, we create another stack where the volume is created from the
         # backup created by the previous stack
         try:
             stack_identifier2 = self.launch_stack(
                 template_name='test_volumes_create_from_backup.yaml',
-                parameters=parameters,
-                add_parameters={'backup_id': backup.id})
+                parameters=parameters)
             stack2 = self.client.stacks.get(stack_identifier2)
         except exceptions.StackBuildErrorException:
             LOG.exception("Halting test due to bug: #1382300")
@@ -113,7 +114,7 @@
            4. Create a new stack, where the volume is created from the backup
            5. Verify the test data written in (1) is present in the new volume
         """
-        parameters = {
+        default_parameters = {
             'key_name': self.keypair_name,
             'instance_type': self.conf.minimal_instance_type,
             'image_id': self.conf.minimal_image_ref,
@@ -122,13 +123,15 @@
             'network': self.net['id']
         }
         if self.conf.vm_to_heat_api_insecure:
-            parameters['wc_extra_args'] = '--insecure'
+            default_parameters['wc_extra_args'] = '--insecure'
+
+        parameters = copy.deepcopy(default_parameters)
+        parameters.update({'volume_size': self.volume_size})
         # Launch stack
         stack_id = self.launch_stack(
             template_name='test_volumes_delete_snapshot.yaml',
-            parameters=parameters,
-            add_parameters={'volume_size': self.volume_size}
+            parameters=parameters
         )
 
         # Check stack
-        self.check_stack(stack_id, parameters)
+        self.check_stack(stack_id, default_parameters)
diff --git a/setup.cfg b/setup.cfg
index 3bdd080..8776610 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -13,10 +13,10 @@
     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
+    Programming Language :: Python :: 3.6
+    Programming Language :: Python :: 3.7
 
 keywords =
     setup
diff --git a/tox.ini b/tox.ini
index 45e17be..cf89710 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,9 +1,11 @@
 [tox]
-envlist = py27,py35,pep8
-minversion = 0.1
+envlist = py37,pep8
+minversion = 3.1.1
 skipsdist = True
+ignore_basepython_conflict = True
 
 [testenv]
+basepython = python3
 userdevelop = True
 setenv = VIRTUAL_ENV={envdir}
 deps = -r{toxinidir}/requirements.txt
@@ -12,7 +14,6 @@
            testr run {posargs}
 
 [testenv:pep8]
-basepython = python3
 setenv =
     PYTHONPATH = .
 commands =
@@ -26,7 +27,6 @@
     check-uuid --fix --package heat_tempest_plugin
 
 [testenv:venv]
-basepython = python3
 commands = {posargs}
 
 [flake8]
