vnf-list and vnf-show for sol005 client
[osm/osmclient.git] / osmclient / sol005 / client.py
index d1c90aa..ca8f151 100644 (file)
 OSM SOL005 client API
 """
 
 OSM SOL005 client API
 """
 
-#from osmclient.v1 import vnf
 #from osmclient.v1 import vca
 from osmclient.sol005 import vnfd
 from osmclient.sol005 import nsd
 from osmclient.sol005 import ns
 #from osmclient.v1 import vca
 from osmclient.sol005 import vnfd
 from osmclient.sol005 import nsd
 from osmclient.sol005 import ns
+from osmclient.sol005 import vnf
 from osmclient.sol005 import vim
 from osmclient.sol005 import package
 from osmclient.sol005 import http
 from osmclient.sol005 import sdncontroller
 from osmclient.common.exceptions import ClientException
 from osmclient.sol005 import vim
 from osmclient.sol005 import package
 from osmclient.sol005 import http
 from osmclient.sol005 import sdncontroller
 from osmclient.common.exceptions import ClientException
+import json
 
 class Client(object):
 
 
 class Client(object):
 
@@ -84,8 +85,8 @@ class Client(object):
         self.ns = ns.Ns(self._http_client, client=self)
         self.vim = vim.Vim(self._http_client, client=self)
         self.sdnc = sdncontroller.SdnController(self._http_client, client=self)
         self.ns = ns.Ns(self._http_client, client=self)
         self.vim = vim.Vim(self._http_client, client=self)
         self.sdnc = sdncontroller.SdnController(self._http_client, client=self)
+        self.vnf = vnf.Vnf(self._http_client, client=self)
         '''
         '''
-        self.vnf = vnf.Vnf(http_client, client=self, **kwargs)
         self.vca = vca.Vca(http_client, client=self, **kwargs)
         self.utils = utils.Utils(http_client, **kwargs)
         '''
         self.vca = vca.Vca(http_client, client=self, **kwargs)
         self.utils = utils.Utils(http_client, **kwargs)
         '''
@@ -94,8 +95,11 @@ class Client(object):
         postfields_dict = {'username': self._user,
                            'password': self._password,
                            'project-id': self._project}
         postfields_dict = {'username': self._user,
                            'password': self._password,
                            'project-id': self._project}
-        token = self._http_client.post_cmd(endpoint=self._auth_endpoint,
+        http_code, resp = self._http_client.post_cmd(endpoint=self._auth_endpoint,
                               postfields_dict=postfields_dict)
                               postfields_dict=postfields_dict)
+        if http_code not in (200, 201, 202, 204):
+            raise ClientException(resp)
+        token = json.loads(resp) if resp else None
         if token is not None:
             return token['_id']
         return None
         if token is not None:
             return token['_id']
         return None