diff --git a/heat_tempest_plugin/tests/functional/test_event_sinks.py b/heat_tempest_plugin/tests/functional/test_event_sinks.py
index dade28c..7cb1d7b 100644
--- a/heat_tempest_plugin/tests/functional/test_event_sinks.py
+++ b/heat_tempest_plugin/tests/functional/test_event_sinks.py
@@ -17,7 +17,6 @@
 
 from heat_tempest_plugin.common import test
 from heat_tempest_plugin.tests.functional import functional_base
-from tempest.common import utils
 
 
 class ZaqarEventSinkTest(functional_base.FunctionalTestsBase):
@@ -31,7 +30,6 @@
 '''
 
     @decorators.idempotent_id('d0b72695-e97d-4aa1-bfaf-31c14b09ac87')
-    @utils.services('zaqar')
     def test_events(self):
         queue_id = str(uuid.uuid4())
         environment = {'event_sinks': [{'type': 'zaqar-queue',
diff --git a/heat_tempest_plugin/tests/functional/test_software_config.py b/heat_tempest_plugin/tests/functional/test_software_config.py
index f82e5b3..f034096 100644
--- a/heat_tempest_plugin/tests/functional/test_software_config.py
+++ b/heat_tempest_plugin/tests/functional/test_software_config.py
@@ -25,7 +25,6 @@
 from heat_tempest_plugin.common import exceptions
 from heat_tempest_plugin.common import test
 from heat_tempest_plugin.tests.functional import functional_base
-from tempest.common import utils
 
 
 class ParallelDeploymentsTest(functional_base.FunctionalTestsBase):
@@ -231,7 +230,6 @@
     '''
 
     @decorators.idempotent_id('3af97ced-bead-4629-b78a-97762719e990')
-    @utils.services('zaqar')
     def test_signal_queues(self):
         parms = {'flavor': self.conf.minimal_instance_type,
                  'network': self.conf.fixed_network_name,
diff --git a/heat_tempest_plugin/tests/functional/test_waitcondition.py b/heat_tempest_plugin/tests/functional/test_waitcondition.py
index 65a971f..b50c0a2 100644
--- a/heat_tempest_plugin/tests/functional/test_waitcondition.py
+++ b/heat_tempest_plugin/tests/functional/test_waitcondition.py
@@ -17,7 +17,6 @@
 from zaqarclient.queues.v2 import client as zaqarclient
 
 from heat_tempest_plugin.tests.functional import functional_base
-from tempest.common import utils
 
 
 class ZaqarWaitConditionTest(functional_base.FunctionalTestsBase):
@@ -41,7 +40,6 @@
 '''
 
     @decorators.idempotent_id('90183f0d-9929-43a6-8fb6-b81003824c6d')
-    @utils.services('zaqar')
     def test_signal_queues(self):
         stack_identifier = self.stack_create(
             template=self.template,
diff --git a/requirements.txt b/requirements.txt
index df44099..34fa1fd 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -17,6 +17,6 @@
 python-zaqarclient>=1.0.0 # Apache-2.0
 testtools>=2.2.0 # MIT
 testscenarios>=0.4 # Apache-2.0/BSD
-git+https://gerrit.mcp.mirantis.net/packaging/sources/tempest@mcp/pike#egg=tempest # Tempest version from branch mcp/pike
+tempest>=17.1.0 # Apache-2.0
 gabbi>=1.35.0 # Apache-2.0
 kombu!=4.0.2,>=4.0.0 # BSD
