Add raw_request() to RestClient

TokenClientJSON and V3TokenClientJSON call self.http_obj.request()
directly for skipping an authentication request. However, the method
is internal in RestClient and we need to avoid the call for moving
RestClient to tempest-lib.
This patch adds raw_request() to RestClient for avoiding it.

Change-Id: I240b12139fd91747cf4ed96e0294a0bf082bcf93
diff --git a/tempest/common/rest_client.py b/tempest/common/rest_client.py
index 59a8b80..8fac6c3 100644
--- a/tempest/common/rest_client.py
+++ b/tempest/common/rest_client.py
@@ -373,7 +373,7 @@
         # Do the actual request, and time it
         start = time.time()
         self._log_request_start(method, req_url)
-        resp, resp_body = self.http_obj.request(
+        resp, resp_body = self.raw_request(
             req_url, method, headers=req_headers, body=req_body)
         end = time.time()
         self._log_request(method, req_url, resp, secs=(end - start),
@@ -385,6 +385,10 @@
 
         return resp, resp_body
 
+    def raw_request(self, url, method, headers=None, body=None):
+        return self.http_obj.request(url, method,
+                                     headers=headers, body=body)
+
     def request(self, method, url, extra_headers=False, headers=None,
                 body=None):
         # if extra_headers is True
diff --git a/tempest/services/identity/json/identity_client.py b/tempest/services/identity/json/identity_client.py
index 7902e6b..a3ff92d 100644
--- a/tempest/services/identity/json/identity_client.py
+++ b/tempest/services/identity/json/identity_client.py
@@ -341,8 +341,8 @@
             except (ValueError, TypeError):
                 headers = self.get_headers(accept_type="json")
 
-        resp, resp_body = self.http_obj.request(url, method,
-                                                headers=headers, body=body)
+        resp, resp_body = self.raw_request(url, method,
+                                           headers=headers, body=body)
         self._log_request(method, url, resp)
 
         if resp.status in [401, 403]:
diff --git a/tempest/services/identity/v3/json/identity_client.py b/tempest/services/identity/v3/json/identity_client.py
index 6f4c35c..17ad718 100644
--- a/tempest/services/identity/v3/json/identity_client.py
+++ b/tempest/services/identity/v3/json/identity_client.py
@@ -606,8 +606,8 @@
             except (ValueError, TypeError):
                 headers = self.get_headers(accept_type="json")
 
-        resp, resp_body = self.http_obj.request(url, method,
-                                                headers=headers, body=body)
+        resp, resp_body = self.raw_request(url, method,
+                                           headers=headers, body=body)
         self._log_request(method, url, resp)
 
         if resp.status in [401, 403]: