fix sol005 client so that delete_cmd output is processed in the caller function
[osm/osmclient.git] / osmclient / sol005 / vim.py
index d540c63..dca8444 100644 (file)
@@ -22,6 +22,7 @@ from osmclient.common import utils
 from osmclient.common.exceptions import ClientException
 from osmclient.common.exceptions import NotFound
 import yaml
+import json
 
 
 class Vim(object):
@@ -49,8 +50,10 @@ class Vim(object):
 
         vim_account['config'] = vim_config
 
-        resp = self._http.post_cmd(endpoint=self._apiBase,
+        http_code, resp = self._http.post_cmd(endpoint=self._apiBase,
                                        postfields_dict=vim_account)
+        if resp:
+            resp = json.loads(resp)
         if not resp or 'id' not in resp:
             raise ClientException('failed to create vim {}: {}'.format(
                                   name, resp))
@@ -59,9 +62,11 @@ class Vim(object):
 
     def update(self, vim_name, vim_account):
         vim = self.get(vim_name)
-        #resp = self._http.put_cmd(endpoint='{}/{}'.format(self._apiBase,vim['_id']),
-        resp = self._http.patch_cmd(endpoint='{}/{}'.format(self._apiBase,vim['_id']),
+        #http_code, resp = self._http.put_cmd(endpoint='{}/{}'.format(self._apiBase,vim['_id']),
+        http_code, resp = self._http.patch_cmd(endpoint='{}/{}'.format(self._apiBase,vim['_id']),
                                        postfields_dict=vim_account)
+        if resp:
+            resp = json.loads(resp)
         #print 'RESP: {}'.format(resp)
         if not resp or 'id' not in resp:
             raise ClientException('failed to update vim: '.format(resp))
@@ -90,6 +95,8 @@ class Vim(object):
         if not utils.validate_uuid4(vim_name):
             vim_id = self.get_id(vim_name)
         http_code, resp = self._http.delete_cmd('{}/{}'.format(self._apiBase,vim_id))
+        if resp:
+            resp = json.loads(resp)
         #print 'RESP: {}'.format(resp)
         if http_code == 202:
             print 'Deletion in progress'