Pipeline parameters UX proposal #2970
Replies: 1 comment 2 replies
-
The Elyra KFP DSL code generator produces output like the following, if the user defines one or more pipeline parameters, such as
Since the pipeline parameter names are used as a Python variables, they must meet these rules. While it would be possible to sanitize user-provided parameter names, Kubeflow Pipelines would only be aware of the sanitized name. When interacting with Kubeflow Pipelines outside of Elyra (e.g. using the Central Dashboard) the user would have to look/use the sanitized name, which might look very different. For example, a user-provided parameter name of |
Beta Was this translation helpful? Give feedback.
-
Motivation
Users are looking for the ability to customize pipeline node inputs without the need to edit the pipeline in the pipeline editor.
Example:
As of version 3.12 the user has to modify the pipeline file using the pipeline editor to accomplish the goal.
Pipeline parameters would enable us to provide the means to customize certain properties, which are evaluated at the time the pipeline is processed (exported/submitted for execution), which can happen outside the pipeline editor.
Example how pipeline parameters are exposed in the Kubeflow Central Dashboard:
Creating pipelines with parameters
Expose pipeline parameters in pipeline editor
pipeline parameters
).Define pipeline parameters
PARM_1
PROP1
is typednumber
, only compatible parameter can be assigned to that property.Runtime parameter definitions are persisted in the
.pipeline
file, e.g. as siblings ofpipeline_defaults
as shown in this mockup:Add 'pipeline parameter' as property value input option
pipeline parameter
.Assign pipeline parameter to property
If 'pipeline parameter' is selected as property input source, the user can choose an entry from the list of available type-compatible parameters.
The pipeline editor stores the association between the property and the parameter name in the
.pipeline
file, as shown in the last line of this mockup:Processing pipelines with parameters
When Elyra processes a pipeline today the following happens:
User invokes export or execute.
User chooses target runtime environment.
Pipeline is validated and then exported or executed.
The following applies only to runtime editors that support pipeline parameters.
The steps remain the same if a pipeline does not include any node properties that are configured to use pipeline parameters as input. If at least one pipeline parameter is assigned as an input, the process changes as follows:
User invokes export or execute.
User chooses target runtime environment.
User assigns a custom value to each referenced pipeline parameter. The default is rendered as placeholder and an explicit or implicit value must be assigned if the parameter was defined as
required
.Pipeline is validated and then exported or executed.
CLI
Runtime env tooling
Beta Was this translation helpful? Give feedback.
All reactions