diff --git a/.zuul.yaml b/.zuul.yaml
index 88da946..dc2a3af 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -1,33 +1,42 @@
 - 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
+    nodeset: openstack-single-node-bionic
+    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
+    nodeset: openstack-single-node-bionic
+    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
+    nodeset: openstack-single-node-bionic
+    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
+    nodeset: openstack-single-node-bionic
+    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
+    nodeset: openstack-single-node-bionic
+    override-checkout: stable/ussuri
 
 - project:
     templates:
@@ -35,19 +44,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..d256437 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_stack_tags.py b/heat_tempest_plugin/tests/functional/test_stack_tags.py
index 55c262d..350d2c0 100644
--- a/heat_tempest_plugin/tests/functional/test_stack_tags.py
+++ b/heat_tempest_plugin/tests/functional/test_stack_tags.py
@@ -67,7 +67,7 @@
 
         # Ensure property tag is not populated
         empty_tags_stack = self.client.stacks.get(stack_identifier)
-        self.assertIsNone(empty_tags_stack.tags)
+        self.assertFalse(empty_tags_stack.tags)
 
     @decorators.idempotent_id('5ed79584-0684-4f9c-ae8e-44a8f874ec79')
     def test_hidden_stack(self):
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/test-requirements.txt b/test-requirements.txt
index c699d8c..3cd55cb 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4,4 +4,7 @@
 
 # Hacking already pins down pep8, pyflakes and flake8
 hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
-
+# remove this pyflakes from here once you bump the
+# hacking to 3.2.0 or above. hacking 3.2.0 takes
+# care of pyflakes version compatibilty.
+pyflakes>=2.1.1
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]
