diff --git a/apps/assets/utils/k8s.py b/apps/assets/utils/k8s.py index 2b33ded89..dc3cd8bc6 100644 --- a/apps/assets/utils/k8s.py +++ b/apps/assets/utils/k8s.py @@ -4,7 +4,6 @@ from urllib.parse import urlencode, urlparse from kubernetes import client from kubernetes.client import api_client from kubernetes.client.api import core_v1_api -from kubernetes.client.exceptions import ApiException from sshtunnel import SSHTunnelForwarder, BaseSSHTunnelForwarderError from common.utils import get_logger @@ -88,8 +87,9 @@ class KubernetesClient: if hasattr(self, func_name): try: data = getattr(self, func_name)(*args) - except ApiException as e: - logger.error(e.reason) + except Exception as e: + logger.error(e) + raise e if self.server: self.server.stop() diff --git a/apps/perms/api/user_permission/tree/node_with_asset.py b/apps/perms/api/user_permission/tree/node_with_asset.py index c7bb0b8bb..114c5475e 100644 --- a/apps/perms/api/user_permission/tree/node_with_asset.py +++ b/apps/perms/api/user_permission/tree/node_with_asset.py @@ -14,6 +14,7 @@ from assets.api import SerializeToTreeNodeMixin from assets.models import Asset from assets.utils import KubernetesTree from authentication.models import ConnectionToken +from common.exceptions import JMSException from common.utils import get_object_or_none, lazyproperty from common.utils.common import timeit from perms.hands import Node @@ -264,5 +265,8 @@ class UserGrantedK8sAsTreeApi(SelfOrPKUserMixin, ListAPIView): if not any([namespace, pod]) and not key: asset_node = k8s_tree_instance.as_asset_tree_node() tree.append(asset_node) - tree.extend(k8s_tree_instance.async_tree_node(namespace, pod)) - return Response(data=tree) + try: + tree.extend(k8s_tree_instance.async_tree_node(namespace, pod)) + return Response(data=tree) + except Exception as e: + raise JMSException(e)