diff --git a/tempest/tests/compute/base.py b/tempest/tests/compute/base.py
index 414ced2..ba4f518 100644
--- a/tempest/tests/compute/base.py
+++ b/tempest/tests/compute/base.py
@@ -21,15 +21,17 @@
 import unittest2 as unittest
 
 from tempest import config
-from tempest import exceptions
 from tempest import openstack
 from tempest.common.utils.data_utils import rand_name
 from tempest.services.identity.json.admin_client import AdminClient
 
+__all__ = ['BaseComputeTest', 'BaseComputeTestJSON', 'BaseComputeTestXML',
+           'BaseComputeAdminTestJSON', 'BaseComputeAdminTestXML']
+
 LOG = logging.getLogger(__name__)
 
 
-class _BaseComputeTest(unittest.TestCase):
+class BaseComputeTest(unittest.TestCase):
 
     """Base test case class for all Compute API tests"""
 
@@ -175,7 +177,7 @@
             time.sleep(self.build_interval)
 
 
-class BaseComputeTestJSON(_BaseComputeTest):
+class BaseComputeTestJSON(BaseComputeTest):
     @classmethod
     def setUpClass(cls):
         cls._interface = "json"
@@ -185,7 +187,7 @@
 BaseComputeTest = BaseComputeTestJSON
 
 
-class BaseComputeTestXML(_BaseComputeTest):
+class BaseComputeTestXML(BaseComputeTest):
     @classmethod
     def setUpClass(cls):
         cls._interface = "xml"
@@ -208,4 +210,18 @@
                    "in configuration.")
             raise nose.SkipTest(msg)
 
-        cls.os = openstack.AdminManager()
+        cls.os = openstack.AdminManager(interface=cls._interface)
+
+
+class BaseComputeAdminTestJSON(BaseComputeAdminTest):
+    @classmethod
+    def setUpClass(cls):
+        cls._interface = "json"
+        super(BaseComputeAdminTestJSON, cls).setUpClass()
+
+
+class BaseComputeAdminTestXML(BaseComputeAdminTest):
+    @classmethod
+    def setUpClass(cls):
+        cls._interface = "xml"
+        super(BaseComputeAdminTestXML, cls).setUpClass()
