kubeflow/kfp-tekton

Where is the source code for wait_for_run_completion?

diegolovison opened this issue · 3 comments

/kind question

Question:
Where is the source code for wait_for_run_completion?

Description:
Hello,

I am working on an integration test. I have the following:

print(kfp_tekton.__version__)
'1.5.3'

My code is doing the following

my_pipeline = ....
result = client.create_run_from_pipeline_func(pipeline_func=my_pipeline, arguments={})
client.wait_for_run_completion(result.run_id, 2 * 60)

I am looking at: https://github.com/kubeflow/kfp-tekton/blob/1.5.x/sdk/python/kfp_tekton/_client.py
I can't see the method. Where is it?

Thanks,

@diegolovison The client function is located over here.
https://github.com/kubeflow/pipelines/blob/sdk/release-1.8/sdk/python/kfp/_client.py#L1234

For KFP-Tekton, we developed the client's compiler, UI, and backend to work on Tekton and Openshift pipelines. But for all the shared logic we are pulling from the kfp inherent package. kfp.Client
https://github.com/kubeflow/kfp-tekton/blob/1.5.x/sdk/python/kfp_tekton/_client.py#L27

I can see the following in https://github.com/kubeflow/pipelines/blob/release-1.5/sdk/python/kfp/_client.py#L884-L885

    while (status is None or
           status.lower() not in ['succeeded', 'failed', 'skipped', 'error']):

Our API is returning Completed. It means that the while will fail with raise TimeoutError('Run timeout')

Should we changed the client to add completed or is our backend returning a wrong status?

Screenshot from 2023-05-04 06-54-27

Thanks

Let me update the sdk to handle the new status from Tekton. The status from API is directly pulled from Tekton status so we should update the sdk for that function as well.