X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osmclient%2Fsol005%2Fclient.py;h=cd67a87b7a07f9da06fa6ae20130252f90dbaf5d;hb=8319f271198f5ac7be9164ea3349b9b6c8a459ce;hp=36062bf8c61d66806ca79a7d261ca0459489d9d5;hpb=4335f9962fec0516628b5d0b8337fc977e55669c;p=osm%2Fosmclient.git diff --git a/osmclient/sol005/client.py b/osmclient/sol005/client.py index 36062bf..cd67a87 100644 --- a/osmclient/sol005/client.py +++ b/osmclient/sol005/client.py @@ -18,7 +18,6 @@ OSM SOL005 client API """ -# from osmclient.v1 import vca from osmclient.sol005 import vnfd from osmclient.sol005 import nsd from osmclient.sol005 import nst @@ -35,9 +34,12 @@ from osmclient.sol005 import user as usermodule from osmclient.sol005 import role from osmclient.sol005 import pdud from osmclient.sol005 import k8scluster +from osmclient.sol005 import vca from osmclient.sol005 import repo from osmclient.sol005 import osmrepo +from osmclient.sol005 import subscription from osmclient.common import package_tool +from osmclient.common.exceptions import ClientException import json import logging @@ -52,7 +54,6 @@ class Client(object): project="admin", **kwargs ): - self._user = user self._password = password self._project = project @@ -75,10 +76,7 @@ class Client(object): ) self._headers["Accept"] = "application/json" self._headers["Content-Type"] = "application/yaml" - http_header = [ - "{}: {}".format(key, val) for (key, val) in list(self._headers.items()) - ] - self._http_client.set_http_header(http_header) + self._http_client.set_http_header(self._headers) self.vnfd = vnfd.Vnfd(self._http_client, client=self) self.nsd = nsd.Nsd(self._http_client, client=self) @@ -95,15 +93,17 @@ class Client(object): 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.vca = vca.VCA(self._http_client, client=self) self.repo = repo.Repo(self._http_client, client=self) self.osmrepo = osmrepo.OSMRepo(self._http_client, client=self) self.package_tool = package_tool.PackageTool(client=self) + self.subscription = subscription.Subscription(self._http_client, client=self) """ self.vca = vca.Vca(http_client, client=self, **kwargs) self.utils = utils.Utils(http_client, **kwargs) """ - def get_token(self): + def get_token(self, pwd_change=False): self._logger.debug("") if self._token is None: postfields_dict = { @@ -125,15 +125,16 @@ class Client(object): # raise ClientException(message) token = json.loads(resp) if resp else None + if token.get("message") == "change_password" and not pwd_change: + raise ClientException( + "Password Expired. Please update the password using change_password option" + ) self._token = token["id"] if self._token is not None: self._headers["Authorization"] = "Bearer {}".format(self._token) - http_header = [ - "{}: {}".format(key, val) - for (key, val) in list(self._headers.items()) - ] - self._http_client.set_http_header(http_header) + self._http_client.set_http_header(self._headers) + return token def get_version(self): _, resp = self._http_client.get2_cmd(endpoint="/version", skip_query_admin=True) @@ -146,12 +147,3 @@ class Client(object): version = resp.split()[2] date = resp.split()[4] return "{} {}".format(version, date) - - def set_default_params(self, **kwargs): - host = kwargs.pop("host", None) - if host is not None: - self._host = host - port = kwargs.pop("port", None) - if port is not None: - self._so_port = port - self._http_client.set_query_admin(**kwargs)