fix 1182: set timeout of 10s for NBI response
[osm/osmclient.git] / osmclient / sol005 / role.py
index 733e00f..2544a7b 100644 (file)
@@ -23,7 +23,6 @@ OSM role mgmt API
 from osmclient.common import utils
 from osmclient.common.exceptions import ClientException
 from osmclient.common.exceptions import NotFound
-from osmclient.common.exceptions import OsmHttpException
 import json
 import yaml
 import logging
@@ -66,15 +65,16 @@ class Role(object):
             role["permissions"] = role_permissions
 
         http_code, resp = self._http.post_cmd(endpoint=self._apiBase,
-                                              postfields_dict=role)
+                                              postfields_dict=role,
+                                              skip_query_admin=True)
         # print('HTTP CODE: {}'.format(http_code))
         # print('RESP: {}'.format(resp))
         #if http_code in (200, 201, 202, 204):
         if resp:
             resp = json.loads(resp)
         if not resp or 'id' not in resp:
-            raise OsmHttpException('Unexpected response from server - {}'.format(
-                                  resp))
+            raise ClientException('Unexpected response from server - {}'.format(
+                resp))
         print(resp['id'])
         #else:
         #    msg = ""
@@ -149,15 +149,16 @@ class Role(object):
             del new_role_obj["permissions"]
 
         http_code, resp = self._http.patch_cmd(endpoint='{}/{}'.format(self._apiBase, role_obj['_id']),
-                                             postfields_dict=new_role_obj)
+                                               postfields_dict=new_role_obj,
+                                               skip_query_admin=True)
         # print('HTTP CODE: {}'.format(http_code))
         # print('RESP: {}'.format(resp))
         if http_code in (200, 201, 202):
             if resp:
                 resp = json.loads(resp)
             if not resp or 'id' not in resp:
-                raise OsmHttpException('Unexpected response from server - {}'.format(
-                                      resp))
+                raise ClientException('Unexpected response from server - {}'.format(
+                    resp))
             print(resp['id'])
         elif http_code == 204:
             print("Updated")
@@ -185,7 +186,8 @@ class Role(object):
         if force:
             querystring = '?FORCE=True'
         http_code, resp = self._http.delete_cmd('{}/{}{}'.format(self._apiBase,
-                                                                 role['_id'], querystring))
+                                                                 role['_id'], querystring),
+                                                                 skip_query_admin=True)
         # print('HTTP CODE: {}'.format(http_code))
         # print('RESP: {}'.format(resp))
         if http_code == 202:
@@ -195,13 +197,13 @@ class Role(object):
         elif resp and 'result' in resp:
             print('Deleted')
         else:
-            msg = ""
-            if resp:
-                try:
-                    msg = json.loads(resp)
-                except ValueError:
-                    msg = resp
-            raise OsmHttpException("Failed to delete role {} - {}".format(name, msg))
+            msg = resp or ""
+            if resp:
+                try:
+                    msg = json.loads(resp)
+                except ValueError:
+                    msg = resp
+            raise ClientException("Failed to delete role {} - {}".format(name, msg))
 
     def list(self, filter=None):
         """
@@ -215,7 +217,7 @@ class Role(object):
         filter_string = ''
         if filter:
             filter_string = '?{}'.format(filter)
-        _, resp = self._http.get2_cmd('{}{}'.format(self._apiBase, filter_string))
+        _, resp = self._http.get2_cmd('{}{}'.format(self._apiBase, filter_string),skip_query_admin=True)
         # print('RESP: {}'.format(resp))
         if resp:
             return json.loads(resp)