Simplify volume test classes inheritance

* Enough to specify the interface in the leaf test classes
* Non-admin user are allowed to attempt admin operations in negative tests

Change-Id: Ibbb0ac1de20601272028e364348b9ae89bd0f808
diff --git a/tempest/tests/volume/base.py b/tempest/tests/volume/base.py
index 6625180..480f125 100644
--- a/tempest/tests/volume/base.py
+++ b/tempest/tests/volume/base.py
@@ -193,15 +193,18 @@
             time.sleep(self.build_interval)
 
 
-class BaseVolumeTestJSON(BaseVolumeTest):
+class BaseVolumeAdminTest(BaseVolumeTest):
+    """Base test case class for all Volume Admin API tests."""
     @classmethod
     def setUpClass(cls):
-        cls._interface = "json"
-        super(BaseVolumeTestJSON, cls).setUpClass()
+        super(BaseVolumeAdminTest, cls).setUpClass()
+        cls.adm_user = cls.config.identity.admin_username
+        cls.adm_pass = cls.config.identity.admin_password
+        cls.adm_tenant = cls.config.identity.admin_tenant_name
+        if not all((cls.adm_user, cls.adm_pass, cls.adm_tenant)):
+            msg = ("Missing Volume Admin API credentials "
+                   "in configuration.")
+            raise cls.skipException(msg)
 
-
-class BaseVolumeTestXML(BaseVolumeTest):
-    @classmethod
-    def setUpClass(cls):
-        cls._interface = "xml"
-        super(BaseVolumeTestXML, cls).setUpClass()
+        cls.os_adm = clients.AdminManager(interface=cls._interface)
+        cls.client = cls.os_adm.volume_types_client