Addition of XML support to test_console_output.py

Added logic to test_console_output.py file so as to support XML calls.
Hence added exclusive client file for XML. Also modified JSON client
file and openstack.py according to new addition of XML support.

Change-Id: Ib1fab3e3dc97d3b61ceb60e0d846c4b36f472932
Implements: blueprint add-xml-support
diff --git a/tempest/tests/compute/servers/test_console_output.py b/tempest/tests/compute/servers/test_console_output.py
index e88aac9..ce1047f 100644
--- a/tempest/tests/compute/servers/test_console_output.py
+++ b/tempest/tests/compute/servers/test_console_output.py
@@ -20,14 +20,13 @@
 
 from tempest.common.utils.data_utils import rand_name
 from tempest import exceptions
-from tempest.tests.compute.base import BaseComputeTest
+from tempest.tests.compute import base
 
 
-class ConsoleOutputTest(BaseComputeTest):
+class ConsoleOutputTest(object):
 
     @classmethod
-    def setUpClass(cls):
-        super(ConsoleOutputTest, cls).setUpClass()
+    def setUpClass(self, cls):
         cls.client = cls.console_outputs_client
         cls.servers_client = cls.servers_client
         cls.name = rand_name('server')
@@ -39,9 +38,8 @@
         cls.servers_client.wait_for_server_status(cls.server_id, 'ACTIVE')
 
     @classmethod
-    def tearDownClass(cls):
+    def tearDownClass(self, cls):
         cls.servers_client.delete_server(cls.server_id)
-        super(ConsoleOutputTest, cls).tearDownClass()
 
     @attr(type='positive')
     def test_get_console_output(self):
@@ -92,3 +90,31 @@
         finally:
             self.servers_client.wait_for_server_status(self.server_id,
                                                        'ACTIVE')
+
+
+@attr(type='smoke')
+class ConsoleOutputTestJSON(base.BaseComputeTestJSON,
+                            ConsoleOutputTest):
+    @classmethod
+    def setUpClass(cls):
+        super(ConsoleOutputTestJSON, cls).setUpClass()
+        ConsoleOutputTest.setUpClass(cls)
+
+    @classmethod
+    def tearDownClass(cls):
+        ConsoleOutputTest.tearDownClass(cls)
+        super(ConsoleOutputTestJSON, cls).tearDownClass()
+
+
+@attr(type='smoke')
+class ConsoleOutputTestXML(base.BaseComputeTestXML,
+                           ConsoleOutputTest):
+    @classmethod
+    def setUpClass(cls):
+        super(ConsoleOutputTestXML, cls).setUpClass()
+        ConsoleOutputTest.setUpClass(cls)
+
+    @classmethod
+    def tearDownClass(cls):
+        ConsoleOutputTest.tearDownClass(cls)
+        super(ConsoleOutputTestXML, cls).tearDownClass()