fix 1006 command wim-show tries to load json twice
[osm/osmclient.git] / osmclient / sol005 / client.py
index a4f952c..3ceb1b3 100644 (file)
@@ -34,8 +34,11 @@ from osmclient.sol005 import project as projectmodule
 from osmclient.sol005 import user as usermodule
 from osmclient.sol005 import role
 from osmclient.sol005 import pdud
-from osmclient.common.exceptions import ClientException
+from osmclient.sol005 import k8scluster
+from osmclient.sol005 import repo
+from osmclient.common import package_tool
 import json
+import logging
 
 
 class Client(object):
@@ -52,6 +55,7 @@ class Client(object):
         self._user = user
         self._password = password
         self._project = project
+        self._logger = logging.getLogger('osmclient')
         self._auth_endpoint = '/admin/v1/tokens'
         self._headers = {}
         self._token = None
@@ -86,21 +90,25 @@ class Client(object):
         self.user = usermodule.User(self._http_client, client=self)
         self.role = role.Role(self._http_client, client=self)
         self.pdu = pdud.Pdu(self._http_client, client=self)
+        self.k8scluster = k8scluster.K8scluster(self._http_client, client=self)
+        self.repo = repo.Repo(self._http_client, client=self)
+        self.package_tool = package_tool.PackageTool(client=self)
         '''
         self.vca = vca.Vca(http_client, client=self, **kwargs)
         self.utils = utils.Utils(http_client, **kwargs)
         '''
 
     def get_token(self):
+        self._logger.debug("")
         if self._token is None:
             postfields_dict = {'username': self._user,
                                'password': self._password,
                                'project_id': self._project}
             http_code, resp = self._http_client.post_cmd(endpoint=self._auth_endpoint,
                                                          postfields_dict=postfields_dict)
-            if http_code not in (200, 201, 202, 204):
-                message ='Authentication error: not possible to get auth token\nresp:\n{}'.format(resp)
-                raise ClientException(message)
+#            if http_code not in (200, 201, 202, 204):
+#                message ='Authentication error: not possible to get auth token\nresp:\n{}'.format(resp)
+#                raise ClientException(message)
 
             token = json.loads(resp) if resp else None
             self._token = token['id']
@@ -110,3 +118,8 @@ class Client(object):
                 http_header = ['{}: {}'.format(key, val)
                                for (key, val) in list(self._headers.items())]
                 self._http_client.set_http_header(http_header)
+
+    def get_version(self):
+        _, resp = self._http_client.get2_cmd(endpoint="/version")
+        resp = json.loads(resp)
+        return "{} {}".format(resp.get("version"), resp.get("date"))