X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fadapter%2Fclients%2Focloud_sa_client.py;h=e8f1685fbc930be5cd7db9d4d81364241a4589b7;hb=84867b76a65efc4e9add52c86eae7e451c4a038d;hp=e8c48a3d656acef57a2f0aa8e31c3cbcc3d516d7;hpb=8be81dfad35b08c4de77168e885bb18253069771;p=pti%2Fo2.git diff --git a/o2ims/adapter/clients/ocloud_sa_client.py b/o2ims/adapter/clients/ocloud_sa_client.py index e8c48a3..e8f1685 100644 --- a/o2ims/adapter/clients/ocloud_sa_client.py +++ b/o2ims/adapter/clients/ocloud_sa_client.py @@ -15,17 +15,18 @@ # client talking to Stx standalone import uuid -from o2ims.service.client.base_client import BaseClient +from o2common.service.client.base_client import BaseClient from typing import List # Optional, Set from o2ims.domain import stx_object as ocloudModel -from o2ims import config +from o2common.config import config from o2ims.domain.resource_type import ResourceTypeEnum # from dcmanagerclient.api import client from cgtsclient.client import get_client -import logging -logger = logging.getLogger(__name__) + +from o2common.helper import o2logging +logger = o2logging.get_logger(__name__) class StxSaOcloudClient(BaseClient): @@ -33,16 +34,10 @@ class StxSaOcloudClient(BaseClient): super().__init__() self.driver = driver if driver else StxSaClientImp() - # def list(self) -> List[ocloudModel.StxGenericModel]: - # return self._list() - - # def get(self, id) -> ocloudModel.StxGenericModel: - # return self._get(id) - def _get(self, id) -> ocloudModel.StxGenericModel: return self.driver.getInstanceInfo() - def _list(self): + def _list(self, **filters): return [self.driver.getInstanceInfo()] @@ -54,7 +49,7 @@ class StxSaResourcePoolClient(BaseClient): def _get(self, id) -> ocloudModel.StxGenericModel: return self.driver.getInstanceInfo() - def _list(self): + def _list(self, **filters): return [self.driver.getInstanceInfo()] @@ -66,8 +61,8 @@ class StxSaDmsClient(BaseClient): def _get(self, name) -> ocloudModel.StxGenericModel: return self.driver.getK8sDetail(name) - def _list(self): - return self.driver.getK8sList() + def _list(self, **filters): + return self.driver.getK8sList(**filters) class StxPserverClient(BaseClient): @@ -78,21 +73,21 @@ class StxPserverClient(BaseClient): def _get(self, id) -> ocloudModel.StxGenericModel: return self.driver.getPserver(id) - def _list(self) -> List[ocloudModel.StxGenericModel]: - return self.driver.getPserverList() + def _list(self, **filters) -> List[ocloudModel.StxGenericModel]: + return self.driver.getPserverList(**filters) class StxCpuClient(BaseClient): - def __init__(self, pserver_id): + def __init__(self): super().__init__() - self._pserver_id = pserver_id + # self._pserver_id = pserver_id self.driver = StxSaClientImp() def _get(self, id) -> ocloudModel.StxGenericModel: return self.driver.getCpu(id) - def _list(self) -> List[ocloudModel.StxGenericModel]: - return self.driver.getCpuList(self._pserver_id) + def _list(self, **filters) -> List[ocloudModel.StxGenericModel]: + return self.driver.getCpuList(**filters) # internal driver which implement client call to Stx Standalone instance @@ -113,7 +108,8 @@ class StxSaClientImp(object): return ocloudModel.StxGenericModel( ResourceTypeEnum.OCLOUD, systems[0]) if systems else None - def getPserverList(self) -> List[ocloudModel.StxGenericModel]: + def getPserverList(self, **filters) -> List[ocloudModel.StxGenericModel]: + # resourcepoolid = filters.get("resourcepoolid", None) hosts = self.stxclient.ihost.list() logger.debug("host 1:" + str(hosts[0].to_dict())) return [ocloudModel.StxGenericModel( @@ -126,7 +122,7 @@ class StxSaClientImp(object): return ocloudModel.StxGenericModel( ResourceTypeEnum.PSERVER, self._hostconverter(host)) - def getK8sList(self) -> List[ocloudModel.StxGenericModel]: + def getK8sList(self, **filters) -> List[ocloudModel.StxGenericModel]: k8sclusters = self.stxclient.kube_cluster.list() logger.debug("k8sresources[0]:" + str(k8sclusters[0].to_dict())) return [ocloudModel.StxGenericModel( @@ -149,16 +145,18 @@ class StxSaClientImp(object): ResourceTypeEnum.DMS, self._k8sconverter(k8scluster), self._k8shasher(k8scluster)) - def getCpuList(self, hostid) -> List[ocloudModel.StxGenericModel]: + def getCpuList(self, **filters) -> List[ocloudModel.StxGenericModel]: + hostid = filters.get("hostid", None) + assert (hostid is not None), "missing hostid to query icpu list" cpulist = self.stxclient.icpu.list(hostid) return [ocloudModel.StxGenericModel( - ResourceTypeEnum.OCLOUD, + ResourceTypeEnum.PSERVER_CPU, self._cpuconverter(cpures)) for cpures in cpulist if cpures] def getCpu(self, id) -> ocloudModel.StxGenericModel: cpuinfo = self.stxclient.icpu.get(id) return ocloudModel.StxGenericModel( - ResourceTypeEnum.OCLOUD, self._cpuconverter(cpuinfo)) + ResourceTypeEnum.PSERVER_CPU, self._cpuconverter(cpuinfo)) def _getIsystems(self): return self.stxclient.isystem.list()