kubeflow / pipelines

Machine Learning Pipelines for Kubeflow
https://www.kubeflow.org/docs/components/pipelines/
Apache License 2.0
3.61k stars 1.63k forks source link

Sample test infra: inconsistent behavior of dynamically injected arguments for output and experiment_name #2148

Closed gaoning777 closed 5 years ago

gaoning777 commented 5 years ago

The current behavior is: The output argument is injected for both normal python sample and notebook sample when it is specified in the config yaml. The experiment_name is only injected for notebook samples and will be injected even though it is not specified in the config yaml.

Expected behavior: Both are injected only when they are specified in the config yaml. Since the assumption is that the notebook submits a job programmatically while the python samples do not, experiment_name arg will not be for notebook samples.

gaoning777 commented 5 years ago

@numerology any updates?

numerology commented 5 years ago

Made a PR, PTAL

numerology commented 5 years ago

FYI, @Ark-kun made PR #2292 that might help this

Ark-kun commented 5 years ago

https://github.com/kubeflow/pipelines/pull/2292 removes the need for injecting the experiment_name (and also makes it consistent between notebooks and python samples).

It might be possible to fix the output issue by using placeholders (e.g. kfp.dsl.RUN_ID_PLACEHOLDER) or digging into the workflow status.

gaoning777 commented 5 years ago

After the #2292, the behavior is: The output argument is injected for both normal python sample and notebook sample only when it is specified in the config yaml. The experiment_name is not injected at all. The SDK uses the 'default' namespace if not specified.