Started consolidation of disk config tests

* Began integration of disk config tests based on
  the basic smoke scenarios (create server in this case)

Change-Id: I9427e53de27bd0c315cdcb4668964d4bc582246c
diff --git a/tempest/tests/compute/servers/test_create_server.py b/tempest/tests/compute/servers/test_create_server.py
index 5d6c2ba..fcccc76 100644
--- a/tempest/tests/compute/servers/test_create_server.py
+++ b/tempest/tests/compute/servers/test_create_server.py
@@ -24,6 +24,7 @@
 from tempest.common.utils.data_utils import rand_name
 from tempest.common.utils.linux.remote_client import RemoteClient
 from tempest.tests.compute import base
+from tempest.tests import compute
 
 
 class ServersTest(object):
@@ -46,7 +47,8 @@
                                             meta=cls.meta,
                                             accessIPv4=cls.accessIPv4,
                                             accessIPv6=cls.accessIPv6,
-                                            personality=personality)
+                                            personality=personality,
+                                            disk_config=cls.disk_config)
         cls.resp, cls.server_initial = cli_resp
         cls.password = cls.server_initial['adminPass']
         cls.client.wait_for_server_status(cls.server_initial['id'], 'ACTIVE')
@@ -116,11 +118,49 @@
         self.assertTrue(linux_client.hostname_equals_servername(self.name))
 
 
+@attr(type='positive')
+class ServersTestAutoDisk(base.BaseComputeTestJSON,
+                          ServersTest):
+    @classmethod
+    def setUpClass(cls):
+        if not compute.DISK_CONFIG_ENABLED:
+            msg = "DiskConfig extension not enabled."
+            raise nose.SkipTest(msg)
+        super(ServersTestAutoDisk, cls).setUpClass()
+        cls.disk_config = 'AUTO'
+        ServersTest.setUpClass(cls)
+
+    @classmethod
+    def tearDownClass(cls):
+        ServersTest.tearDownClass(cls)
+        super(ServersTestAutoDisk, cls).tearDownClass()
+
+
+@attr(type='positive')
+class ServersTestManualDisk(base.BaseComputeTestJSON,
+                            ServersTest):
+    @classmethod
+    def setUpClass(cls):
+        if not compute.DISK_CONFIG_ENABLED:
+            msg = "DiskConfig extension not enabled."
+            raise nose.SkipTest(msg)
+        super(ServersTestManualDisk, cls).setUpClass()
+        cls.disk_config = 'MANUAL'
+        ServersTest.setUpClass(cls)
+
+    @classmethod
+    def tearDownClass(cls):
+        ServersTest.tearDownClass(cls)
+        super(ServersTestManualDisk, cls).tearDownClass()
+
+
+@attr(type='smoke')
 class ServersTestJSON(base.BaseComputeTestJSON,
                       ServersTest):
     @classmethod
     def setUpClass(cls):
         super(ServersTestJSON, cls).setUpClass()
+        cls.disk_config = None
         ServersTest.setUpClass(cls)
 
     @classmethod
@@ -129,11 +169,13 @@
         super(ServersTestJSON, cls).tearDownClass()
 
 
+@attr(type='smoke')
 class ServersTestXML(base.BaseComputeTestXML,
                      ServersTest):
     @classmethod
     def setUpClass(cls):
         super(ServersTestXML, cls).setUpClass()
+        cls.disk_config = None
         ServersTest.setUpClass(cls)
 
     @classmethod
diff --git a/tempest/tests/compute/servers/test_disk_config.py b/tempest/tests/compute/servers/test_disk_config.py
index a18fabb..1273fe4 100644
--- a/tempest/tests/compute/servers/test_disk_config.py
+++ b/tempest/tests/compute/servers/test_disk_config.py
@@ -36,44 +36,6 @@
         cls.client = cls.os.servers_client
 
     @attr(type='positive')
-    def test_create_server_with_manual_disk_config(self):
-        """A server should be created with manual disk config"""
-        name = rand_name('server')
-        resp, server = self.client.create_server(name,
-                                                 self.image_ref,
-                                                 self.flavor_ref,
-                                                 disk_config='MANUAL')
-
-        #Wait for the server to become active
-        self.client.wait_for_server_status(server['id'], 'ACTIVE')
-
-        #Verify the specified attributes are set correctly
-        resp, server = self.client.get_server(server['id'])
-        self.assertEqual('MANUAL', server['OS-DCF:diskConfig'])
-
-        #Delete the server
-        resp, body = self.client.delete_server(server['id'])
-
-    @attr(type='positive')
-    def test_create_server_with_auto_disk_config(self):
-        """A server should be created with auto disk config"""
-        name = rand_name('server')
-        resp, server = self.client.create_server(name,
-                                                 self.image_ref,
-                                                 self.flavor_ref,
-                                                 disk_config='AUTO')
-
-        #Wait for the server to become active
-        self.client.wait_for_server_status(server['id'], 'ACTIVE')
-
-        #Verify the specified attributes are set correctly
-        resp, server = self.client.get_server(server['id'])
-        self.assertEqual('AUTO', server['OS-DCF:diskConfig'])
-
-        #Delete the server
-        resp, body = self.client.delete_server(server['id'])
-
-    @attr(type='positive')
     def test_rebuild_server_with_manual_disk_config(self):
         """A server should be rebuilt using the manual disk config option"""
         name = rand_name('server')