예제 #1
0
def kubernetes_exception_handler(
        ex,
        fault_type,
        summary,
        error_message='Error occured while connecting to the kubernetes cluster: ',
        message_for_unauthorized_request='The user does not have required privileges on the kubernetes cluster to deploy Azure Arc enabled Kubernetes agents. Please ensure you have cluster admin privileges on the cluster to onboard.',
        message_for_not_found='The requested kubernetes resource was not found.',
        raise_error=True):
    telemetry.set_user_fault()
    if isinstance(ex, ApiException):
        status_code = ex.status
        if status_code == 403:
            logger.warning(message_for_unauthorized_request)
        elif status_code == 404:
            logger.warning(message_for_not_found)
        else:
            logger.debug("Kubernetes Exception: " + str(ex))
        if raise_error:
            telemetry.set_exception(exception=ex,
                                    fault_type=fault_type,
                                    summary=summary)
            raise ValidationError(error_message + "\nError Response: " +
                                  str(ex.body))
    else:
        if raise_error:
            telemetry.set_exception(exception=ex,
                                    fault_type=fault_type,
                                    summary=summary)
            raise ValidationError(error_message + "\nError: " + str(ex))
        else:
            logger.debug("Kubernetes Exception: " + str(ex))
예제 #2
0
 def function_result(client, **kwargs):
     # pylint: disable=function-redefined,unused-argument
     raise ValidationError('maximum', 'id', '100')
예제 #3
0
 def function_result(_, **__):
     # pylint: disable=function-redefined
     raise ValidationError('maximum', 'id', '100')