Closed mamurak closed 1 year ago
moving priority to blocker per Myriam's request
Replicated this scenario on a RHODS 1.33 installed cluster by running this KFP SDK script locally:
"""Test showing a basic connection to kfp server."""
import os
from dotenv import load_dotenv
import kfp_tekton
kubeflow_endpoint = <insert-your-DSPA-route-endpoint-here>
bearer_token = <insert-your-cluster-token-here>
pipeline_file_path="sample-pipeline.yaml"
pipeline_version_file_path="new-sample-pipeline.yaml"
pipeline_version_name = "version-2"
if __name__ == "__main__":
client = kfp_tekton.TektonClient(
host=kubeflow_endpoint,
existing_token=bearer_token,
)
print(client.list_experiments())
pipeline_file = os.path.join(pipeline_file_path)
pipeline = client.pipeline_uploads.upload_pipeline(pipeline_file, name="version-test")
pipeline_version_file = os.path.join(pipeline_version_file_path)
pipeline_version = client.pipeline_uploads.upload_pipeline_version(pipeline_version_file,
name=pipeline_version_name,
pipelineid=pipeline.id)`
Here the sample-pipeline.yaml
is the same pipeline spec specified in the description above.
For new-pipeline.yaml
we just created a new version of the sample-pipeline.yaml
pipeline spec:
metadata.name
field to indicate a new version (visualize-metrics-v2).run-a-file-v2
, elyra/node-name: metrics-v2
, pipelines.kubeflow.org/task_display_name: metrics-v2
).pipelines.kubeflow.org/pipeline_spec
.elyra/pipeline-source
.On running the SDK script we had a pipeline created with two versions. The pipeline spec points to version 2, when we create a run the spec for the run still points to version 1 spec. That confirms that the UI renders the new version for the pipeline but run still uses the old version.
On further investigation, we suspect that the /apis/vibeta1/runs
API call might not be picking the latest pipeline version. The apiResourceReference block could be used here to pass the latest version. It would look something like:
"version": "latest-version-ID"
PFA the request payload image,
if you notice resource_references
- that's an array. Element 0 contains an object, and it specifies a type of PIPELINE_VERSION
and then a uuid. Fix would be to grab the correct uuid. This seems related.
cc: @gregsheremeta
Closing this issue, created https://github.com/opendatahub-io/odh-dashboard/issues/2014 on the ODH-dashboard repo to cover next steps for this issue.
Is there an existing issue for this?
Deploy type
ODH Dashboard UI
Version
RHODS 1.33.0
Environment
quay.io/mmurakam/workbenches:vscode-kfp-v0.1.2
(source)Current Behavior
I uploaded multiple versions of the same pipeline to Data Science Pipelines using the KFP SDK. When selecting the pipeline in the Pipelines tab of the RHODS dashboard, the latest version is displayed. However, when manually triggering a new run of this pipeline, an old version of the pipeline is executed instead of the current one.
Expected Behavior
When manually triggering a new run of a pipeline, I expect the latest registered pipeline version to be executed.
Steps To Reproduce
upload_pipeline_version
method of the KFP SDK'sClient
.visualize-metrics
.Workaround (if any)
None.
Anything else
Sample pipeline: