X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fadapter%2Fclients%2Focloud_client.py;h=015da1f93a9a795f1772ea8af94f925f859f2315;hb=31541781c10e7d6b6b099331f13f70c2a219658f;hp=35188aa7f686b7a7a0b09e43282b7e6438b84a88;hpb=bbdc4917e5aaa0639ca8573a0f1720ccb2bf1077;p=pti%2Fo2.git diff --git a/o2ims/adapter/clients/ocloud_client.py b/o2ims/adapter/clients/ocloud_client.py index 35188aa..015da1f 100644 --- a/o2ims/adapter/clients/ocloud_client.py +++ b/o2ims/adapter/clients/ocloud_client.py @@ -15,18 +15,18 @@ # client talking to Stx standalone import uuid -from o2common.service.client.base_client import BaseClient from typing import List # Optional, Set -from o2ims.domain import stx_object as ocloudModel -from o2common.config import config -from o2ims.domain.resource_type import ResourceTypeEnum -# from dcmanagerclient.api import client from cgtsclient.client import get_client as get_stx_client from cgtsclient.exc import EndpointException from dcmanagerclient.api.client import client as get_dc_client +from o2common.config import config +from o2common.service.client.base_client import BaseClient +from o2ims.domain import stx_object as ocloudModel +from o2ims.domain.resource_type import ResourceTypeEnum + from o2common.helper import o2logging logger = o2logging.get_logger(__name__) @@ -89,7 +89,6 @@ class StxPserverClient(BaseClient): return self.driver.getPserver(id) def _list(self, **filters) -> List[ocloudModel.StxGenericModel]: - filters['resourcepoolid'] return self.driver.getPserverList(**filters) def _set_stx_client(self): @@ -230,7 +229,7 @@ class StxClientImp(object): os_client_args = config.get_stx_access_info( region_name=subcloud[0].name, subcloud_hostname=subcloud[0].oam_floating_ip) - logger.info(os_client_args) + # logger.info(os_client_args) config_client = get_stx_client(**os_client_args) except EndpointException as e: msg = e.format_message() @@ -238,7 +237,7 @@ class StxClientImp(object): os_client_args = config.get_stx_access_info( region_name=subcloud[0].name, sub_is_https=True, subcloud_hostname=subcloud[0].oam_floating_ip) - logger.info(os_client_args) + # logger.info(os_client_args) config_client = get_stx_client(**os_client_args) else: raise ValueError('Stx endpoint exception: %s' % msg) @@ -271,6 +270,7 @@ class StxClientImp(object): ResourceTypeEnum.OCLOUD, systems[0]) if systems else None def getSubcloudList(self): + self.dcclient = self.getDcmanagerClient() subs = self.dcclient.subcloud_manager.list_subclouds() known_subs = [sub for sub in subs if sub.sync_status != 'unknown'] return known_subs @@ -284,7 +284,8 @@ class StxClientImp(object): if systems[0].distributed_cloud_role is None or \ systems[0].distributed_cloud_role != 'systemcontroller': return [ocloudModel.StxGenericModel( - ResourceTypeEnum.RESOURCE_POOL, systems[0])] + ResourceTypeEnum.RESOURCE_POOL, + self._respoolconverter(systems[0]))] pools = [] if config.get_system_controller_as_respool(): @@ -306,14 +307,16 @@ class StxClientImp(object): return [ocloudModel.StxGenericModel( ResourceTypeEnum.RESOURCE_POOL, - respool) for respool in pools if respool] + self._respoolconverter( + respool)) for respool in pools if respool] def getResourcePoolDetail(self, id): self.setStxClient(id) systems = self.stxclient.isystem.list() logger.debug('systems:' + str(systems[0].to_dict())) return ocloudModel.StxGenericModel( - ResourceTypeEnum.RESOURCE_POOL, systems[0]) if systems else None + ResourceTypeEnum.RESOURCE_POOL, + self._respoolconverter(systems[0])) if systems else None def getPserverList(self, **filters) -> List[ocloudModel.StxGenericModel]: hosts = self.stxclient.ihost.list() @@ -321,6 +324,7 @@ class StxClientImp(object): return [ocloudModel.StxGenericModel( ResourceTypeEnum.PSERVER, self._hostconverter(host)) for host in hosts if host and (host.availability == 'available' + or host.availability == 'online' or host.availability == 'degraded')] def getPserver(self, id) -> ocloudModel.StxGenericModel: @@ -525,6 +529,11 @@ class StxClientImp(object): 'more than one system exists in the account.') return isystems[0] + @ staticmethod + def _respoolconverter(res_pool): + setattr(res_pool, 'name', res_pool.region_name) + return res_pool + @ staticmethod def _hostconverter(host): setattr(host, 'name', host.hostname)