perf: 连接k8s 添加错误处理 (#12563)

Co-authored-by: feng <1304903146@qq.com>
pull/12564/head
fit2bot 2024-01-17 18:41:29 +08:00 committed by GitHub
parent 86ef984c02
commit 18681d1f50
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 5 deletions

View File

@ -4,7 +4,6 @@ from urllib.parse import urlencode, urlparse
from kubernetes import client from kubernetes import client
from kubernetes.client import api_client from kubernetes.client import api_client
from kubernetes.client.api import core_v1_api from kubernetes.client.api import core_v1_api
from kubernetes.client.exceptions import ApiException
from sshtunnel import SSHTunnelForwarder, BaseSSHTunnelForwarderError from sshtunnel import SSHTunnelForwarder, BaseSSHTunnelForwarderError
from common.utils import get_logger from common.utils import get_logger
@ -88,8 +87,9 @@ class KubernetesClient:
if hasattr(self, func_name): if hasattr(self, func_name):
try: try:
data = getattr(self, func_name)(*args) data = getattr(self, func_name)(*args)
except ApiException as e: except Exception as e:
logger.error(e.reason) logger.error(e)
raise e
if self.server: if self.server:
self.server.stop() self.server.stop()

View File

@ -14,6 +14,7 @@ from assets.api import SerializeToTreeNodeMixin
from assets.models import Asset from assets.models import Asset
from assets.utils import KubernetesTree from assets.utils import KubernetesTree
from authentication.models import ConnectionToken from authentication.models import ConnectionToken
from common.exceptions import JMSException
from common.utils import get_object_or_none, lazyproperty from common.utils import get_object_or_none, lazyproperty
from common.utils.common import timeit from common.utils.common import timeit
from perms.hands import Node from perms.hands import Node
@ -264,5 +265,8 @@ class UserGrantedK8sAsTreeApi(SelfOrPKUserMixin, ListAPIView):
if not any([namespace, pod]) and not key: if not any([namespace, pod]) and not key:
asset_node = k8s_tree_instance.as_asset_tree_node() asset_node = k8s_tree_instance.as_asset_tree_node()
tree.append(asset_node) tree.append(asset_node)
tree.extend(k8s_tree_instance.async_tree_node(namespace, pod)) try:
return Response(data=tree) tree.extend(k8s_tree_instance.async_tree_node(namespace, pod))
return Response(data=tree)
except Exception as e:
raise JMSException(e)