Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[sdk] Unable to create pipeline using KFP SDK. #11506

Open
rajendra-avesha opened this issue Jan 10, 2025 · 0 comments
Open

[sdk] Unable to create pipeline using KFP SDK. #11506

rajendra-avesha opened this issue Jan 10, 2025 · 0 comments

Comments

@rajendra-avesha
Copy link

Environment

kubeflow_dag_samples % pip show kfp   

Name: kfp
Version: 2.11.0
Summary: Kubeflow Pipelines SDK
Home-page: https://github.com/kubeflow/pipelines
Author: The Kubeflow Authors
  • All dependencies version:

pip list | grep kfp kfp 2.11.0 kfp-pipeline-spec 0.6.0 kfp-server-api 2.3.0

Steps to reproduce

Please find sample snippet of code for simple dag pipeline
`from kfp import dsl
import kfp

from kfp_client_manager import KFPClientManager
import logging

@dsl.component
def add(a: float, b: float) -> float:
'''Calculates sum of two arguments'''
return a + b

@dsl.pipeline(
name='Addition pipeline',
description='An example pipeline that performs addition calculations.')
def add_pipeline(
a: float = 1.0,
b: float = 7.0,
):
first_add_task = add(a=a, b=4.0)
second_add_task = add(a=first_add_task.output, b=b)

if name == "main":

logging.basicConfig(level=logging.DEBUG)
# initialize a KFPClientManager
kfp_client_manager = KFPClientManager(
    api_url="http://localhost:8080/",
    skip_tls_verify=True,

    dex_username="[email protected]",
    dex_password="12341234",

    # can be 'ldap' or 'local' depending on your Dex configuration
    dex_auth_type="local",
)

# get a newly authenticated KFP client
# TIP: long-lived sessions might need to get a new client when their session expires
kfp_client = kfp_client_manager.create_kfp_client()
print(kfp_client)
kfp_client.create_run_from_pipeline_func(add_pipeline,
                                         arguments={
                                                'a': 7.0,
                                                'b': 8.0
                                            },
                                         namespace='kubeflow-user-example-com')

`
I took the kfp_client_manager from https://www.kubeflow.org/docs/components/pipelines/user-guides/core-functions/connect-api/#kubeflow-platform---outside-the-cluster.

Expected result

Has to create pipeline but It is failing . Please find logs with debug level

Materials and Reference

python sample_dag.py
/Users/rajendrakavali/.pyenv/versions/3.11.0/envs/krishna-11/lib/python3.11/site-packages/kfp/dsl/component_decorator.py:126: FutureWarning: The default base_image used by the @dsl.component decorator will switch from 'python:3.9' to 'python:3.10' on Oct 1, 2025. To ensure your existing components work with versions of the KFP SDK released after that date, you should provide an explicit base_image argument and ensure your component works as intended on Python 3.10.
return component_factory.create_component_from_func(
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): localhost:8080
DEBUG:urllib3.connectionpool:http://localhost:8080 "GET / HTTP/1.1" 302 347
DEBUG:urllib3.connectionpool:http://localhost:8080 "GET /dex/auth?approval_prompt=force&client_id=kubeflow-oidc-authservice&code_challenge=z6JraLKVs0eueQ3LfsYQEvnh-5YM3o-VrkWB7Cel7rg&code_challenge_method=S256&redirect_uri=%2Foauth2%2Fcallback&response_type=code&scope=profile+email+groups+openid&state=NgYwP8ENh3AwZQss4uyJAWhoNHOL8XmwG-TsZSbkpoQ%3A%2F HTTP/1.1" 302 1744
DEBUG:urllib3.connectionpool:http://localhost:8080 "GET /dex/auth/local?approval_prompt=force&client_id=kubeflow-oidc-authservice&code_challenge=z6JraLKVs0eueQ3LfsYQEvnh-5YM3o-VrkWB7Cel7rg&code_challenge_method=S256&redirect_uri=%2Foauth2%2Fcallback&response_type=code&scope=profile+email+groups+openid&state=NgYwP8ENh3AwZQss4uyJAWhoNHOL8XmwG-TsZSbkpoQ%3A%2F HTTP/1.1" 302 86
DEBUG:urllib3.connectionpool:http://localhost:8080 "GET /dex/auth/local/login?back=&state=k3gcgzgm53rr3izg5xb2cmizv HTTP/1.1" 200 1526
DEBUG:urllib3.connectionpool:http://localhost:8080 "POST /dex/auth/local/login?back=&state=k3gcgzgm53rr3izg5xb2cmizv HTTP/1.1" 303 0
DEBUG:urllib3.connectionpool:http://localhost:8080 "GET /dex/approval?req=k3gcgzgm53rr3izg5xb2cmizv&hmac=CWvjKVCqvD3kI8K-jf-foBvjSiSIWF3aJ2WkBLT0eAc HTTP/1.1" 200 1808
DEBUG:urllib3.connectionpool:http://localhost:8080 "POST /dex/approval?req=k3gcgzgm53rr3izg5xb2cmizv&hmac=CWvjKVCqvD3kI8K-jf-foBvjSiSIWF3aJ2WkBLT0eAc HTTP/1.1" 303 0
DEBUG:urllib3.connectionpool:http://localhost:8080 "GET /oauth2/callback?code=tgnl4mtopcyjn6kz7ybgbnz3w&state=NgYwP8ENh3AwZQss4uyJAWhoNHOL8XmwG-TsZSbkpoQ%3A%2F HTTP/1.1" 302 24
DEBUG:urllib3.connectionpool:http://localhost:8080 "GET / HTTP/1.1" 200 1318
/Users/rajendrakavali/.pyenv/versions/3.11.0/envs/krishna-11/lib/python3.11/site-packages/kfp/client/client.py:159: FutureWarning: This client only works with Kubeflow Pipeline v2.0.0-beta.2 and later versions.
warnings.warn(
<kfp.client.client.Client object at 0x102ad4d10>
INFO:root:Creating experiment Default.
Traceback (most recent call last):
File "/Users/rajendrakavali/kannan/kubesegment/kubeflow_dag_samples/test1.py", line 42, in
kfp_client.create_run_from_pipeline_func(add_pipeline,
File "/Users/rajendrakavali/.pyenv/versions/3.11.0/envs/krishna-11/lib/python3.11/site-packages/kfp/client/client.py", line 1026, in create_run_from_pipeline_func
return self.create_run_from_pipeline_package(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/rajendrakavali/.pyenv/versions/3.11.0/envs/krishna-11/lib/python3.11/site-packages/kfp/client/client.py", line 1093, in create_run_from_pipeline_package
experiment = self.create_experiment(
^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/rajendrakavali/.pyenv/versions/3.11.0/envs/krishna-11/lib/python3.11/site-packages/kfp/client/client.py", line 477, in create_experiment
experiment = self._experiment_api.experiment_service_create_experiment(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/rajendrakavali/.pyenv/versions/3.11.0/envs/krishna-11/lib/python3.11/site-packages/kfp_server_api/api/experiment_service_api.py", line 187, in experiment_service_create_experiment
return self.experiment_service_create_experiment_with_http_info(body, **kwargs) # noqa: E501
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/rajendrakavali/.pyenv/versions/3.11.0/envs/krishna-11/lib/python3.11/site-packages/kfp_server_api/api/experiment_service_api.py", line 271, in experiment_service_create_experiment_with_http_info
return self.api_client.call_api(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/rajendrakavali/.pyenv/versions/3.11.0/envs/krishna-11/lib/python3.11/site-packages/kfp_server_api/api_client.py", line 364, in call_api
return self.__call_api(resource_path, method,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/rajendrakavali/.pyenv/versions/3.11.0/envs/krishna-11/lib/python3.11/site-packages/kfp_server_api/api_client.py", line 188, in __call_api
raise e
File "/Users/rajendrakavali/.pyenv/versions/3.11.0/envs/krishna-11/lib/python3.11/site-packages/kfp_server_api/api_client.py", line 181, in __call_api
response_data = self.request(
^^^^^^^^^^^^^
File "/Users/rajendrakavali/.pyenv/versions/3.11.0/envs/krishna-11/lib/python3.11/site-packages/kfp_server_api/api_client.py", line 407, in request
return self.rest_client.POST(url,
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/rajendrakavali/.pyenv/versions/3.11.0/envs/krishna-11/lib/python3.11/site-packages/kfp_server_api/rest.py", line 265, in POST
return self.request("POST", url,
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/rajendrakavali/.pyenv/versions/3.11.0/envs/krishna-11/lib/python3.11/site-packages/kfp_server_api/rest.py", line 224, in request
raise ApiException(http_resp=r)
kfp_server_api.exceptions.ApiException: (404)
Reason: Not Found
HTTP response headers: HTTPHeaderDict({'x-powered-by': 'Express', 'content-security-policy': "default-src 'none'", 'x-content-type-options': 'nosniff', 'content-type': 'text/html; charset=utf-8', 'content-length': '164', 'date': 'Fri, 10 Jan 2025 14:22:26 GMT', 'x-envoy-upstream-service-time': '2', 'server': 'istio-envoy'})
HTTP response body:

<title>Error</title>
Cannot POST /apis/v2beta1/experiments

(krishna-11) rajendrakavali@Rajendras-MacBook-Pro kubeflow_dag_samples %


Impacted by this bug? Give it a 👍.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant