Commit Graph

612 Commits

Author SHA1 Message Date
Alexey Volkov f7874d38ff
fix(sdk): Compiler - Fixed pipeline parameters with empty default values (#4552)
Fixes https://github.com/kubeflow/pipelines/issues/4549
2020-11-12 15:52:28 -08:00
Tanguy Compagnon 950fae4921
fix(sdk): fixes too broad except when retrieving experiments. (#4765) 2020-11-12 15:08:25 -08:00
Chen Sun 148dd8dcdb
chore(sdk): pin kfp-pipeline-spec version (#4748)
* pin kfp-pipeline-spec version

* kfp 1.1.1
2020-11-11 16:32:28 -08:00
Chen Sun 7cf620323f
chore(sdk): Use pipeline_spec proto from kfp-pipeline-spec package (#4745)
* Use pipeline_spec proto from kfp-pipeline-spec package

* update imports

* use pre-released kfp-pipeline-spec (temporarily)

* Revert "use pre-released kfp-pipeline-spec (temporarily)"

This reverts commit 77f2e9a39c.

* test_requires

* version

* make kfp a namespace package

* move to the top

* version rc0
2020-11-10 16:14:41 -08:00
Chen Sun 04279595e3
chore(sdk): custom warning format in v2 structures. (#4747) 2020-11-10 14:45:41 -08:00
Asav Patel 9efc9e59b2
fix(sdk) - fixes missing import in KFP compiler (#4741) 2020-11-09 17:30:41 -08:00
Chen Sun 79e9f688a1
kfp sdk version to 1.1.0 (#4740) 2020-11-09 14:35:59 -08:00
Chen Sun a51380b065
chore(sdk): Add InputUri and, OutputUris placeholders in v2 (#4728)
* Fix bug where we missed injecting importer node

* moved files

* address review comments

* Add InputUriPlaceholder and OutputUriPlaceholder

* support uri placholder in v2

* lint

* test

* Preserve a test case with inputPath and outputPath usage.

* fix ut

* fix import and setup

* address comments
2020-11-09 11:37:58 -08:00
Chen Sun 82b1ed4d17
chore(sdk): v2 compiler compiles to pipeline job spec (#4729)
* fix proto

* compile to pipeline job spec

* make pipeline_root required

* address comments
2020-11-06 15:05:38 -08:00
Chen Sun 5d15b19b47
chore(sdk): Ensure all pipeline parameters present in runtime_parameters mapping. (#4722)
* Fix bug that pipline parameter missing from runtime parameter list

* fix test data

* refactor and tests
2020-11-06 01:56:42 -08:00
Jiaxiao Zheng 655c42d423
chore: Add pipelineJob to IR spec (#4720)
* add job to IR

* add generated proto_py

* make comments concise
2020-11-05 16:20:50 -08:00
Mansoor Baba Shaik a8bd468265
feat(sdk): Fix print message for run submission with respect to output format (#4691) 2020-11-05 12:00:53 -08:00
Chen Sun 00bfaf5591
chore(sdk): fix bug around assertion and test (#4718)
* fix bug around assertion and test

* simplify test code
2020-11-05 08:56:53 -08:00
Chen Sun 935a9b5ba5
chore(sdk): Fix a bug where we missed injecting importer node (#4712)
* Fix bug where we missed injecting importer node

* moved files

* address review comments
2020-11-04 16:00:55 -08:00
Eugene Zapolsky 38946d88f8
feat(sdk): added pipeline name option to kfp run submit (#4535) 2020-11-03 04:54:15 -08:00
Chen Sun 1123489787
chore(sdk): Allow arbitrary input/output types with default to generic artifact. (#4689)
* Allow arbitrary input/output types with default to generic artifact.

* address review comments

* address comments

* fix docstring

* fix test sample.
2020-11-02 11:56:15 -08:00
Yuan Gong 7d36f48482 chore(release): bumped version to 1.1.0-alpha.1 2020-11-02 03:01:27 +00:00
Chen Sun 94eb582f6d
chore(sdk): Allow arbitrary input/output types in v2 compiler (#4679) 2020-10-27 11:20:01 -07:00
Jiaxiao Zheng c4dd7871a6
chore: Support resource spec in v2 compiler (#4669)
* skeleton of code

* commit resource spec in IR proto

* add resource setter

* add accelerator setters

* fix unit conversion

* fix attribute proxy

* add and fix unittests

* add e2e test

* clean up

* clean up

* clean up

* clean up

* bypass subclass overriding

* clean up

* clean up

* clean up

* resolve comments
2020-10-26 16:40:02 -07:00
Alexey Volkov 80e1d7063d
fix(sdk): Fixed UI metadata and metrics (#4672)
Reverting most of the #2334 which inadvertently broke those artifacts by causing the names to be mangled.

KFP's DSL compiler prepends template names to output names to ensure global uniqueness of *input* names (DSL's ContainerOp does not have concept of inputs, so the inputs are generated during the compilation including input names). But prepending template names to the output names stops the backend from recognizing the mlpipeline-ui-metadata and mlpipeline-metrics artifacts.
2020-10-25 19:37:00 -07:00
Chen Sun 55feb218d5
chore(sdk): Raises error on unsupported features in v2 compiler (#4650)
* Raises error on unsupported features

* use v2.dsl in tests

* update test
2020-10-24 15:53:00 -07:00
Chen Sun 544652e1bb
chore(sdk): Support if placeholder in v2 compiler (#4648)
* support if placeholder in v2 compiler

* fix inaccurte comments
2020-10-24 09:23:01 -07:00
Chen Sun b04bfe6b81
chore(sdk): Add test for concat placeholder (#4651) 2020-10-23 18:53:00 -07:00
Abhishek Vilas Munagekar c52a81c1af
fix(sdk): fixes dsl.ContainerOp deprecation warning not shown (#4658)
* change dsl.ContainerOp warning to FutureWarning

* fix tests
2020-10-23 18:07:01 -07:00
Jiaxiao Zheng 3075f9a5fb
chore: Add more semantically expressive artifact ontology to IR compiler. (#4646)
* add ontology inline

* ontology unittests

* add test

* fix tests
2020-10-20 14:30:22 -07:00
Alexey Volkov 8699a05c27
fix(sdk): Components - Fixed handling of typing.NamedTuple in Python 3.9 (#4614)
Python 3.9 has dropped support for `typing.NamedTuple(...)`.`_field_types` in favor of `__annotations__` which in turn does not exist in Python 3.5.
2020-10-17 00:32:12 -07:00
Alexey Volkov ccc763fb71
SDK - Restored module decoupling (#4625)
A recent PR has added changes architecturally belonged to a different module (the component bridge). This has introduced unintended dependencies and couplings between the modules. This PR restores the module separation. It also makes the code simpler.
2020-10-13 20:11:54 -07:00
Chen Sun 5020fd1079
compiler for IR (#4529)
* Compile IR proto in setup.py

* compile to IR

* Fix importer node logic and lint

* cleanup and lint

* merge, undo setup.py change

* cleanup and lint

* remove currently unused code

* format _component_bridge.py

* cleanup and format

* cleanup

* upgrade protobuf in test

* restructure and test

* address review comments

* fix bug

* avoid f-strings formatting

* address review comments

* address review comments

* limit the primitive types to only int, double, and string.

* Fix test for python3.5

* use instance_schema instead of schema_title

* add v2 to setup.py

* address review comments

* move the tests closer to the code

* add more tests

* cleanup and linting

* add more tests

* fix bug on input paramter connection

* linting

* restructure tests

* fix python3.5 test failure

* support outputs.parameters placeholder

* remove pipeline decorator from v2.dsl
2020-10-13 17:13:54 -07:00
Chen Sun 72ce138253
Update IR ExecutorOutput message to use ArtifactList for artifacts field. (#4619)
* Update IR ExecutorOutput message

* fix a typo
2020-10-12 23:10:27 -07:00
Alexey Volkov f445c09f81
chore(sdk): Components - Simplified graph component child task resolving (#4608)
Previously the process that was used to resolve a child task of a graph component was convoluted:
* Generate a dynamic task factory function for the child task component
* Convert input argument names from original to pythonic names
* Call the generated dynamic factory function using the python arguments to get back a task object
* Convert the task object outputs from pythonic back to original names (recently removed)

This PR significantly simplifies this process o just:
* Directly construct a task object based on the task component and the original arguments
2020-10-12 21:00:28 -07:00
Alexey Volkov 0c12397171
test(sdk): Components - Tests - Made python component tests use the same python executable to run the components (#4615) 2020-10-12 04:12:55 -07:00
Alexey Volkov be899723e3
fix(sdk): Components - Fixed ModelBase handling of open generic types in Python 3.9 (#4613)
In Python 3.9 the open generic types like `typing.Dict` lack the `__args__` attribute.
2020-10-12 04:12:47 -07:00
Alexey Volkov e8fb58a221
feat(sdk): Preserve parameter arguments and input names (#4563)
ContainerOp has no concept of inputs, so it looses any information about them such as input names and in some cases even the passed argument values (which are just injected into the command line).
This commit fixes that issue by preserving the paramater arguments map and ultimately storing it in an Argo template annotation.

Fixes https://github.com/kubeflow/pipelines/issues/4556
2020-10-11 20:32:48 -07:00
Mansoor Baba Shaik ce6cfa501d
feat(sdk): Adds missing short options to the cli (#4604) 2020-10-09 22:28:47 -07:00
Alexey Volkov d4fd6e16a8
feat(sdk): Components - Added Bool as a known type name (#4597)
* SDK - Components - Added Bool as a known type name

Some components are already using this type name and are starting to fail due to more strict type checking during constant argument serialization.

* Fixed syntax error
2020-10-09 03:49:06 -07:00
Mansoor Baba Shaik dd1e3d8b76
feat(sdk): Added optional argument to specify description for pipeline upload (#4577) 2020-10-07 04:30:50 -07:00
Marcin Owsiany a840ce75e3
fix(sdk): use a meaningful link text in ipython (#4570) 2020-10-07 04:30:42 -07:00
Mansoor Baba Shaik 0795597562
feat(sdk): Support to print the cli command output in json format (#4566)
* Add support for json print format on command output

* Remove the additional log messages from cli command output
2020-10-01 12:13:19 -07:00
Padarn Wilson aed37c7792
feat(sdk): optional context in kubenetes client (#4401)
* adding optional context to client

* update naming of context -> kube_context
2020-09-29 14:33:24 -07:00
Alexey Volkov 1aa8068507
fix(sdk): DSL - Enabled arbitrary ContainerOp names (#4554)
Fixes https://github.com/kubeflow/pipelines/issues/4522
2020-09-29 05:21:35 -07:00
Michalina Kotwica 0b3187966e
fix(sdk): Allow non-pythonic names for graph components' task's outputs. Fixes #4514. (#4515)
* add tests for pythonic and non-pythonic component outputs

* fix: graph for non-pythonic container output's names

Loading container component from component.yaml creates both
pythonic and original output names. Graph component iterated over
all outputs, using pythonic-to-output conversion on all. If some
of the names are not identical to their pythonic versions, they
rised KeyError on the lookup table.

This commit fixes this problem by using default value for the lookup.

* remove depythonification of outputs - not needed anymore
2020-09-28 20:53:25 -07:00
Chen Sun 097b1864e3
Package pipeline_spec proto into SDK (#4546)
* branch pipeline IR proto under sdk

* Update ImporterSpec uri type

* proto generated file

* remove the copy of pipeline_spec.proto from sdk

* move proto generated file to under kfp/v2

* add readme

* regenerate proto and add copyright
2020-09-25 17:38:48 -07:00
Yihong Wang c8b4599622
feat(sdk/cli): add extra header for cli (#4400)
In some cases, it may need extra header to handle the API calls.
Directly add `header_name` and `header_value` props in
`.config/kfp/context.json` and pass the name/value pair
to APIClient.

Here is one of the use cases:
if the service is protected by istio RBAC and need JWT header
for authentication, you can specify the JWT id-token in
the .config/kfp/context.json with these two new props.
The id-token would be carried in the specified header name.
Then the API call can be properly authentiecated and checked
if the user has the permission to access the service.
2020-09-22 11:06:42 -07:00
Eugene Zapolsky 37362a3441
fix(sdk): added clearer error for case when user uses watch and argo isn't installed (#4511) 2020-09-20 04:12:29 -07:00
Abhishek Vilas Munagekar 0653e7c766
feat(sdk): adds support for ephemeral-storage in container-op (#4504)
* add type annotation to container class

* add support for ephemeral storage in container op
2020-09-20 03:30:29 -07:00
Abhishek Vilas Munagekar 5613db02bc
feat(sdk): Python components - Parse component input/output descriptions from the function docstring (#4512)
* cleanup imports

* add description to inputs and outputs

* update requirements

* add test

* improve component description

* update tests

* review changes: fix lint and requirements

* upgrade docstring-parser
2020-09-19 23:22:29 -07:00
Alexey Volkov 03325848fc
feat(sdk): Components - Prevent passing unserializable objects to components. Fixes #4040 (#4496) 2020-09-16 02:23:22 -07:00
Niklas Hansson c32ea232d5
feat(compiled): set pod disruption budget for pipelines. Fixes #3877 (#4178)
* Update _client.py

* Update _client.py

* added pod disruption budget

* clean up

* Update sdk/python/kfp/dsl/_pipeline.py

* fixed parameter

* updated after feedback

* removed selector
2020-09-14 13:45:26 -07:00
Yuan (Bob) Gong d91a0c9da1
chore(release): bump version to 1.0.1 on master branch (#4492)
* chore(release): bump version to 1.0.1 on master branch

* remove rc changelog
2020-09-14 01:28:58 -07:00
Jiaxiao Zheng f98252f3d7
chore: Corrects doc string of two client methods. (#4442)
* clean up doc string for two methods

* add missing arg doc

* add missing type hints.
2020-09-08 13:57:52 -07:00
Victor 22b7b99a8b
fix(sdk): Fix opsgroups dependency resolution (#4370) 2020-08-27 09:03:53 -07:00
Alexey Volkov 7dc051b982
refactor(sdk): Refactored ResourceOp deletion (#3841) 2020-08-25 23:12:02 -07:00
Jiaxin Shan 390e80ed77
feat(sdk): add aws region field in use_aws_secret in kfp sdk (#4363) 2020-08-23 23:55:40 -07:00
Alexey Volkov d87c3be611
DEPRECATE(sdk): DSL - Deprecated output_artifact_paths parameter in ContainerOp constructor (#2334)
The users should switch to file_outputs instead.
Previously `file_outputs` only supported small data outputs, but now it supports big files.
2020-08-07 21:44:19 -07:00
Lars Schöning d7e5894912
fix(sdk): TypeError in Client.get_pipeline_id() when pipeline does not exist (#4319) 2020-08-05 07:40:28 -07:00
Alex Latchford 704c8c7660
chore: Clean up KFP SDK docstrings, make formatting a little more consistent (#4218)
* Prepare SDK docs environment so its easier to understand how to build the docs locally so theyre consistent with ReadTheDocs.

* Clean up docstrings for kfp.Client

* Add in updates to the docs for compiler and components

* Update components area to add in code references and make formatting a little more consistent.

* Clean up containers, add in custom CSS to ensure we do not overflow on inline code blocks

* Clean up containers, add in custom CSS to ensure we do not overflow on inline code blocks

* Remove unused kfp.notebook package links

* Clean up a few more errant references

* Clean up the DSL docs some more

* Update SDK docs for KFP extensions to follow Sphinx guidelines

* Clean up formatting of docstrings after Ark-Kuns comments
2020-08-04 00:33:47 +08:00
Renmin cc78bd1a4f
fix(sdk/client): reserve the host protocal (http or https) so that http host can work. Fixes #4277 (#4285) 2020-07-29 20:38:30 -07:00
Renmin ac66626a2c
feat(sdk): support HTTP/S PROXY for SDK client (#4215)
* done

* done

* reserve https

* done
2020-07-22 01:42:05 -07:00
Yuan (Bob) Gong 988f5b02e4
chore(release): bump version to 1.0.0 on master branch (#4249) 2020-07-20 02:04:51 -07:00
Tom Hastjarjanto 45c796e112
feat(sdk): Expose upload pipeline version (#4146)
* feat(SDK): Expose upload pipeline version

* feat(sdk): Improve parameter name

* feat: Add option to specify either pipeline_id or pipeline_name

* Update sdk/python/kfp/_client.py

fix: Missing import

Co-authored-by: Niklas Hansson <niklas.sven.hansson@gmail.com>

* Fix: Optionals, incorrect var reference

* Fix: import orders

* chore: PR feedback

Co-authored-by: Niklas Hansson <niklas.sven.hansson@gmail.com>
2020-07-17 09:43:01 -07:00
Alexey Volkov 39975e3cde
SDK - Components - Temporary removed Kubernetes options from ComponentSpec (#4230)
* SDK - Components - Replaced Kubernetes options with generic launcher options

This reduces the schema size and makes the task launcher options more flexible.

* Removed the launcherOptions for now
2020-07-16 19:59:00 -07:00
Paulo Roberto de Oliveira Castro d91ac0f217
feat(sdk/client): add cookie configuration to kfp client (#2679)
* Add cookie configuration to kfp client

* Change cookie->cookies and add docs
2020-07-14 23:08:37 -07:00
Alexey Volkov d0b799e4a9
fix(sdk): SDK - Avoiding deprecated ContainerOp methods (#4134)
Switched from `task.set_X` to `task.container.set_X`
2020-07-14 17:02:37 -07:00
Alexey Volkov aeb0401c8a
SDK - Components - Fixed examples in docstrings (#4074) 2020-07-14 14:27:21 -07:00
Alexey Volkov afd816161d
feat(sdk): SDK - Components - Added annotations to TaskSpec (#4153) 2020-07-12 22:22:32 -07:00
Alexey Volkov 9b1580039f
feat(sdk): SDK - Components - Added annotations to InputSpec and OutputSpec (#4154) 2020-07-12 21:34:33 -07:00
Alexey Volkov bbc9ff5ec3
SDK - Compiler - Validating Argo validator (#3874)
* SDK - Compiler - Validating Argo validator

* Added warning if argo is available, but not working
2020-07-10 19:07:21 -07:00
Alexey Volkov db0af86e53
feat(sdk): SDK - Enable placeholders in task display names. Fixes #4163 (#4164) 2020-07-09 18:42:35 -07:00
Jiaxiao Zheng d3ef0dcbd0
fix(sdk): fixes the default value for _is_refresh_token. Fixes #4189 (#4195) 2020-07-09 16:56:34 -07:00
Alexey Volkov 2f9482758b
feat(sdk): SDK - Deprecation warning when using ContainerOp (#4166)
* SDK - Added warning when not using components

We have long advised our users to create reusable components.
Creating reusable components is as easy as creating ContainerOp instances, but the components are shareable, portable and are easier to support going forward.

* Disable warning for TFX

* Fixed the warning disabling logic

* Added tests
2020-07-08 23:16:53 -07:00
Ilias Katsakioris 749538d031
fix(sdk): Fix get_experiment when there are no experiments. Fixes #4176 (#4177)
Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>
2020-07-08 13:25:21 -07:00
Niklas Hansson c6ac83f72c
feat: add parallelism for dsl.ParallelFor. Fixes #4089 (#4149)
* Added parallism at sub-dag level

* updated the parallism

* remove yaml file

* reformatting

* Update sdk/python/kfp/compiler/compiler.py

* Update sdk/python/kfp/compiler/compiler.py

* Update samples/core/loop_parallelism/loop_parallelism.py

Co-authored-by: Alexey Volkov <alexey.volkov@ark-kun.com>

Co-authored-by: Alexey Volkov <alexey.volkov@ark-kun.com>
2020-07-08 11:27:13 -07:00
Alexey Volkov 48889a99d1
fix(sdk): Compiler - Fixed input artifact name sanitization when using raw string arguments. Fixes #4110 (#4120) 2020-07-08 10:43:09 -07:00
Niklas Hansson aae1eba096
feat(sdk): CLI - Allow upload_version by the pipeline's name. Fixes #3901 (#4087)
* Update _client.py

* Allow for passing name instead of only pipeline_id

* fixed old rebase issue

* protobuf fix

* raise error and remove f-string

* moved file

* updated python proto packages versions

* Update sdk/python/kfp/_client.py

* restructured and added to build

* changes structure of import

* Updated the files

* further updates of client and filter.proto

* alternative

* clean up

* clean up

* remove helperfiles

* futher clean up

* clean up or eaither name or id

* update doc strings

* remove page_size

* Update sdk/python/kfp/_client.py

Co-authored-by: Jiaxiao Zheng <jxzheng@google.com>

* Update sdk/python/kfp/cli/pipeline.py

Co-authored-by: Jiaxiao Zheng <jxzheng@google.com>

* updated to classical string formattin

Co-authored-by: Jiaxiao Zheng <jxzheng@google.com>
2020-07-08 03:37:10 -07:00
Alexey Volkov d707b93fb4
feat(sdk): DSL - Added support for volatile components (#4104)
Volatile components do not reuse the cached results by default.
The pipeline authors can re-enable cache reuse if they want.
2020-07-06 18:09:57 -07:00
Alexey Volkov 79f6a4023d
fix(sdk): SDK - Components - Fixed the error message format string (#4130) 2020-07-01 23:00:00 -07:00
Alexey Volkov 62c743354e
test(sdk): Components tests - Made test_load_component_from_url hermetic (#4121)
Mocking the `requests.get` call so that the test can run without internet.
2020-07-01 21:02:01 -07:00
Alexey Volkov 229eff2516
SDK - Compiler - Removed the deprecated dsl-compile --package command (#4055) 2020-07-01 19:12:01 -07:00
Pierre Tholoniat 50fd45fed9
Fix typo in error message (#3369)
"The package_file '+ package_file + ' should ends with..." replaced by "The package_file '+ package_file + ' should end with..."
2020-06-29 20:49:58 -07:00
Alexey Volkov 6960366846
fix(sdk): Compiler - Fixed the input argument mapping when using dsl.graph_component. Fixes #3915 (4082)
* SDK - Compiler - Fixed the input argument mapping when using dsl.graph_component

Fixes https://github.com/kubeflow/pipelines/issues/3915

* Stopped relying on the argument order at all

This can make the compilation less fragile.
2020-06-29 02:31:37 -07:00
Jiaxiao Zheng b099c6f5d3
chore: Rollback telemetry related changes (4088)
* Revert "fix length (#3934)"

This reverts commit 7fbb7cae

* Revert "[SDK] Add first party component label (#3861)"

This reverts commit 1e2b9d4e

* Revert "[SDK] Add pod labels for telemetry purpose. (#3578)"

This reverts commit aa8da64b
2020-06-27 15:46:14 -07:00
Alexey Volkov 54a596abd8
SDK - Compiler - Added support for volume-based data passing (3371)
* SDK - Compiler - Added support for volume-based data passing

Currently artifact passing is performed by Argo sidecar containers what download input data and upload output data to artifact repository (usually, S3-compatible blob storage like Minio).
The performance of this method is not optimal and it requires that pod disks have enough capacity to hold all artifact data.

This commit adds support for volume-based data passing.
This method involves using a single milti-write Kubernetes data volume to pass all intermediate data.
Parts of the volume are mounted to the input/output artifact directories, so when the user program reads and writes files, the files actually reside in the data volume.
This method improves the performance and reduces storage resource requirements.

The data volume must exist and support "READ_WRITE_MANY".

Limitations:
* All artifact file names must be the same (e.g. "data"). All auto-generated paths are already consistent. Avoid using any hard-coded paths.
* Passing constant values (text) as arguments for artifact inputs is not supported.
* The feature is experimental.

* Added data_passing_methods.KubernetesVolume

This class represents a configured volume-based artifact passing method.

* Added PipelineConf.data_passing_method

This property allows setting the method that will be used for intermediate data passing.
Added the compiler support for the new feature.

Example:
```python
from kfp.dsl import PipelineConf, data_passing_methods
from kubernetes.client.models import V1Volume, V1PersistentVolumeClaim
pipeline_conf = PipelineConf()
pipeline_conf.data_passing_method = data_passing_methods.KubernetesVolume(
    volume=V1Volume(
        name='data',
        persistent_volume_claim=V1PersistentVolumeClaim('data-volume'),
    ),
    path_prefix='artifact_data/',
)
```

* Added unit test

* Fixed bug in the unit test

Kubernetes does not validate the structures at all...

* Fixed bug in the result structure

* Fixed the test data

The class should be V1PersistentVolumeClaimVolumeSource, not V1PersistentVolumeClaimSpec.

* Fixed the test
2020-06-25 16:11:31 -07:00
Alexey Volkov ceb860c594
SDK - Components - Python - Switched the default base image to python 3.7 (4054)
Previously the default image was set to an old version of tensorflow image. That image is now outdated. It's also framework-specific and pretty big.
We're switching to the official python image which is small, official and framework-agnostic.
The users can easily switch to the old behavior by just specifying `base_image='tensorflow/tensorflow:1.13.2-py3'` during the component creation.
2020-06-25 15:15:31 -07:00
Alexey Volkov 51b1c7468f
SDK - Tests - Fixed two test failures in hermetic systems (4057)
Removed path resolving in two tests.
The `.resolve()` should be harmless, but I've seen these tests fail to work in some unusual strict hermetic systems. The test code file path was resolving to a tree which was different from the parent of the file, so the test could not find the test data.
2020-06-25 12:24:19 -07:00
Alexey Volkov 757d43c7fd
SDK - Compiler - Fixed error message (#4053)
Fixes https://github.com/kubeflow/pipelines/issues/4021
2020-06-24 11:42:46 -07:00
Paul Selden a802dbbed0
[SDK] Add list_pipeline_versions to kfp.Client (#3340)
Allows the user to list available pipeline versions for a given pipeline id.
2020-06-19 01:43:58 -07:00
Francis Laforge 40f06bfc91
feat: allow to use pipeline version (#3930) 2020-06-18 13:45:11 -07:00
Francis Laforge c9f621ad0c
feat: add kpf pipeline list-versions command (#3928) 2020-06-17 13:48:04 -07:00
Alexey Volkov 49fab02126
SDK - Components - Added authentication support for component loading functions (#3976) 2020-06-17 13:02:04 -07:00
Jiaxiao Zheng c04b9f0a2c
update refreshing mechanism (#3981) 2020-06-16 15:54:03 -07:00
Alexey Volkov 374b3b02d2
SDK - Compiler - Made compiler compatible with @wraps (#3956)
Fixes https://github.com/kubeflow/pipelines/issues/3367
2020-06-11 20:03:55 -07:00
Eterna2 4812d35283
Fix #3906 - mount_pvc transform should ignore non-ContainerOps (#3912)
* Fix #3906 - check that ops to be transformed is a containerOp

* Update docstring for add_op_transformer to clarify that not only containerOp will be transformed.
2020-06-09 19:04:05 -07:00
Jiaxiao Zheng 7fbb7cae56
fix length (#3934) 2020-06-09 14:00:06 -07:00
Alexey Volkov 40372e5c86
SDK - Compiler - Using properly serialized pipeline parameter defaults (#3832)
* SDK - Compiler - Using properly serialized pipeline parameter defaults

Fixes https://github.com/kubeflow/pipelines/issues/3806

* Sort the keys so that the serialized defaults are stable in python 3.5
2020-06-09 13:10:04 -07:00
Alexey Volkov 1403b9bd84
SDK - Components - Added ComponentStore search (#3884)
* SDK - Components - Added ComponentStore search

ComponentStore(...).search searches for components by name in the configured component store. It prints the name and URL for components that match the given name.
Only components on GitHub are currently supported.

Example:

```
kfp.components.ComponentStore.default_store.search('xgboost')

>>> Xgboost train   https://raw.githubusercontent.com/.../components/XGBoost/Train/component.yaml
>>> Xgboost predict https://raw.githubusercontent.com/.../components/XGBoost/Predict/component.yaml
```

* Implemented the review feedback

* Added retries
2020-06-03 23:54:44 -07:00
Amy 5d302b6edb
fix typo on sort order: 'des' --> 'desc' (#3893) 2020-06-02 18:00:17 -07:00
Alexey Volkov cd8a913a31
SDK - Client - Use temporary directory context for pipeline package (#3878)
Maybe fixes https://github.com/kubeflow/pipelines/issues/3835#issuecomment-635195462
2020-06-01 03:49:55 -07:00
Alexey Volkov da5f86ee55
SDK - Normalize line endings when calculating component hash (#3882) 2020-06-01 03:08:03 -07:00
Alexey Volkov f773b9c263
SDK - Components - Stabilize JSON serialization by sorting keys (#3879)
* SDK - Components - Stabilize JSON serialization by sorting keys

Otherwise serialization of the default values of the component/pipeline inputs is unstable on Python 3.5.

* Fixed the test data
2020-06-01 03:07:55 -07:00
Alexey Volkov 3010e85bbe
SDK - Tests - Fixed the test_func_to_container_op_with_imported_func2 test case (#3837) 2020-05-29 12:05:34 -07:00