X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fadapter%2Fclients%2Focloud_client.py;h=4e8430fa757f151c07221da13440430d712e1e5c;hb=refs%2Fchanges%2F98%2F12498%2F3;hp=899cebebeec13234fc63f4d5848eaa691f0147ae;hpb=00c91afdecfe15a2e1db1f7fc17fa75f2897b7d2;p=pti%2Fo2.git diff --git a/o2ims/adapter/clients/ocloud_client.py b/o2ims/adapter/clients/ocloud_client.py index 899cebe..4e8430f 100644 --- a/o2ims/adapter/clients/ocloud_client.py +++ b/o2ims/adapter/clients/ocloud_client.py @@ -226,9 +226,11 @@ class StxClientImp(object): subcloud_additional_details(subcloud_id) logger.debug('subcloud name: %s, oam_floating_ip: %s' % (subcloud[0].name, subcloud[0].oam_floating_ip)) + if subcloud[0].oam_floating_ip == 'unavailable': + raise EnvironmentError(f"{subcloud[0].name} was unavailable") try: os_client_args = config.get_stx_access_info( - region_name=subcloud[0].name, + region_name=subcloud[0].region_name, subcloud_hostname=subcloud[0].oam_floating_ip) # logger.info(os_client_args) config_client = get_stx_client(**os_client_args) @@ -236,7 +238,7 @@ class StxClientImp(object): msg = e.format_message() if CGTSCLIENT_ENDPOINT_ERROR_MSG in msg: os_client_args = config.get_stx_access_info( - region_name=subcloud[0].name, sub_is_https=True, + region_name=subcloud[0].region_name, sub_is_https=True, subcloud_hostname=subcloud[0].oam_floating_ip) # logger.info(os_client_args) config_client = get_stx_client(**os_client_args) @@ -383,6 +385,7 @@ class StxClientImp(object): def getK8sList(self, **filters) -> List[ocloudModel.StxGenericModel]: def process_cluster(client, cluster): setattr(cluster, 'cloud_name', systems[0].name) + setattr(cluster, 'cloud_uuid', systems[0].uuid) cluster = self._setK8sCapabilities(client, cluster) logger.debug('k8sresources cluster_api_endpoint: ' + str(cluster.cluster_api_endpoint)) @@ -430,13 +433,15 @@ class StxClientImp(object): return k8s_list def getK8sDetail(self, name) -> ocloudModel.StxGenericModel: - def process_k8s_cluster(client, k8s_cluster, cloud_name): + def process_k8s_cluster(client, k8s_cluster, cloud_name, cloud_uuid): setattr(k8s_cluster, 'cloud_name', cloud_name) + setattr(k8s_cluster, 'cloud_uuid', cloud_uuid) k8s_cluster = self._setK8sCapabilities(client, k8s_cluster) return k8s_cluster systems = self.stxclient.isystem.list() system_name = systems[0].name + system_uuid = systems[0].uuid if not name: k8s_clusters = self.stxclient.kube_cluster.list() @@ -450,16 +455,20 @@ class StxClientImp(object): if cloud_name == system_name: k8s_cluster = process_k8s_cluster( self.stxclient, - self.stxclient.kube_cluster.get(k8s_name), cloud_name) + self.stxclient.kube_cluster.get(k8s_name), cloud_name, + system_uuid) else: subclouds = self.getSubcloudList() subcloud_id = next( sub.subcloud_id for sub in subclouds if sub.name == cloud_name) subcloud_stxclient = self.getSubcloudClient(subcloud_id) + systems = subcloud_stxclient.isystem.list() + system_uuid = systems[0].uuid k8s_cluster = process_k8s_cluster( subcloud_stxclient, - subcloud_stxclient.kube_cluster.get(k8s_name), cloud_name) + subcloud_stxclient.kube_cluster.get(k8s_name), cloud_name, + system_uuid) if not k8s_cluster: return None @@ -704,7 +713,7 @@ class StxClientImp(object): setattr(cluster, 'name', cluster.cloud_name + '.' + cluster.cluster_name) setattr(cluster, 'uuid', - uuid.uuid3(uuid.NAMESPACE_URL, cluster.name)) + uuid.uuid3(uuid.NAMESPACE_URL, cluster.cloud_uuid)) setattr(cluster, 'updated_at', None) setattr(cluster, 'created_at', None) setattr(cluster, 'events', [])