[SDK] Add pod labels for telemetry purpose. (#3578)
* add telemetry pod labels * revert the id label * update compiler tests * update cli arg * bypass tfx * update docstring
This commit is contained in:
parent
b61944458a
commit
aa8da64b4c
|
@ -12,16 +12,31 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
from typing import Callable, Dict, Optional, Text
|
||||||
from ..dsl._container_op import BaseOp, ContainerOp
|
from ..dsl._container_op import BaseOp, ContainerOp
|
||||||
|
|
||||||
|
# Pod label indicating the SDK type from which the pipeline is
|
||||||
|
# generated. By default it's set to kfp.
|
||||||
|
_SDK_ENV_LABEL = 'pipelines.kubeflow.org/pipeline-sdk-type'
|
||||||
|
_SDK_ENV_DEFAULT = 'kfp'
|
||||||
|
|
||||||
|
|
||||||
|
def get_default_telemetry_labels() -> Dict[Text, Text]:
|
||||||
|
"""Returns the default pod labels for telemetry purpose."""
|
||||||
|
result = {
|
||||||
|
_SDK_ENV_LABEL: _SDK_ENV_DEFAULT,
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
def add_pod_env(op: BaseOp) -> BaseOp:
|
def add_pod_env(op: BaseOp) -> BaseOp:
|
||||||
"""Adds pod environment info to ContainerOp.
|
"""Adds pod environment info to ContainerOp.
|
||||||
"""
|
"""
|
||||||
if isinstance(op, ContainerOp) and op.pod_labels and 'add-pod-env' in op.pod_labels and op.pod_labels['add-pod-env'] == 'true':
|
if isinstance(op, ContainerOp) and op.pod_labels and op.pod_labels.get('add-pod-env', None) == 'true':
|
||||||
from kubernetes import client as k8s_client
|
from kubernetes import client as k8s_client
|
||||||
op.container.add_env_variable(
|
op.container.add_env_variable(
|
||||||
k8s_client.V1EnvVar(
|
k8s_client.V1EnvVar(
|
||||||
name='KFP_POD_NAME',
|
name='KFP_POD_NAME',
|
||||||
value_from=k8s_client.V1EnvVarSource(
|
value_from=k8s_client.V1EnvVarSource(
|
||||||
field_ref=k8s_client.V1ObjectFieldSelector(
|
field_ref=k8s_client.V1ObjectFieldSelector(
|
||||||
field_path='metadata.name'
|
field_path='metadata.name'
|
||||||
|
@ -30,7 +45,7 @@ def add_pod_env(op: BaseOp) -> BaseOp:
|
||||||
)
|
)
|
||||||
).add_env_variable(
|
).add_env_variable(
|
||||||
k8s_client.V1EnvVar(
|
k8s_client.V1EnvVar(
|
||||||
name='KFP_NAMESPACE',
|
name='KFP_NAMESPACE',
|
||||||
value_from=k8s_client.V1EnvVarSource(
|
value_from=k8s_client.V1EnvVarSource(
|
||||||
field_ref=k8s_client.V1ObjectFieldSelector(
|
field_ref=k8s_client.V1ObjectFieldSelector(
|
||||||
field_path='metadata.namespace'
|
field_path='metadata.namespace'
|
||||||
|
@ -38,4 +53,18 @@ def add_pod_env(op: BaseOp) -> BaseOp:
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
return op
|
return op
|
||||||
|
|
||||||
|
|
||||||
|
def add_pod_labels(labels: Optional[Dict[Text, Text]] = None) -> Callable:
|
||||||
|
"""Adds provided pod labels to each pod."""
|
||||||
|
|
||||||
|
def _add_pod_labels(task):
|
||||||
|
for k, v in labels.items():
|
||||||
|
# Only append but not update.
|
||||||
|
# This is needed to bypass TFX pipelines/components.
|
||||||
|
if k not in task.pod_labels:
|
||||||
|
task.add_pod_label(k, v)
|
||||||
|
return task
|
||||||
|
|
||||||
|
return _add_pod_labels
|
||||||
|
|
|
@ -27,7 +27,7 @@ from kfp.dsl import _for_loop
|
||||||
from .. import dsl
|
from .. import dsl
|
||||||
from ._k8s_helper import convert_k8s_obj_to_json, sanitize_k8s_name
|
from ._k8s_helper import convert_k8s_obj_to_json, sanitize_k8s_name
|
||||||
from ._op_to_template import _op_to_template
|
from ._op_to_template import _op_to_template
|
||||||
from ._default_transformers import add_pod_env
|
from ._default_transformers import add_pod_env, add_pod_labels, get_default_telemetry_labels
|
||||||
|
|
||||||
from ..components.structures import InputSpec
|
from ..components.structures import InputSpec
|
||||||
from ..components._yaml_utils import dump_yaml
|
from ..components._yaml_utils import dump_yaml
|
||||||
|
@ -759,7 +759,8 @@ class Compiler(object):
|
||||||
pipeline_description: Text=None,
|
pipeline_description: Text=None,
|
||||||
params_list: List[dsl.PipelineParam]=None,
|
params_list: List[dsl.PipelineParam]=None,
|
||||||
pipeline_conf: dsl.PipelineConf = None,
|
pipeline_conf: dsl.PipelineConf = None,
|
||||||
) -> Dict[Text, Any]:
|
allow_telemetry: bool = True,
|
||||||
|
) -> Dict[Text, Any]:
|
||||||
""" Internal implementation of create_workflow."""
|
""" Internal implementation of create_workflow."""
|
||||||
params_list = params_list or []
|
params_list = params_list or []
|
||||||
argspec = inspect.getfullargspec(pipeline_func)
|
argspec = inspect.getfullargspec(pipeline_func)
|
||||||
|
@ -821,6 +822,13 @@ class Compiler(object):
|
||||||
default=param.value) for param in params_list]
|
default=param.value) for param in params_list]
|
||||||
|
|
||||||
op_transformers = [add_pod_env]
|
op_transformers = [add_pod_env]
|
||||||
|
# By default adds telemetry instruments. Users can opt out toggling
|
||||||
|
# allow_telemetry.
|
||||||
|
# Also, TFX pipelines will be bypassed for pipeline compiled by tfx>0.21.4.
|
||||||
|
if allow_telemetry:
|
||||||
|
pod_labels = get_default_telemetry_labels()
|
||||||
|
op_transformers.append(add_pod_labels(pod_labels))
|
||||||
|
|
||||||
op_transformers.extend(pipeline_conf.op_transformers)
|
op_transformers.extend(pipeline_conf.op_transformers)
|
||||||
|
|
||||||
workflow = self._create_pipeline_workflow(
|
workflow = self._create_pipeline_workflow(
|
||||||
|
@ -879,7 +887,14 @@ class Compiler(object):
|
||||||
"""Compile the given pipeline function into workflow."""
|
"""Compile the given pipeline function into workflow."""
|
||||||
return self._create_workflow(pipeline_func=pipeline_func, pipeline_conf=pipeline_conf)
|
return self._create_workflow(pipeline_func=pipeline_func, pipeline_conf=pipeline_conf)
|
||||||
|
|
||||||
def compile(self, pipeline_func, package_path, type_check=True, pipeline_conf: dsl.PipelineConf = None):
|
def compile(
|
||||||
|
self,
|
||||||
|
pipeline_func,
|
||||||
|
package_path,
|
||||||
|
type_check=True,
|
||||||
|
pipeline_conf: dsl.PipelineConf = None,
|
||||||
|
allow_telemetry: bool = True,
|
||||||
|
):
|
||||||
"""Compile the given pipeline function into workflow yaml.
|
"""Compile the given pipeline function into workflow yaml.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
|
@ -887,6 +902,9 @@ class Compiler(object):
|
||||||
package_path: the output workflow tar.gz file path. for example, "~/a.tar.gz"
|
package_path: the output workflow tar.gz file path. for example, "~/a.tar.gz"
|
||||||
type_check: whether to enable the type check or not, default: False.
|
type_check: whether to enable the type check or not, default: False.
|
||||||
pipeline_conf: PipelineConf instance. Can specify op transforms, image pull secrets and other pipeline-level configuration options. Overrides any configuration that may be set by the pipeline.
|
pipeline_conf: PipelineConf instance. Can specify op transforms, image pull secrets and other pipeline-level configuration options. Overrides any configuration that may be set by the pipeline.
|
||||||
|
allow_telemetry: If set to true, two pod labels will be attached to k8s
|
||||||
|
pods spawned by this pipeline: 1) pipeline SDK style, 2) pipeline random
|
||||||
|
ID.
|
||||||
"""
|
"""
|
||||||
import kfp
|
import kfp
|
||||||
type_check_old_value = kfp.TYPE_CHECK
|
type_check_old_value = kfp.TYPE_CHECK
|
||||||
|
@ -895,7 +913,8 @@ class Compiler(object):
|
||||||
self._create_and_write_workflow(
|
self._create_and_write_workflow(
|
||||||
pipeline_func=pipeline_func,
|
pipeline_func=pipeline_func,
|
||||||
pipeline_conf=pipeline_conf,
|
pipeline_conf=pipeline_conf,
|
||||||
package_path=package_path)
|
package_path=package_path,
|
||||||
|
allow_telemetry=allow_telemetry)
|
||||||
finally:
|
finally:
|
||||||
kfp.TYPE_CHECK = type_check_old_value
|
kfp.TYPE_CHECK = type_check_old_value
|
||||||
|
|
||||||
|
@ -942,7 +961,8 @@ class Compiler(object):
|
||||||
pipeline_description: Text=None,
|
pipeline_description: Text=None,
|
||||||
params_list: List[dsl.PipelineParam]=None,
|
params_list: List[dsl.PipelineParam]=None,
|
||||||
pipeline_conf: dsl.PipelineConf=None,
|
pipeline_conf: dsl.PipelineConf=None,
|
||||||
package_path: Text=None
|
package_path: Text=None,
|
||||||
|
allow_telemetry: bool=True
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Compile the given pipeline function and dump it to specified file format."""
|
"""Compile the given pipeline function and dump it to specified file format."""
|
||||||
workflow = self._create_workflow(
|
workflow = self._create_workflow(
|
||||||
|
@ -950,7 +970,8 @@ class Compiler(object):
|
||||||
pipeline_name,
|
pipeline_name,
|
||||||
pipeline_description,
|
pipeline_description,
|
||||||
params_list,
|
params_list,
|
||||||
pipeline_conf)
|
pipeline_conf,
|
||||||
|
allow_telemetry)
|
||||||
self._write_workflow(workflow, package_path)
|
self._write_workflow(workflow, package_path)
|
||||||
_validate_workflow(workflow)
|
_validate_workflow(workflow)
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,16 @@ import sys
|
||||||
import tempfile
|
import tempfile
|
||||||
from deprecated.sphinx import deprecated
|
from deprecated.sphinx import deprecated
|
||||||
|
|
||||||
|
def _str2bool(v):
|
||||||
|
if isinstance(v, bool):
|
||||||
|
return v
|
||||||
|
if v.lower() in ('yes', 'true', 't', 'y', '1'):
|
||||||
|
return True
|
||||||
|
elif v.lower() in ('no', 'false', 'f', 'n', '0'):
|
||||||
|
return False
|
||||||
|
else:
|
||||||
|
raise argparse.ArgumentTypeError('Boolean value expected.')
|
||||||
|
|
||||||
|
|
||||||
def parse_arguments():
|
def parse_arguments():
|
||||||
"""Parse command line arguments."""
|
"""Parse command line arguments."""
|
||||||
|
@ -47,12 +57,16 @@ def parse_arguments():
|
||||||
parser.add_argument('--disable-type-check',
|
parser.add_argument('--disable-type-check',
|
||||||
action='store_true',
|
action='store_true',
|
||||||
help='disable the type check, default is enabled.')
|
help='disable the type check, default is enabled.')
|
||||||
|
parser.add_argument('--disable-telemetry',
|
||||||
|
action='store_true',
|
||||||
|
help='disable adding telemetry labels, default is enabled.')
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
return args
|
return args
|
||||||
|
|
||||||
|
|
||||||
def _compile_pipeline_function(pipeline_funcs, function_name, output_path, type_check):
|
def _compile_pipeline_function(
|
||||||
|
pipeline_funcs, function_name, output_path, type_check, allow_telemetry):
|
||||||
if len(pipeline_funcs) == 0:
|
if len(pipeline_funcs) == 0:
|
||||||
raise ValueError('A function with @dsl.pipeline decorator is required in the py file.')
|
raise ValueError('A function with @dsl.pipeline decorator is required in the py file.')
|
||||||
|
|
||||||
|
@ -68,7 +82,8 @@ def _compile_pipeline_function(pipeline_funcs, function_name, output_path, type_
|
||||||
else:
|
else:
|
||||||
pipeline_func = pipeline_funcs[0]
|
pipeline_func = pipeline_funcs[0]
|
||||||
|
|
||||||
kfp.compiler.Compiler().compile(pipeline_func, output_path, type_check)
|
kfp.compiler.Compiler().compile(
|
||||||
|
pipeline_func, output_path, type_check, allow_telemetry=allow_telemetry)
|
||||||
|
|
||||||
|
|
||||||
class PipelineCollectorContext():
|
class PipelineCollectorContext():
|
||||||
|
@ -90,26 +105,31 @@ class PipelineCollectorContext():
|
||||||
Please switch to compiling pipeline files or functions.
|
Please switch to compiling pipeline files or functions.
|
||||||
If you use this feature please create an issue in https://github.com/kubeflow/pipelines/issues .'''
|
If you use this feature please create an issue in https://github.com/kubeflow/pipelines/issues .'''
|
||||||
)
|
)
|
||||||
def compile_package(package_path, namespace, function_name, output_path, type_check):
|
def compile_package(
|
||||||
|
package_path, namespace, function_name, output_path, type_check, allow_telemetry):
|
||||||
tmpdir = tempfile.mkdtemp()
|
tmpdir = tempfile.mkdtemp()
|
||||||
sys.path.insert(0, tmpdir)
|
sys.path.insert(0, tmpdir)
|
||||||
try:
|
try:
|
||||||
subprocess.check_call(['python3', '-m', 'pip', 'install', package_path, '-t', tmpdir])
|
subprocess.check_call(['python3', '-m', 'pip', 'install', package_path, '-t', tmpdir])
|
||||||
with PipelineCollectorContext() as pipeline_funcs:
|
with PipelineCollectorContext() as pipeline_funcs:
|
||||||
__import__(namespace)
|
__import__(namespace)
|
||||||
_compile_pipeline_function(pipeline_funcs, function_name, output_path, type_check)
|
_compile_pipeline_function(
|
||||||
|
pipeline_funcs, function_name, output_path, type_check,
|
||||||
|
allow_telemetry=allow_telemetry)
|
||||||
finally:
|
finally:
|
||||||
del sys.path[0]
|
del sys.path[0]
|
||||||
shutil.rmtree(tmpdir)
|
shutil.rmtree(tmpdir)
|
||||||
|
|
||||||
|
|
||||||
def compile_pyfile(pyfile, function_name, output_path, type_check):
|
def compile_pyfile(pyfile, function_name, output_path, type_check, allow_telemetry):
|
||||||
sys.path.insert(0, os.path.dirname(pyfile))
|
sys.path.insert(0, os.path.dirname(pyfile))
|
||||||
try:
|
try:
|
||||||
filename = os.path.basename(pyfile)
|
filename = os.path.basename(pyfile)
|
||||||
with PipelineCollectorContext() as pipeline_funcs:
|
with PipelineCollectorContext() as pipeline_funcs:
|
||||||
__import__(os.path.splitext(filename)[0])
|
__import__(os.path.splitext(filename)[0])
|
||||||
_compile_pipeline_function(pipeline_funcs, function_name, output_path, type_check)
|
_compile_pipeline_function(
|
||||||
|
pipeline_funcs, function_name, output_path, type_check,
|
||||||
|
allow_telemetry=allow_telemetry)
|
||||||
finally:
|
finally:
|
||||||
del sys.path[0]
|
del sys.path[0]
|
||||||
|
|
||||||
|
@ -120,9 +140,22 @@ def main():
|
||||||
(args.py is not None and args.package is not None)):
|
(args.py is not None and args.package is not None)):
|
||||||
raise ValueError('Either --py or --package is needed but not both.')
|
raise ValueError('Either --py or --package is needed but not both.')
|
||||||
if args.py:
|
if args.py:
|
||||||
compile_pyfile(args.py, args.function, args.output, not args.disable_type_check)
|
compile_pyfile(
|
||||||
|
args.py,
|
||||||
|
args.function,
|
||||||
|
args.output,
|
||||||
|
not args.disable_type_check,
|
||||||
|
not args.disable_telemetry
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
if args.namespace is None:
|
if args.namespace is None:
|
||||||
raise ValueError('--namespace is required for compiling packages.')
|
raise ValueError('--namespace is required for compiling packages.')
|
||||||
compile_package(args.package, args.namespace, args.function, args.output, not args.disable_type_check)
|
compile_package(
|
||||||
|
args.package,
|
||||||
|
args.namespace,
|
||||||
|
args.function,
|
||||||
|
args.output,
|
||||||
|
not args.disable_type_check,
|
||||||
|
not args.disable_telemetry
|
||||||
|
)
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,7 @@ spec:
|
||||||
image: library/bash
|
image: library/bash
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
add-pod-env: 'true'
|
add-pod-env: 'true'
|
||||||
name: echo
|
name: echo
|
||||||
- dag:
|
- dag:
|
||||||
|
|
|
@ -57,6 +57,7 @@ spec:
|
||||||
- -c
|
- -c
|
||||||
image: python:3.5-jessie
|
image: python:3.5-jessie
|
||||||
name: exiting
|
name: exiting
|
||||||
|
metadata: {'labels': {'pipelines.kubeflow.org/pipeline-sdk-type': 'kfp'}}
|
||||||
- container:
|
- container:
|
||||||
args:
|
args:
|
||||||
- python -c "from collections import Counter; words = Counter('{{inputs.parameters.message}}'.split());
|
- python -c "from collections import Counter; words = Counter('{{inputs.parameters.message}}'.split());
|
||||||
|
@ -72,6 +73,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: message
|
- name: message
|
||||||
name: get-frequent
|
name: get-frequent
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: get-frequent-word
|
- name: get-frequent-word
|
||||||
|
@ -98,6 +102,8 @@ spec:
|
||||||
- name: get-frequent-word
|
- name: get-frequent-word
|
||||||
- name: outputpath
|
- name: outputpath
|
||||||
metadata:
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
annotations:
|
annotations:
|
||||||
tf-version.cloud-tpus.google.com: "1.12"
|
tf-version.cloud-tpus.google.com: "1.12"
|
||||||
name: save
|
name: save
|
||||||
|
|
|
@ -58,6 +58,9 @@ spec:
|
||||||
- -c
|
- -c
|
||||||
image: python:3.5-jessie
|
image: python:3.5-jessie
|
||||||
name: exiting
|
name: exiting
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- container:
|
- container:
|
||||||
args:
|
args:
|
||||||
- python -c "from collections import Counter; words = Counter('{{inputs.parameters.message}}'.split());
|
- python -c "from collections import Counter; words = Counter('{{inputs.parameters.message}}'.split());
|
||||||
|
@ -73,6 +76,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: message
|
- name: message
|
||||||
name: get-frequent
|
name: get-frequent
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: get-frequent-word
|
- name: get-frequent-word
|
||||||
|
@ -99,6 +105,8 @@ spec:
|
||||||
- name: get-frequent-word
|
- name: get-frequent-word
|
||||||
- name: outputpath
|
- name: outputpath
|
||||||
metadata:
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
annotations:
|
annotations:
|
||||||
tf-version.cloud-tpus.google.com: "1.12"
|
tf-version.cloud-tpus.google.com: "1.12"
|
||||||
name: save
|
name: save
|
||||||
|
|
|
@ -75,6 +75,9 @@ spec:
|
||||||
- -c
|
- -c
|
||||||
image: python:alpine3.6
|
image: python:alpine3.6
|
||||||
name: flip
|
name: flip
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: flip-output
|
- name: flip-output
|
||||||
|
@ -92,6 +95,9 @@ spec:
|
||||||
- -c
|
- -c
|
||||||
image: python:alpine3.6
|
image: python:alpine3.6
|
||||||
name: flip-again
|
name: flip-again
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: flip-again-output
|
- name: flip-again-output
|
||||||
|
@ -129,6 +135,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: flip-again-output
|
- name: flip-again-output
|
||||||
name: print1
|
name: print1
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- container:
|
- container:
|
||||||
command:
|
command:
|
||||||
- echo
|
- echo
|
||||||
|
@ -138,3 +147,6 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: flip-again-output
|
- name: flip-again-output
|
||||||
name: print2
|
name: print2
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
|
|
|
@ -36,6 +36,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: url
|
- name: url
|
||||||
name: download
|
name: download
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: download-downloaded
|
- name: download-downloaded
|
||||||
|
@ -87,6 +90,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: download-downloaded
|
- name: download-downloaded
|
||||||
name: get-frequent
|
name: get-frequent
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: get-frequent-word
|
- name: get-frequent-word
|
||||||
|
@ -108,3 +114,6 @@ spec:
|
||||||
- name: get-frequent-word
|
- name: get-frequent-word
|
||||||
- name: outputpath
|
- name: outputpath
|
||||||
name: save
|
name: save
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
|
|
|
@ -56,6 +56,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: url
|
- name: url
|
||||||
name: download
|
name: download
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: download-downloaded
|
- name: download-downloaded
|
||||||
|
@ -75,3 +78,6 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: download-downloaded
|
- name: download-downloaded
|
||||||
name: echo
|
name: echo
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
|
|
|
@ -25,6 +25,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: message
|
- name: message
|
||||||
name: get-frequent
|
name: get-frequent
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: get-frequent-word
|
- name: get-frequent-word
|
||||||
|
|
|
@ -22,6 +22,9 @@ spec:
|
||||||
raw:
|
raw:
|
||||||
data: Constant artifact value
|
data: Constant artifact value
|
||||||
name: component-with-inline-input-artifact
|
name: component-with-inline-input-artifact
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- container:
|
- container:
|
||||||
command:
|
command:
|
||||||
- cat
|
- cat
|
||||||
|
@ -34,6 +37,9 @@ spec:
|
||||||
raw:
|
raw:
|
||||||
data: Constant artifact value
|
data: Constant artifact value
|
||||||
name: component-with-input-artifact
|
name: component-with-input-artifact
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- container:
|
- container:
|
||||||
command:
|
command:
|
||||||
- cat
|
- cat
|
||||||
|
@ -46,6 +52,9 @@ spec:
|
||||||
raw:
|
raw:
|
||||||
data: hard-coded artifact value
|
data: hard-coded artifact value
|
||||||
name: component-with-input-artifact-2
|
name: component-with-input-artifact-2
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- container:
|
- container:
|
||||||
command:
|
command:
|
||||||
- cat
|
- cat
|
||||||
|
@ -58,6 +67,9 @@ spec:
|
||||||
raw:
|
raw:
|
||||||
data: Text from a file with hard-coded artifact value
|
data: Text from a file with hard-coded artifact value
|
||||||
name: component-with-input-artifact-3
|
name: component-with-input-artifact-3
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- dag:
|
- dag:
|
||||||
tasks:
|
tasks:
|
||||||
- name: component-with-inline-input-artifact
|
- name: component-with-inline-input-artifact
|
||||||
|
|
|
@ -44,6 +44,8 @@
|
||||||
- "name": |-
|
- "name": |-
|
||||||
produce-list-data_list-loop-item
|
produce-list-data_list-loop-item
|
||||||
"metadata":
|
"metadata":
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
"annotations":
|
"annotations":
|
||||||
"pipelines.kubeflow.org/component_spec": |-
|
"pipelines.kubeflow.org/component_spec": |-
|
||||||
{"inputs": [{"name": "data"}], "name": "Consume data"}
|
{"inputs": [{"name": "data"}], "name": "Consume data"}
|
||||||
|
@ -104,6 +106,8 @@
|
||||||
"image": |-
|
"image": |-
|
||||||
busybox
|
busybox
|
||||||
"metadata":
|
"metadata":
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
"annotations":
|
"annotations":
|
||||||
"pipelines.kubeflow.org/component_spec": |-
|
"pipelines.kubeflow.org/component_spec": |-
|
||||||
{"name": "Produce list", "outputs": [{"name": "data_list"}]}
|
{"name": "Produce list", "outputs": [{"name": "data_list"}]}
|
||||||
|
|
|
@ -48,7 +48,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
-
|
-
|
||||||
name: produce-list-of-strings-output
|
name: produce-list-of-strings-output
|
||||||
metadata:
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
annotations:
|
annotations:
|
||||||
pipelines.kubeflow.org/component_spec: "{\"inputs\": [{\"name\": \"param1\"}], \"name\": \"Consume\"}"
|
pipelines.kubeflow.org/component_spec: "{\"inputs\": [{\"name\": \"param1\"}], \"name\": \"Consume\"}"
|
||||||
name: consume
|
name: consume
|
||||||
|
@ -90,7 +92,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
-
|
-
|
||||||
name: produce-list-of-strings-output-loop-item
|
name: produce-list-of-strings-output-loop-item
|
||||||
metadata:
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
annotations:
|
annotations:
|
||||||
pipelines.kubeflow.org/component_spec: "{\"inputs\": [{\"name\": \"param1\"}], \"name\": \"Consume\"}"
|
pipelines.kubeflow.org/component_spec: "{\"inputs\": [{\"name\": \"param1\"}], \"name\": \"Consume\"}"
|
||||||
name: consume-2
|
name: consume-2
|
||||||
|
@ -132,7 +136,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
-
|
-
|
||||||
name: produce-str-output
|
name: produce-str-output
|
||||||
metadata:
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
annotations:
|
annotations:
|
||||||
pipelines.kubeflow.org/component_spec: "{\"inputs\": [{\"name\": \"param1\"}], \"name\": \"Consume\"}"
|
pipelines.kubeflow.org/component_spec: "{\"inputs\": [{\"name\": \"param1\"}], \"name\": \"Consume\"}"
|
||||||
name: consume-3
|
name: consume-3
|
||||||
|
@ -174,7 +180,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
-
|
-
|
||||||
name: produce-list-of-ints-output
|
name: produce-list-of-ints-output
|
||||||
metadata:
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
annotations:
|
annotations:
|
||||||
pipelines.kubeflow.org/component_spec: "{\"inputs\": [{\"name\": \"param1\"}], \"name\": \"Consume\"}"
|
pipelines.kubeflow.org/component_spec: "{\"inputs\": [{\"name\": \"param1\"}], \"name\": \"Consume\"}"
|
||||||
name: consume-4
|
name: consume-4
|
||||||
|
@ -216,7 +224,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
-
|
-
|
||||||
name: produce-list-of-ints-output-loop-item
|
name: produce-list-of-ints-output-loop-item
|
||||||
metadata:
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
annotations:
|
annotations:
|
||||||
pipelines.kubeflow.org/component_spec: "{\"inputs\": [{\"name\": \"param1\"}], \"name\": \"Consume\"}"
|
pipelines.kubeflow.org/component_spec: "{\"inputs\": [{\"name\": \"param1\"}], \"name\": \"Consume\"}"
|
||||||
name: consume-5
|
name: consume-5
|
||||||
|
@ -258,7 +268,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
-
|
-
|
||||||
name: produce-list-of-dicts-output
|
name: produce-list-of-dicts-output
|
||||||
metadata:
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
annotations:
|
annotations:
|
||||||
pipelines.kubeflow.org/component_spec: "{\"inputs\": [{\"name\": \"param1\"}], \"name\": \"Consume\"}"
|
pipelines.kubeflow.org/component_spec: "{\"inputs\": [{\"name\": \"param1\"}], \"name\": \"Consume\"}"
|
||||||
name: consume-6
|
name: consume-6
|
||||||
|
@ -300,7 +312,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
-
|
-
|
||||||
name: produce-list-of-dicts-output-loop-item-subvar-aaa
|
name: produce-list-of-dicts-output-loop-item-subvar-aaa
|
||||||
metadata:
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
annotations:
|
annotations:
|
||||||
pipelines.kubeflow.org/component_spec: "{\"inputs\": [{\"name\": \"param1\"}], \"name\": \"Consume\"}"
|
pipelines.kubeflow.org/component_spec: "{\"inputs\": [{\"name\": \"param1\"}], \"name\": \"Consume\"}"
|
||||||
name: consume-7
|
name: consume-7
|
||||||
|
@ -502,7 +516,9 @@ spec:
|
||||||
with open(output_file, 'w') as f:
|
with open(output_file, 'w') as f:
|
||||||
f.write(_output_serializers[idx](_outputs[idx]))
|
f.write(_output_serializers[idx](_outputs[idx]))
|
||||||
image: "tensorflow/tensorflow:1.13.2-py3"
|
image: "tensorflow/tensorflow:1.13.2-py3"
|
||||||
metadata:
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
annotations:
|
annotations:
|
||||||
pipelines.kubeflow.org/component_spec: "{\"name\": \"Produce list of dicts\", \"outputs\": [{\"name\": \"Output\", \"type\": \"JsonArray\"}]}"
|
pipelines.kubeflow.org/component_spec: "{\"name\": \"Produce list of dicts\", \"outputs\": [{\"name\": \"Output\", \"type\": \"JsonArray\"}]}"
|
||||||
name: produce-list-of-dicts
|
name: produce-list-of-dicts
|
||||||
|
@ -564,7 +580,9 @@ spec:
|
||||||
with open(output_file, 'w') as f:
|
with open(output_file, 'w') as f:
|
||||||
f.write(_output_serializers[idx](_outputs[idx]))
|
f.write(_output_serializers[idx](_outputs[idx]))
|
||||||
image: "tensorflow/tensorflow:1.13.2-py3"
|
image: "tensorflow/tensorflow:1.13.2-py3"
|
||||||
metadata:
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
annotations:
|
annotations:
|
||||||
pipelines.kubeflow.org/component_spec: "{\"name\": \"Produce list of ints\", \"outputs\": [{\"name\": \"Output\", \"type\": \"JsonArray\"}]}"
|
pipelines.kubeflow.org/component_spec: "{\"name\": \"Produce list of ints\", \"outputs\": [{\"name\": \"Output\", \"type\": \"JsonArray\"}]}"
|
||||||
name: produce-list-of-ints
|
name: produce-list-of-ints
|
||||||
|
@ -626,7 +644,9 @@ spec:
|
||||||
with open(output_file, 'w') as f:
|
with open(output_file, 'w') as f:
|
||||||
f.write(_output_serializers[idx](_outputs[idx]))
|
f.write(_output_serializers[idx](_outputs[idx]))
|
||||||
image: "tensorflow/tensorflow:1.13.2-py3"
|
image: "tensorflow/tensorflow:1.13.2-py3"
|
||||||
metadata:
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
annotations:
|
annotations:
|
||||||
pipelines.kubeflow.org/component_spec: "{\"name\": \"Produce list of strings\", \"outputs\": [{\"name\": \"Output\", \"type\": \"JsonArray\"}]}"
|
pipelines.kubeflow.org/component_spec: "{\"name\": \"Produce list of strings\", \"outputs\": [{\"name\": \"Output\", \"type\": \"JsonArray\"}]}"
|
||||||
name: produce-list-of-strings
|
name: produce-list-of-strings
|
||||||
|
@ -682,7 +702,9 @@ spec:
|
||||||
with open(output_file, 'w') as f:
|
with open(output_file, 'w') as f:
|
||||||
f.write(_output_serializers[idx](_outputs[idx]))
|
f.write(_output_serializers[idx](_outputs[idx]))
|
||||||
image: "tensorflow/tensorflow:1.13.2-py3"
|
image: "tensorflow/tensorflow:1.13.2-py3"
|
||||||
metadata:
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
annotations:
|
annotations:
|
||||||
pipelines.kubeflow.org/component_spec: "{\"name\": \"Produce str\", \"outputs\": [{\"name\": \"Output\", \"type\": \"String\"}]}"
|
pipelines.kubeflow.org/component_spec: "{\"name\": \"Produce str\", \"outputs\": [{\"name\": \"Output\", \"type\": \"String\"}]}"
|
||||||
name: produce-str
|
name: produce-str
|
||||||
|
|
|
@ -21,6 +21,7 @@ spec:
|
||||||
- name: param
|
- name: param
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
param: '{{inputs.parameters.param}}'
|
param: '{{inputs.parameters.param}}'
|
||||||
name: cop
|
name: cop
|
||||||
- dag:
|
- dag:
|
||||||
|
|
|
@ -23,11 +23,17 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-volume-name
|
- name: create-volume-name
|
||||||
name: cop
|
name: cop
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
volumes:
|
volumes:
|
||||||
- name: create-volume
|
- name: create-volume
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
claimName: '{{inputs.parameters.create-volume-name}}'
|
claimName: '{{inputs.parameters.create-volume-name}}'
|
||||||
- name: create-volume
|
- name: create-volume
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-volume-manifest
|
- name: create-volume-manifest
|
||||||
|
|
|
@ -29,6 +29,9 @@ spec:
|
||||||
value: '10'
|
value: '10'
|
||||||
templates:
|
templates:
|
||||||
- name: download
|
- name: download
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
inputs:
|
inputs:
|
||||||
parameters:
|
parameters:
|
||||||
- name: sleep_ms
|
- name: sleep_ms
|
||||||
|
@ -54,6 +57,9 @@ spec:
|
||||||
args:
|
args:
|
||||||
- -text="hello world"
|
- -text="hello world"
|
||||||
- name: echo
|
- name: echo
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
inputs:
|
inputs:
|
||||||
parameters:
|
parameters:
|
||||||
- name: download-downloaded
|
- name: download-downloaded
|
||||||
|
|
|
@ -32,6 +32,9 @@ spec:
|
||||||
limits:
|
limits:
|
||||||
nvidia.com/gpu: 1
|
nvidia.com/gpu: 1
|
||||||
name: flip
|
name: flip
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: flip-output
|
- name: flip-output
|
||||||
|
|
|
@ -32,6 +32,9 @@ spec:
|
||||||
- -c
|
- -c
|
||||||
image: python:alpine3.6
|
image: python:alpine3.6
|
||||||
name: flip
|
name: flip
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: flip-output
|
- name: flip-output
|
||||||
|
@ -49,6 +52,9 @@ spec:
|
||||||
- -c
|
- -c
|
||||||
image: python:alpine3.6
|
image: python:alpine3.6
|
||||||
name: flip-2
|
name: flip-2
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: flip-2-output
|
- name: flip-2-output
|
||||||
|
@ -62,6 +68,9 @@ spec:
|
||||||
- -c
|
- -c
|
||||||
image: python:alpine3.6
|
image: python:alpine3.6
|
||||||
name: flip-3
|
name: flip-3
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: flip-3-output
|
- name: flip-3-output
|
||||||
|
@ -129,6 +138,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: flip-output
|
- name: flip-output
|
||||||
name: print
|
name: print
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- container:
|
- container:
|
||||||
command:
|
command:
|
||||||
- echo
|
- echo
|
||||||
|
@ -138,3 +150,6 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: flip-output
|
- name: flip-output
|
||||||
name: print-2
|
name: print-2
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
|
|
|
@ -46,6 +46,9 @@ spec:
|
||||||
- -c
|
- -c
|
||||||
image: python:alpine3.6
|
image: python:alpine3.6
|
||||||
name: flip
|
name: flip
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: flip-output
|
- name: flip-output
|
||||||
|
@ -63,6 +66,9 @@ spec:
|
||||||
- -c
|
- -c
|
||||||
image: python:alpine3.6
|
image: python:alpine3.6
|
||||||
name: flip-2
|
name: flip-2
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: flip-2-output
|
- name: flip-2-output
|
||||||
|
@ -76,6 +82,9 @@ spec:
|
||||||
- -c
|
- -c
|
||||||
image: python:alpine3.6
|
image: python:alpine3.6
|
||||||
name: flip-3
|
name: flip-3
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: flip-3-output
|
- name: flip-3-output
|
||||||
|
@ -131,6 +140,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: flip-output
|
- name: flip-output
|
||||||
name: print
|
name: print
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- container:
|
- container:
|
||||||
command:
|
command:
|
||||||
- echo
|
- echo
|
||||||
|
@ -140,3 +152,6 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: flip-output
|
- name: flip-output
|
||||||
name: print-2
|
name: print-2
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
|
|
|
@ -27,6 +27,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-my-secret-name
|
- name: create-my-secret-name
|
||||||
name: cop
|
name: cop
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
volumes:
|
volumes:
|
||||||
- name: my-secret
|
- name: my-secret
|
||||||
secret:
|
secret:
|
||||||
|
@ -36,6 +39,9 @@ spec:
|
||||||
- name: password
|
- name: password
|
||||||
- name: username
|
- name: username
|
||||||
name: create-my-secret
|
name: create-my-secret
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-my-secret-manifest
|
- name: create-my-secret-manifest
|
||||||
|
|
|
@ -43,7 +43,13 @@ spec:
|
||||||
command:
|
command:
|
||||||
- sh
|
- sh
|
||||||
- "-c"
|
- "-c"
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- name: echo
|
- name: echo
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
inputs:
|
inputs:
|
||||||
parameters:
|
parameters:
|
||||||
- name: download-downloaded
|
- name: download-downloaded
|
||||||
|
|
|
@ -30,6 +30,9 @@ spec:
|
||||||
- -c
|
- -c
|
||||||
image: python:alpine3.6
|
image: python:alpine3.6
|
||||||
name: random-failure
|
name: random-failure
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- container:
|
- container:
|
||||||
args:
|
args:
|
||||||
- import random; import sys; exit_code = random.choice([0,1]); print(exit_code);
|
- import random; import sys; exit_code = random.choice([0,1]); print(exit_code);
|
||||||
|
@ -39,3 +42,6 @@ spec:
|
||||||
- -c
|
- -c
|
||||||
image: python:alpine3.6
|
image: python:alpine3.6
|
||||||
name: random-failure-2
|
name: random-failure-2
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
|
|
|
@ -40,6 +40,9 @@ spec:
|
||||||
- mountPath: /secret/gcp-credentials
|
- mountPath: /secret/gcp-credentials
|
||||||
name: gcp-credentials
|
name: gcp-credentials
|
||||||
name: download
|
name: download
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: download-downloaded
|
- name: download-downloaded
|
||||||
|
@ -63,6 +66,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: download-downloaded
|
- name: download-downloaded
|
||||||
name: echo
|
name: echo
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- dag:
|
- dag:
|
||||||
tasks:
|
tasks:
|
||||||
- name: download
|
- name: download
|
||||||
|
|
|
@ -16,6 +16,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-volume-1-name
|
- name: create-volume-1-name
|
||||||
name: create-snapshot-1
|
name: create-snapshot-1
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-snapshot-1-manifest
|
- name: create-snapshot-1-manifest
|
||||||
|
@ -37,6 +40,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-volume-2-name
|
- name: create-volume-2-name
|
||||||
name: create-snapshot-2
|
name: create-snapshot-2
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-snapshot-2-manifest
|
- name: create-snapshot-2-manifest
|
||||||
|
@ -58,6 +64,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: rok_url
|
- name: rok_url
|
||||||
name: create-volume-1
|
name: create-volume-1
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-volume-1-manifest
|
- name: create-volume-1-manifest
|
||||||
|
@ -80,6 +89,9 @@ spec:
|
||||||
- name: create-snapshot-1-name
|
- name: create-snapshot-1-name
|
||||||
- name: create-snapshot-1-size
|
- name: create-snapshot-1-size
|
||||||
name: create-volume-2
|
name: create-volume-2
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-volume-2-manifest
|
- name: create-volume-2-manifest
|
||||||
|
@ -102,6 +114,9 @@ spec:
|
||||||
- name: create-snapshot-2-name
|
- name: create-snapshot-2-name
|
||||||
- name: create-snapshot-2-size
|
- name: create-snapshot-2-size
|
||||||
name: create-volume-3
|
name: create-volume-3
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-volume-3-manifest
|
- name: create-volume-3-manifest
|
||||||
|
@ -133,6 +148,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-volume-1-name
|
- name: create-volume-1-name
|
||||||
name: step1-concat
|
name: step1-concat
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
volumes:
|
volumes:
|
||||||
- name: create-volume-1
|
- name: create-volume-1
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
|
@ -150,6 +168,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-volume-2-name
|
- name: create-volume-2-name
|
||||||
name: step2-gunzip
|
name: step2-gunzip
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
volumes:
|
volumes:
|
||||||
- name: create-volume-2
|
- name: create-volume-2
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
|
@ -166,6 +187,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-volume-3-name
|
- name: create-volume-3-name
|
||||||
name: step3-output
|
name: step3-output
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
volumes:
|
volumes:
|
||||||
- name: create-volume-3
|
- name: create-volume-3
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
|
|
|
@ -13,6 +13,9 @@ spec:
|
||||||
serviceAccountName: pipeline-runner
|
serviceAccountName: pipeline-runner
|
||||||
templates:
|
templates:
|
||||||
- name: create-volume
|
- name: create-volume
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-volume-manifest
|
- name: create-volume-manifest
|
||||||
|
@ -44,6 +47,9 @@ spec:
|
||||||
- name: create-volume-name
|
- name: create-volume-name
|
||||||
- name: url
|
- name: url
|
||||||
name: step1-ingest
|
name: step1-ingest
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
volumes:
|
volumes:
|
||||||
- name: create-volume
|
- name: create-volume
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
|
@ -52,6 +58,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-volume-name
|
- name: create-volume-name
|
||||||
name: step1-snap
|
name: step1-snap
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
parameters:
|
parameters:
|
||||||
- name: step1-snap-manifest
|
- name: step1-snap-manifest
|
||||||
|
@ -83,6 +92,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-volume-name
|
- name: create-volume-name
|
||||||
name: step2-gunzip
|
name: step2-gunzip
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
volumes:
|
volumes:
|
||||||
- name: create-volume
|
- name: create-volume
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
|
@ -91,6 +103,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-volume-name
|
- name: create-volume-name
|
||||||
name: step2-snap
|
name: step2-snap
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
parameters:
|
parameters:
|
||||||
- name: step2-snap-manifest
|
- name: step2-snap-manifest
|
||||||
|
@ -122,6 +137,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-volume-name
|
- name: create-volume-name
|
||||||
name: step3-copy
|
name: step3-copy
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
volumes:
|
volumes:
|
||||||
- name: create-volume
|
- name: create-volume
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
|
@ -130,6 +148,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-volume-name
|
- name: create-volume-name
|
||||||
name: step3-snap
|
name: step3-snap
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
parameters:
|
parameters:
|
||||||
- name: step3-snap-manifest
|
- name: step3-snap-manifest
|
||||||
|
@ -160,6 +181,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-volume-name
|
- name: create-volume-name
|
||||||
name: step4-output
|
name: step4-output
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
volumes:
|
volumes:
|
||||||
- name: create-volume
|
- name: create-volume
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
|
|
|
@ -26,6 +26,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-pvc-name
|
- name: create-pvc-name
|
||||||
name: cop
|
name: cop
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
volumes:
|
volumes:
|
||||||
- name: create-pvc
|
- name: create-pvc
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
|
@ -34,6 +37,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: size
|
- name: size
|
||||||
name: create-pvc
|
name: create-pvc
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-pvc-manifest
|
- name: create-pvc-manifest
|
||||||
|
|
|
@ -12,6 +12,9 @@ spec:
|
||||||
serviceAccountName: pipeline-runner
|
serviceAccountName: pipeline-runner
|
||||||
templates:
|
templates:
|
||||||
- name: create-pvc
|
- name: create-pvc
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-pvc-manifest
|
- name: create-pvc-manifest
|
||||||
|
@ -42,6 +45,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-pvc-name
|
- name: create-pvc-name
|
||||||
name: step1
|
name: step1
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
volumes:
|
volumes:
|
||||||
- name: create-pvc
|
- name: create-pvc
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
|
@ -60,6 +66,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-pvc-name
|
- name: create-pvc-name
|
||||||
name: step2
|
name: step2
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
volumes:
|
volumes:
|
||||||
- name: create-pvc
|
- name: create-pvc
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
|
@ -78,6 +87,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-pvc-name
|
- name: create-pvc-name
|
||||||
name: step3
|
name: step3
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
volumes:
|
volumes:
|
||||||
- name: create-pvc
|
- name: create-pvc
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
|
|
|
@ -12,6 +12,9 @@ spec:
|
||||||
serviceAccountName: pipeline-runner
|
serviceAccountName: pipeline-runner
|
||||||
templates:
|
templates:
|
||||||
- name: create-pvc
|
- name: create-pvc
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-pvc-manifest
|
- name: create-pvc-manifest
|
||||||
|
@ -42,6 +45,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-pvc-name
|
- name: create-pvc-name
|
||||||
name: step1
|
name: step1
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
volumes:
|
volumes:
|
||||||
- name: create-pvc
|
- name: create-pvc
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
|
@ -60,6 +66,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-pvc-name
|
- name: create-pvc-name
|
||||||
name: step2
|
name: step2
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
volumes:
|
volumes:
|
||||||
- name: create-pvc
|
- name: create-pvc
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
|
@ -78,6 +87,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: create-pvc-name
|
- name: create-pvc-name
|
||||||
name: step3
|
name: step3
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
volumes:
|
volumes:
|
||||||
- name: create-pvc
|
- name: create-pvc
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
|
|
|
@ -12,6 +12,9 @@ spec:
|
||||||
serviceAccountName: pipeline-runner
|
serviceAccountName: pipeline-runner
|
||||||
templates:
|
templates:
|
||||||
- name: mypvc
|
- name: mypvc
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
parameters:
|
parameters:
|
||||||
- name: mypvc-manifest
|
- name: mypvc-manifest
|
||||||
|
@ -42,6 +45,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: mypvc-name
|
- name: mypvc-name
|
||||||
name: step1
|
name: step1
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
volumes:
|
volumes:
|
||||||
- name: mypvc
|
- name: mypvc
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
|
@ -60,6 +66,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: mypvc-name
|
- name: mypvc-name
|
||||||
name: step2
|
name: step2
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
volumes:
|
volumes:
|
||||||
- name: mypvc
|
- name: mypvc
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
|
@ -77,6 +86,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: mypvc-name
|
- name: mypvc-name
|
||||||
name: step3
|
name: step3
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
volumes:
|
volumes:
|
||||||
- name: mypvc
|
- name: mypvc
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
|
|
|
@ -47,6 +47,9 @@ spec:
|
||||||
- name: loop-item-param-00000001-subvar-a
|
- name: loop-item-param-00000001-subvar-a
|
||||||
- name: my_pipe_param
|
- name: my_pipe_param
|
||||||
name: my-in-coop1
|
name: my-in-coop1
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- container:
|
- container:
|
||||||
args:
|
args:
|
||||||
- echo op2 {{inputs.parameters.loop-item-param-00000001-subvar-b}}
|
- echo op2 {{inputs.parameters.loop-item-param-00000001-subvar-b}}
|
||||||
|
@ -58,6 +61,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: loop-item-param-00000001-subvar-b
|
- name: loop-item-param-00000001-subvar-b
|
||||||
name: my-in-coop2
|
name: my-in-coop2
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- container:
|
- container:
|
||||||
args:
|
args:
|
||||||
- echo {{inputs.parameters.my_pipe_param}}
|
- echo {{inputs.parameters.my_pipe_param}}
|
||||||
|
@ -69,6 +75,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: my_pipe_param
|
- name: my_pipe_param
|
||||||
name: my-out-cop
|
name: my-out-cop
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- dag:
|
- dag:
|
||||||
tasks:
|
tasks:
|
||||||
- arguments:
|
- arguments:
|
||||||
|
|
|
@ -79,6 +79,9 @@ spec:
|
||||||
- name: loop-item-param-00000001-subvar-a
|
- name: loop-item-param-00000001-subvar-a
|
||||||
- name: my_pipe_param
|
- name: my_pipe_param
|
||||||
name: my-in-coop1
|
name: my-in-coop1
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- container:
|
- container:
|
||||||
args:
|
args:
|
||||||
- echo op2 {{inputs.parameters.loop-item-param-00000001-subvar-b}}
|
- echo op2 {{inputs.parameters.loop-item-param-00000001-subvar-b}}
|
||||||
|
@ -90,6 +93,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: loop-item-param-00000001-subvar-b
|
- name: loop-item-param-00000001-subvar-b
|
||||||
name: my-in-coop2
|
name: my-in-coop2
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- container:
|
- container:
|
||||||
args:
|
args:
|
||||||
- echo op1 {{inputs.parameters.loop-item-param-00000001-subvar-a}} {{inputs.parameters.loop-item-param-00000002}}
|
- echo op1 {{inputs.parameters.loop-item-param-00000001-subvar-a}} {{inputs.parameters.loop-item-param-00000002}}
|
||||||
|
@ -104,6 +110,9 @@ spec:
|
||||||
- name: loop-item-param-00000002
|
- name: loop-item-param-00000002
|
||||||
- name: my_pipe_param
|
- name: my_pipe_param
|
||||||
name: my-inner-inner-coop
|
name: my-inner-inner-coop
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- container:
|
- container:
|
||||||
args:
|
args:
|
||||||
- echo {{inputs.parameters.my_pipe_param}}
|
- echo {{inputs.parameters.my_pipe_param}}
|
||||||
|
@ -115,6 +124,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: my_pipe_param
|
- name: my_pipe_param
|
||||||
name: my-out-cop
|
name: my-out-cop
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- dag:
|
- dag:
|
||||||
tasks:
|
tasks:
|
||||||
- arguments:
|
- arguments:
|
||||||
|
|
|
@ -36,6 +36,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: loopidy_doop-loop-item
|
- name: loopidy_doop-loop-item
|
||||||
name: my-in-cop1
|
name: my-in-cop1
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- container:
|
- container:
|
||||||
args:
|
args:
|
||||||
- python -c "import json; import sys; json.dump([i for i in range(20, 31)],
|
- python -c "import json; import sys; json.dump([i for i in range(20, 31)],
|
||||||
|
@ -45,6 +48,9 @@ spec:
|
||||||
- -c
|
- -c
|
||||||
image: python:alpine3.6
|
image: python:alpine3.6
|
||||||
name: my-out-cop0
|
name: my-out-cop0
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: my-out-cop0-out
|
- name: my-out-cop0-out
|
||||||
|
@ -64,6 +70,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: my-out-cop0-out
|
- name: my-out-cop0-out
|
||||||
name: my-out-cop2
|
name: my-out-cop2
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- dag:
|
- dag:
|
||||||
tasks:
|
tasks:
|
||||||
- arguments:
|
- arguments:
|
||||||
|
|
|
@ -36,6 +36,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: loopidy_doop-loop-item-subvar-a
|
- name: loopidy_doop-loop-item-subvar-a
|
||||||
name: my-in-cop1
|
name: my-in-cop1
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- container:
|
- container:
|
||||||
args:
|
args:
|
||||||
- python -c "import json; import sys; json.dump([i for i in range(20, 31)],
|
- python -c "import json; import sys; json.dump([i for i in range(20, 31)],
|
||||||
|
@ -45,6 +48,9 @@ spec:
|
||||||
- -c
|
- -c
|
||||||
image: python:alpine3.6
|
image: python:alpine3.6
|
||||||
name: my-out-cop0
|
name: my-out-cop0
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: my-out-cop0-out
|
- name: my-out-cop0-out
|
||||||
|
@ -64,6 +70,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: my-out-cop0-out
|
- name: my-out-cop0-out
|
||||||
name: my-out-cop2
|
name: my-out-cop2
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- dag:
|
- dag:
|
||||||
tasks:
|
tasks:
|
||||||
- arguments:
|
- arguments:
|
||||||
|
|
|
@ -33,6 +33,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: my-out-cop0-out-loop-item
|
- name: my-out-cop0-out-loop-item
|
||||||
name: my-in-cop1
|
name: my-in-cop1
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- container:
|
- container:
|
||||||
args:
|
args:
|
||||||
- python -c "import json; import sys; json.dump([i for i in range(20, 31)],
|
- python -c "import json; import sys; json.dump([i for i in range(20, 31)],
|
||||||
|
@ -42,6 +45,9 @@ spec:
|
||||||
- -c
|
- -c
|
||||||
image: python:alpine3.6
|
image: python:alpine3.6
|
||||||
name: my-out-cop0
|
name: my-out-cop0
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: my-out-cop0-out
|
- name: my-out-cop0-out
|
||||||
|
@ -61,6 +67,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: my-out-cop0-out
|
- name: my-out-cop0-out
|
||||||
name: my-out-cop2
|
name: my-out-cop2
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- dag:
|
- dag:
|
||||||
tasks:
|
tasks:
|
||||||
- arguments:
|
- arguments:
|
||||||
|
|
|
@ -33,6 +33,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: my-out-cop0-out-loop-item-subvar-a
|
- name: my-out-cop0-out-loop-item-subvar-a
|
||||||
name: my-in-cop1
|
name: my-in-cop1
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- container:
|
- container:
|
||||||
args:
|
args:
|
||||||
- 'python -c "import json; import sys; json.dump([{''a'': 1, ''b'': 2}, {''a'':
|
- 'python -c "import json; import sys; json.dump([{''a'': 1, ''b'': 2}, {''a'':
|
||||||
|
@ -42,6 +45,9 @@ spec:
|
||||||
- -c
|
- -c
|
||||||
image: python:alpine3.6
|
image: python:alpine3.6
|
||||||
name: my-out-cop0
|
name: my-out-cop0
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
outputs:
|
outputs:
|
||||||
artifacts:
|
artifacts:
|
||||||
- name: my-out-cop0-out
|
- name: my-out-cop0-out
|
||||||
|
@ -61,6 +67,9 @@ spec:
|
||||||
parameters:
|
parameters:
|
||||||
- name: my-out-cop0-out
|
- name: my-out-cop0-out
|
||||||
name: my-out-cop2
|
name: my-out-cop2
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
pipelines.kubeflow.org/pipeline-sdk-type: kfp
|
||||||
- dag:
|
- dag:
|
||||||
tasks:
|
tasks:
|
||||||
- arguments:
|
- arguments:
|
||||||
|
|
Loading…
Reference in New Issue