Add xml support to keypairs_client and its tests

Change-Id: I991ce5c386ce1c63610d0836b6ea05b60dfb8757
diff --git a/tempest/openstack.py b/tempest/openstack.py
index 2e1ed27..e5f6404 100644
--- a/tempest/openstack.py
+++ b/tempest/openstack.py
@@ -29,15 +29,21 @@
 from tempest.services.nova.json.security_groups_client \
 import SecurityGroupsClient
 from tempest.services.nova.json.floating_ips_client import FloatingIPsClient
-from tempest.services.nova.json.keypairs_client import KeyPairsClient
+from tempest.services.nova.json.keypairs_client import KeyPairsClientJSON
 from tempest.services.nova.json.volumes_client import VolumesClient
 from tempest.services.nova.json.console_output_client \
 import ConsoleOutputsClient
+from tempest.services.nova.xml.keypairs_client import KeyPairsClientXML
 from tempest.services.nova.xml.limits_client import LimitsClientXML
 from tempest.services.nova.xml.servers_client import ServersClientXML
 
 LOG = logging.getLogger(__name__)
 
+KEYPAIRS_CLIENTS = {
+    "json": KeyPairsClientJSON,
+    "xml": KeyPairsClientXML,
+}
+
 SERVERS_CLIENTS = {
     "json": ServersClientJSON,
     "xml": ServersClientXML,
@@ -91,13 +97,13 @@
         try:
             self.servers_client = SERVERS_CLIENTS[interface](*client_args)
             self.limits_client = LIMITS_CLIENTS[interface](*client_args)
+            self.keypairs_client = KEYPAIRS_CLIENTS[interface](*client_args)
         except KeyError:
             msg = "Unsupported interface type `%s'" % interface
             raise exceptions.InvalidConfiguration(msg)
         self.flavors_client = FlavorsClient(*client_args)
         self.images_client = ImagesClient(*client_args)
         self.extensions_client = ExtensionsClient(*client_args)
-        self.keypairs_client = KeyPairsClient(*client_args)
         self.security_groups_client = SecurityGroupsClient(*client_args)
         self.floating_ips_client = FloatingIPsClient(*client_args)
         self.volumes_client = VolumesClient(*client_args)