diff --git a/.zuul.yaml b/.zuul.yaml
index c9aea1b..f7d9698 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -29,5 +29,4 @@
       jobs:
         - heat-functional-orig-mysql-lbaasv2
         - heat-functional-convg-mysql-lbaasv2
-        - heat-functional-convg-mysql-lbaasv2-non-apache
         - heat-functional-convg-mysql-lbaasv2-py35
diff --git a/heat_tempest_plugin/tests/api/fixtures.py b/heat_tempest_plugin/tests/api/fixtures.py
new file mode 100644
index 0000000..6c770c8
--- /dev/null
+++ b/heat_tempest_plugin/tests/api/fixtures.py
@@ -0,0 +1,28 @@
+#
+# 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 gabbi import fixture
+from heat_tempest_plugin.services import clients
+from tempest import config
+
+
+class AuthenticationFixture(fixture.GabbiFixture):
+    def start_fixture(self):
+        conf = config.CONF.heat_plugin
+        manager = clients.ClientManager(conf)
+        os.environ['OS_TOKEN'] = manager.identity_client.auth_token
+
+    def stop_fixture(self):
+        pass
diff --git a/heat_tempest_plugin/tests/api/gabbits/environments.yaml b/heat_tempest_plugin/tests/api/gabbits/environments.yaml
index fe1dc04..03849df 100644
--- a/heat_tempest_plugin/tests/api/gabbits/environments.yaml
+++ b/heat_tempest_plugin/tests/api/gabbits/environments.yaml
@@ -1,3 +1,6 @@
+fixtures:
+    - AuthenticationFixture
+
 defaults:
   request_headers:
     X-Auth-Token: $ENVIRON['OS_TOKEN']
diff --git a/heat_tempest_plugin/tests/api/gabbits/resources.yaml b/heat_tempest_plugin/tests/api/gabbits/resources.yaml
index c20333b..c99b6a9 100644
--- a/heat_tempest_plugin/tests/api/gabbits/resources.yaml
+++ b/heat_tempest_plugin/tests/api/gabbits/resources.yaml
@@ -1,3 +1,6 @@
+fixtures:
+    - AuthenticationFixture
+
 defaults:
   request_headers:
     X-Auth-Token: $ENVIRON['OS_TOKEN']
diff --git a/heat_tempest_plugin/tests/api/gabbits/resourcetypes.yaml b/heat_tempest_plugin/tests/api/gabbits/resourcetypes.yaml
index 809feab..954963e 100644
--- a/heat_tempest_plugin/tests/api/gabbits/resourcetypes.yaml
+++ b/heat_tempest_plugin/tests/api/gabbits/resourcetypes.yaml
@@ -1,3 +1,6 @@
+fixtures:
+    - AuthenticationFixture
+
 defaults:
   request_headers:
     X-Auth-Token: $ENVIRON['OS_TOKEN']
diff --git a/heat_tempest_plugin/tests/api/gabbits/softwareconfig.yaml b/heat_tempest_plugin/tests/api/gabbits/softwareconfig.yaml
new file mode 100644
index 0000000..0d0453d
--- /dev/null
+++ b/heat_tempest_plugin/tests/api/gabbits/softwareconfig.yaml
@@ -0,0 +1,86 @@
+fixtures:
+    - AuthenticationFixture
+
+defaults:
+  request_headers:
+    X-Auth-Token: $ENVIRON['OS_TOKEN']
+
+tests:
+- name: create software config
+  desc: d26d11c0-4924-11e8-842f-0ed5f89f718b
+  POST: /software_configs
+  request_headers:
+    content-type: application/json
+  data:
+    group: script
+    config: '#!/bin/sh -x\necho hello'
+  status: 200
+
+- name: show config
+  desc: d26d149a-4924-11e8-842f-0ed5f89f718b
+  GET: $LAST_URL/$RESPONSE['software_config.id']
+  status: 200
+  response_json_paths:
+    $.software_config.group: script
+
+- name: create software deployment
+  desc: d26d15ee-4924-11e8-842f-0ed5f89f718b
+  POST: /software_deployments
+  request_headers:
+    content-type: application/json
+  data:
+    action: ACTION0
+    config_id: $RESPONSE['software_config.id']
+    server_id: dummy_server
+  status: 200
+
+- name: show deployment
+  desc: d26d1968-4924-11e8-842f-0ed5f89f718b
+  GET: $LAST_URL/$RESPONSE['software_deployment.id']
+  status: 200
+  response_json_paths:
+    $.software_deployment.action: ACTION0
+
+- name: show deployment metadata
+  desc: d26d1ae4-4924-11e8-842f-0ed5f89f718b
+  GET: /software_deployments/metadata/$RESPONSE['software_deployment.server_id']
+  status: 200
+  response_json_paths:
+    $.metadata[0].group: script
+
+- name: update deployment
+  desc: d26d1c1a-4924-11e8-842f-0ed5f89f718b
+  PUT: $HISTORY['show deployment'].$URL
+  request_headers:
+    content-type: application/json
+  data:
+    action: ACTION1
+    status: COMPLETE
+    status_reason: completed
+  status: 200
+  response_json_paths:
+    $.software_deployment.action: ACTION1
+
+- name: list software configs
+  desc: d26d1d46-4924-11e8-842f-0ed5f89f718b
+  GET: /software_configs
+  status: 200
+  response_json_paths:
+    $.software_configs[?id = "$RESPONSE['software_deployment.config_id']"].group: script
+
+- name: list software deployments
+  desc: d26d1e90-4924-11e8-842f-0ed5f89f718b
+  GET: /software_deployments
+  status: 200
+  response_json_paths:
+    $.software_deployments[?id= "$HISTORY['update deployment'].$RESPONSE['software_deployment.id']"].server_id: dummy_server
+
+- name: delete deployment
+  desc: d26d1fda-4924-11e8-842f-0ed5f89f718b
+  DELETE: $HISTORY['show deployment'].$URL
+  status: 204
+
+- name: delete config
+  desc: d26d22be-4924-11e8-842f-0ed5f89f718b
+  DELETE: $HISTORY['show config'].$URL
+  status: 204
diff --git a/heat_tempest_plugin/tests/api/gabbits/stacks.yaml b/heat_tempest_plugin/tests/api/gabbits/stacks.yaml
index 9d9328e..4947416 100644
--- a/heat_tempest_plugin/tests/api/gabbits/stacks.yaml
+++ b/heat_tempest_plugin/tests/api/gabbits/stacks.yaml
@@ -1,3 +1,6 @@
+fixtures:
+    - AuthenticationFixture
+
 defaults:
   request_headers:
     X-Auth-Token: $ENVIRON['OS_TOKEN']
diff --git a/heat_tempest_plugin/tests/api/gabbits/templates.yaml b/heat_tempest_plugin/tests/api/gabbits/templates.yaml
index ab0bbab..4319753 100644
--- a/heat_tempest_plugin/tests/api/gabbits/templates.yaml
+++ b/heat_tempest_plugin/tests/api/gabbits/templates.yaml
@@ -1,3 +1,6 @@
+fixtures:
+    - AuthenticationFixture
+
 defaults:
   request_headers:
     X-Auth-Token: $ENVIRON['OS_TOKEN']
diff --git a/heat_tempest_plugin/tests/api/test_heat_api.py b/heat_tempest_plugin/tests/api/test_heat_api.py
index 804f445..7ba3a62 100644
--- a/heat_tempest_plugin/tests/api/test_heat_api.py
+++ b/heat_tempest_plugin/tests/api/test_heat_api.py
@@ -24,6 +24,7 @@
 
 from heat_tempest_plugin.common import test
 from heat_tempest_plugin.services import clients
+from heat_tempest_plugin.tests.api import fixtures
 
 LOG = logging.getLogger(__name__)
 TESTS_DIR = 'gabbits'
@@ -41,7 +42,6 @@
             endpoint = manager.identity_client.get_endpoint_url(
                 'orchestration', region=conf.region,
                 endpoint_type=conf.endpoint_type)
-            os.environ['OS_TOKEN'] = manager.identity_client.auth_token
             os.environ['PREFIX'] = test.rand_name('api')
 
         # Catch the authentication exceptions that can happen if one of the
@@ -93,7 +93,7 @@
                 register_test_case_id(test_case)
 
     api_tests = driver.build_tests(test_dir, loader, url=endpoint, host="",
+                                   fixture_module=fixtures,
                                    test_loader_name=__name__)
-
     register_test_suite_ids(api_tests)
     return api_tests
