pipelines icon indicating copy to clipboard operation
pipelines copied to clipboard

failed to authenticate with kubeflow pipeline [bug] <HTTP 500 error>

Open LeBoyOrion opened this issue 2 years ago • 5 comments

  • How do you deploy Kubeflow Pipelines (KFP)?

Kubeflow is deployed on MiniKF locally downloaded on windows using vagrant and Virtual Box downloading steps : here

  • KFP version: i cant fin it, neither on the dahsboard nor on the minikf window.

Steps to reproduce

The problem can be reproduced just by using Kale to create a pipeline and after dividing any notebook into different steps, clicking on compile and run shows an error that i can find by going to the pipeline window logs, the logs show me this : Capture

the second error message is really long, if someone needs it to maybe understand my issue you will find it as a comment to this post

Expected result

After seeing a lot of videos that implements kale and uses it to create pipelines, the expected result is just a pipeline that runs every cells of the notebook contained in each step using the data of the step before.

Thank you in advance for your help.

Impacted by this bug? Give it a 👍.

LeBoyOrion avatar Aug 01 '22 08:08 LeBoyOrion

the second error message :

HTTP response body: {"error":"Internal error: Unauthenticated: Request header error: there is no user identity header.: Request header error: there is no user identity header.\nFailed to authorize with API resource references\ngithub.com/kubeflow/pipelines/backend/src/common/util.Wrap\n\t/go/src/github.com/kubeflow/pipelines/backend/src/common/util/error.go:275\ngithub.com/kubeflow/pipelines/backend/src/apiserver/server.(*RunServer).canAccessRun\n\t/go/src/github.com/kubeflow/pipelines/backend/src/apiserver/server/run_server.go:390\ngithub.com/kubeflow/pipelines/backend/src/apiserver/server.(*RunServer).GetRun\n\t/go/src/github.com/kubeflow/pipelines/backend/src/apiserver/server/run_server.go:151\ngithub.com/kubeflow/pipelines/backend/api/go_client._RunService_GetRun_Handler.func1\n\t/go/src/github.com/kubeflow/pipelines/backend/api/go_client/run.pb.go:1519\nmain.apiServerInterceptor\n\t/go/src/github.com/kubeflow/pipelines/backend/src/apiserver/interceptor.go:30\ngithub.com/kubeflow/pipelines/backend/api/go_client._RunService_GetRun_Handler\n\t/go/src/github.com/kubeflow/pipelines/backend/api/go_client/run.pb.go:1521\ngoogle.golang.org/grpc.(*Server).processUnaryRPC\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1210\ngoogle.golang.org/grpc.(*Server).handleStream\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1533\ngoogle.golang.org/grpc.(*Server).serveStreams.func1.2\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:871\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1357\nFailed to authorize the request\ngithub.com/kubeflow/pipelines/backend/src/common/util.Wrap\n\t/go/src/github.com/kubeflow/pipelines/backend/src/common/util/error.go:275\ngithub.com/kubeflow/pipelines/backend/src/apiserver/server.(*RunServer).GetRun\n\t/go/src/github.com/kubeflow/pipelines/backend/src/apiserver/server/run_server.go:153\ngithub.com/kubeflow/pipelines/backend/api/go_client._RunService_GetRun_Handler.func1\n\t/go/src/github.com/kubeflow/pipelines/backend/api/go_client/run.pb.go:1519\nmain.apiServerInterceptor\n\t/go/src/github.com/kubeflow/pipelines/backend/src/apiserver/interceptor.go:30\ngithub.com/kubeflow/pipelines/backend/api/go_client._RunService_GetRun_Handler\n\t/go/src/github.com/kubeflow/pipelines/backend/api/go_client/run.pb.go:1521\ngoogle.golang.org/grpc.(*Server).processUnaryRPC\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1210\ngoogle.golang.org/grpc.(*Server).handleStream\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1533\ngoogle.golang.org/grpc.(*Server).serveStreams.func1.2\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:871\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1357","code":13,"message":"Internal error: Unauthenticated: Request header error: there is no user identity header.: Request header error: there is no user identity header.\nFailed to authorize with API resource references\ngithub.com/kubeflow/pipelines/backend/src/common/util.Wrap\n\t/go/src/github.com/kubeflow/pipelines/backend/src/common/util/error.go:275\ngithub.com/kubeflow/pipelines/backend/src/apiserver/server.(*RunServer).canAccessRun\n\t/go/src/github.com/kubeflow/pipelines/backend/src/apiserver/server/run_server.go:390\ngithub.com/kubeflow/pipelines/backend/src/apiserver/server.(*RunServer).GetRun\n\t/go/src/github.com/kubeflow/pipelines/backend/src/apiserver/server/run_server.go:151\ngithub.com/kubeflow/pipelines/backend/api/go_client._RunService_GetRun_Handler.func1\n\t/go/src/github.com/kubeflow/pipelines/backend/api/go_client/run.pb.go:1519\nmain.apiServerInterceptor\n\t/go/src/github.com/kubeflow/pipelines/backend/src/apiserver/interceptor.go:30\ngithub.com/kubeflow/pipelines/backend/api/go_client._RunService_GetRun_Handler\n\t/go/src/github.com/kubeflow/pipelines/backend/api/go_client/run.pb.go:1521\ngoogle.golang.org/grpc.(*Server).processUnaryRPC\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1210\ngoogle.golang.org/grpc.(*Server).handleStream\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1533\ngoogle.golang.org/grpc.(*Server).serveStreams.func1.2\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:871\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1357\nFailed to authorize the request\ngithub.com/kubeflow/pipelines/backend/src/common/util.Wrap\n\t/go/src/github.com/kubeflow/pipelines/backend/src/common/util/error.go:275\ngithub.com/kubeflow/pipelines/backend/src/apiserver/server.(*RunServer).GetRun\n\t/go/src/github.com/kubeflow/pipelines/backend/src/apiserver/server/run_server.go:153\ngithub.com/kubeflow/pipelines/backend/api/go_client._RunService_GetRun_Handler.func1\n\t/go/src/github.com/kubeflow/pipelines/backend/api/go_client/run.pb.go:1519\nmain.apiServerInterceptor\n\t/go/src/github.com/kubeflow/pipelines/backend/src/apiserver/interceptor.go:30\ngithub.com/kubeflow/pipelines/backend/api/go_client._RunService_GetRun_Handler\n\t/go/src/github.com/kubeflow/pipelines/backend/api/go_client/run.pb.go:1521\ngoogle.golang.org/grpc.(*Server).processUnaryRPC\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1210\ngoogle.golang.org/grpc.(*Server).handleStream\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1533\ngoogle.golang.org/grpc.(*Server).serveStreams.func1.2\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:871\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1357","details":[{"@type":"type.googleapis.com/api.Error","error_message":"Internal error: Unauthenticated: Request header error: there is no user identity header.: Request header error: there is no user identity header.\nFailed to authorize with API resource references\ngithub.com/kubeflow/pipelines/backend/src/common/util.Wrap\n\t/go/src/github.com/kubeflow/pipelines/backend/src/common/util/error.go:275\ngithub.com/kubeflow/pipelines/backend/src/apiserver/server.(*RunServer).canAccessRun\n\t/go/src/github.com/kubeflow/pipelines/backend/src/apiserver/server/run_server.go:390\ngithub.com/kubeflow/pipelines/backend/src/apiserver/server.(*RunServer).GetRun\n\t/go/src/github.com/kubeflow/pipelines/backend/src/apiserver/server/run_server.go:151\ngithub.com/kubeflow/pipelines/backend/api/go_client._RunService_GetRun_Handler.func1\n\t/go/src/github.com/kubeflow/pipelines/backend/api/go_client/run.pb.go:1519\nmain.apiServerInterceptor\n\t/go/src/github.com/kubeflow/pipelines/backend/src/apiserver/interceptor.go:30\ngithub.com/kubeflow/pipelines/backend/api/go_client._RunService_GetRun_Handler\n\t/go/src/github.com/kubeflow/pipelines/backend/api/go_client/run.pb.go:1521\ngoogle.golang.org/grpc.(*Server).processUnaryRPC\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1210\ngoogle.golang.org/grpc.(*Server).handleStream\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1533\ngoogle.golang.org/grpc.(*Server).serveStreams.func1.2\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:871\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1357\nFailed to authorize the request\ngithub.com/kubeflow/pipelines/backend/src/common/util.Wrap\n\t/go/src/github.com/kubeflow/pipelines/backend/src/common/util/error.go:275\ngithub.com/kubeflow/pipelines/backend/src/apiserver/server.(*RunServer).GetRun\n\t/go/src/github.com/kubeflow/pipelines/backend/src/apiserver/server/run_server.go:153\ngithub.com/kubeflow/pipelines/backend/api/go_client._RunService_GetRun_Handler.func1\n\t/go/src/github.com/kubeflow/pipelines/backend/api/go_client/run.pb.go:1519\nmain.apiServerInterceptor\n\t/go/src/github.com/kubeflow/pipelines/backend/src/apiserver/interceptor.go:30\ngithub.com/kubeflow/pipelines/backend/api/go_client._RunService_GetRun_Handler\n\t/go/src/github.com/kubeflow/pipelines/backend/api/go_client/run.pb.go:1521\ngoogle.golang.org/grpc.(*Server).processUnaryRPC\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1210\ngoogle.golang.org/grpc.(*Server).handleStream\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1533\ngoogle.golang.org/grpc.(*Server).serveStreams.func1.2\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:871\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1357","error_details":"Internal error: Unauthenticated: Request header error: there is no user identity header.: Request header error: there is no user identity header.\nFailed to authorize with API resource references\ngithub.com/kubeflow/pipelines/backend/src/common/util.Wrap\n\t/go/src/github.com/kubeflow/pipelines/backend/src/common/util/error.go:275\ngithub.com/kubeflow/pipelines/backend/src/apiserver/server.(*RunServer).canAccessRun\n\t/go/src/github.com/kubeflow/pipelines/backend/src/apiserver/server/run_server.go:390\ngithub.com/kubeflow/pipelines/backend/src/apiserver/server.(*RunServer).GetRun\n\t/go/src/github.com/kubeflow/pipelines/backend/src/apiserver/server/run_server.go:151\ngithub.com/kubeflow/pipelines/backend/api/go_client._RunService_GetRun_Handler.func1\n\t/go/src/github.com/kubeflow/pipelines/backend/api/go_client/run.pb.go:1519\nmain.apiServerInterceptor\n\t/go/src/github.com/kubeflow/pipelines/backend/src/apiserver/interceptor.go:30\ngithub.com/kubeflow/pipelines/backend/api/go_client._RunService_GetRun_Handler\n\t/go/src/github.com/kubeflow/pipelines/backend/api/go_client/run.pb.go:1521\ngoogle.golang.org/grpc.(*Server).processUnaryRPC\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1210\ngoogle.golang.org/grpc.(*Server).handleStream\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1533\ngoogle.golang.org/grpc.(*Server).serveStreams.func1.2\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:871\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1357\nFailed to authorize the request\ngithub.com/kubeflow/pipelines/backend/src/common/util.Wrap\n\t/go/src/github.com/kubeflow/pipelines/backend/src/common/util/error.go:275\ngithub.com/kubeflow/pipelines/backend/src/apiserver/server.(*RunServer).GetRun\n\t/go/src/github.com/kubeflow/pipelines/backend/src/apiserver/server/run_server.go:153\ngithub.com/kubeflow/pipelines/backend/api/go_client._RunService_GetRun_Handler.func1\n\t/go/src/github.com/kubeflow/pipelines/backend/api/go_client/run.pb.go:1519\nmain.apiServerInterceptor\n\t/go/src/github.com/kubeflow/pipelines/backend/src/apiserver/interceptor.go:30\ngithub.com/kubeflow/pipelines/backend/api/go_client._RunService_GetRun_Handler\n\t/go/src/github.com/kubeflow/pipelines/backend/api/go_client/run.pb.go:1521\ngoogle.golang.org/grpc.(*Server).processUnaryRPC\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1210\ngoogle.golang.org/grpc.(*Server).handleStream\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:1533\ngoogle.golang.org/grpc.(*Server).serveStreams.func1.2\n\t/go/pkg/mod/google.golang.org/[email protected]/server.go:871\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1357"}]}

LeBoyOrion avatar Aug 01 '22 08:08 LeBoyOrion

/cc @zijianjoy

connor-mccarthy avatar Aug 04 '22 22:08 connor-mccarthy

Question: Which endpoint are you trying to reach within this load step? It looks like you need to authenticate before making request: Some documentation might be relevant in terms of making network call within cluster: https://www.kubeflow.org/docs/components/pipelines/sdk/connect-api/#multi-user-mode

zijianjoy avatar Aug 04 '22 22:08 zijianjoy

@LeBoyOrion If you are trying to access Kubeflow Pipelines SDK from a Notebook instance inside Kubeflow, then I think I know what the problem is.

You can create this PodDefault definition:

apiVersion: kubeflow.org/v1alpha1
kind: PodDefault
metadata:
  name: access-ml-pipeline
  namespace: kubeflow-user-example-com
spec:
  desc: Allow access to Kubeflow Pipelines
  selector:
    matchLabels:
      access-ml-pipeline: "true"
  volumes:
    - name: volume-kf-pipeline-token
      projected:
        sources:
          - serviceAccountToken:
              path: token
              expirationSeconds: 7200
              audience: pipelines.kubeflow.org
  volumeMounts:
    - mountPath: /var/run/secrets/kubeflow/pipelines
      name: volume-kf-pipeline-token
      readOnly: true
  env:
    - name: KF_PIPELINES_SA_TOKEN_PATH
      value: /var/run/secrets/kubeflow/pipelines/token

Then, select "Allow access to Kubeflow Pipelines" configuration when creatine a Notebook in Kubeflow. Afterwards, you can create Kubeflow Pipelines client like this:

with open(os.environ['KF_PIPELINES_SA_TOKEN_PATH'], "r") as f:
    TOKEN = f.read()

client = kfp.Client(
    host='http://ml-pipeline.kubeflow.svc.cluster.local:8888',
    existing_token=TOKEN,

kdubovikov avatar Aug 10 '22 17:08 kdubovikov

Hi, i am trying to build my own api on top of the sdk client. My kubeflow is full deployment on GCP. I am attempted to call client.list_experiments(), but it shows the same error as LeBoyOrion. Any suggestion?

Note: I am using FastAPI and built an website in the same cluster. I am able to call the list_pipelines API but failed to list runs or experiments.

tam0201 avatar Aug 15 '22 09:08 tam0201

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar Mar 07 '24 07:03 github-actions[bot]

Closing this issue. No activity for more than a year.

/close

rimolive avatar Mar 24 '24 23:03 rimolive

@rimolive: Closing this issue.

In response to this:

Closing this issue. No activity for more than a year.

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

google-oss-prow[bot] avatar Mar 24 '24 23:03 google-oss-prow[bot]