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

unexpected parameter name conversion by DSL #205

Closed
IronPan opened this issue Nov 11, 2018 · 8 comments
Closed

unexpected parameter name conversion by DSL #205

IronPan opened this issue Nov 11, 2018 · 8 comments

Comments

@IronPan
Copy link
Member

IronPan commented Nov 11, 2018

Here is snippet of the pipeline definition

@dsl.pipeline(
  name='training',
  description='Example training pipeline'
)
def foo(project, working_dir):
....

And when I submit a run I need to do

run = client.run_pipeline(exp.id, 'training', 'training.tar.gz',
                          params={'project': PROJECT, 'working-dir': WORKING_DIR})

Here working_dir is converted to working-dir which is somewhat unexpected. I have to look into the generated yaml to find out what it actual converted to.

@Ark-kun
Copy link
Contributor

Ark-kun commented Nov 12, 2018

Here is snippet of the pipeline definition

Do we really have a snippet like that? AFAIK, right now all pipeline parameters look like this: predict_mode: dsl.PipelineParam=dsl.PipelineParam(name='predict-mode', value='local')

I wonder what happens with the parameter names in https://github.com/kubeflow/pipelines/pull/110/files

I agree that this needs to be handled in a way that's easy for the user. Quite a good chunk of my python component support code deals with naming.

@IronPan
Copy link
Member Author

IronPan commented Nov 12, 2018

I think we already support raw parameter.
in https://github.com/kubeflow/pipelines/blob/master/samples/notebooks/KubeFlow%20Pipeline%20Using%20TFX%20OSS%20Components.ipynb

@dsl.pipeline(
  name='TFX Taxi Cab Classification Pipeline Example',
  description='Example pipeline that does classification with model analysis based on a public BigQuery dataset.'
)
def my_taxi_cab_classification(
    output,
    project,
    model,
    column_names=dsl.PipelineParam(......

@Ark-kun Ark-kun assigned Ark-kun and gaoning777 and unassigned qimingj Mar 20, 2019
@Ark-kun
Copy link
Contributor

Ark-kun commented Mar 20, 2019

I confirm that this issue still exists (invalid spec: spec.arguments.param-1.value is required during execution). @gaoning777 , can you look at the pipeline parameter sanitization? Argo now allows underscores in parameter names.

The actual regexp is [-a-zA-Z0-9_]+.

Update: Argo has not released the underscore fix yet =( argoproj/argo-workflows#1048

@gaoning777
Copy link
Contributor

The naming sanitization is necessary to convert the python names to argo compatible names.
The next argo release should support underscores and we do not need the underscore to dash conversion.

@gaoning777
Copy link
Contributor

@Ark-kun is argo supporting the underscore in 2.3, the current version pipeline deploys?

@gaoning777
Copy link
Contributor

@Ark-kun gently tap.

@Ark-kun
Copy link
Contributor

Ark-kun commented Jul 30, 2019

@Ark-kun is argo supporting the underscore in 2.3, the current version pipeline deploys?

/cc @gaoning777
Yes. We're deploying Argo 2.3 since June 1
kubeflow/kubeflow#3349 kubeflow/kubeflow#3374 https://github.com/kubeflow/kubeflow/commits/pipelines/kubeflow

Unfortunately, many of our customers probably have older versions. Their experience will be broken if they try to run pipelines with inputs/outputs containing underscores.
Do you think it's best to make the change right now or should we wait more, so that the users can upgrade?

@Ark-kun
Copy link
Contributor

Ark-kun commented Oct 19, 2019

Fixed by #466

@Ark-kun Ark-kun closed this as completed Oct 19, 2019
HumairAK pushed a commit to red-hat-data-services/data-science-pipelines that referenced this issue Mar 11, 2024
* update the project status

* kfp-tekton-diagram

* update the architecture diagram

* update arch diag
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

6 participants