Commit Graph

1350 Commits

Author SHA1 Message Date
hongye-sun c5418fdb46 Fix github security alert. (#1798) 2019-08-11 14:25:10 -07:00
IronPan 5793cb2e1e Fix the broken sample path in API (#1805)
* Fix the broken sample path in API

Related change b476a848d9

/hold
Need investigate why test doesn't catch it. 

/assign @numerology @hongye-sun

* Update sample_config.json
2019-08-11 00:35:11 -07:00
IronPan 84a1706d5c
skip storing log to files (#1788) 2019-08-10 11:20:26 -07:00
Ning 243b88dbac ContainerBuilder loading kube config (#1795)
* avoid istio injector in the container builder

* find the correct namespace

* configure default ns to kubeflow if out of cluster; fix unit tests

* container build default gcs bucket

* resolve comments

* code refactor; add create_bucket_if_not_exist in containerbuilder

* support load kube config and output error, good for ai platform notebooks/local notebooks

* remove create_bucket_if_not_exist param
2019-08-09 23:59:14 -07:00
Alexey Volkov 17e0efe51d SDK - Containers - Returning image name with digest (#1768)
* SDK - Containers - Returning image name with digest

Image building functions now return image name with digest: image_repo@sha256:digest

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

* Added comments
2019-08-09 17:49:13 -07:00
carolynwang 69ca3c7e4b Update images, bug fixes, clean up code (#1778)
* Update docker images and minor refactoring

* Update image tag, bug fixes, remove unneeded imports

* Revert to using image version, use origin batch transform output method

* Forgot to save 2 changes
2019-08-09 15:25:13 -07:00
Ning 9c79163287
Container builder (#1774)
* avoid istio injector in the container builder
* find the correct namespace
* configure default ns to kubeflow if out of cluster; fix unit tests
2019-08-09 13:57:51 -07:00
Jiaxiao Zheng b476a848d9
Refactor sample tests configuration to reduce the efforts of adding samples. (#1730)
* Remove redundant import.

* Simplify sample_test.yaml by using withItem syntax.

* Simplify sample_test.yaml by using withItem syntax.

* Change dict to str in withItems.

* remove redundant sed options.

* Fix format/style issues

* [WIP] Refactor repeated logic into two utility functions.

* [WIP] Add a utility function to validate the test results from a notebook test.

* [WIP] Refactor test cases (except for notebook sample tests) into adopting utility functions.
TODO: Need to move the functions of run_*_test.py into a unified run_sample_test.py.

* [WIP] Fix a typo in test name and incorporate tfx-cab-classification, kubeflow-training-classification, xgboost-training-cm and basic ones into one run_sample_test.py

* Fix/add some comments.

* Refactor notebook tests into using utility functions

* lint

* Unify naming in sample_test.yaml

* Remove old *_test.py files

* Fix tests by fixing test names.

* Fix string formatting, per Ark-kun's comment.

* Fix names of papermill-generated python notebook.

* Fix tests

* Fix test by fixing experiment names, and test names in yaml.

* Fix test by fixing experiment names.

* Fix dsl type checking test that does not require experiment set-up.

* Remove redundant commands and usage of ipython

* Revert "Remove redundant commands and usage of ipython"

This reverts commit 23a0e014

* Remove redundant string subs and edit an AI.

* Move image name injection to a utility function to improve readability.

* Revert lint changes of check_notebook_results.py

* Unify test case naming convention to underscore.

* Fix .py name

* Fix README.md

* Fix test

* Add TODO items.

* Add a utility function to inject kubeflow_training_classification python sample file.

* Fix redundant cd command.

* Fix indentation.

* Fix test names in component_test.yaml

* Remove redundant clean_cmle_models.py

* Fix nit problem.

* Fix comment.
2019-08-09 12:27:37 -07:00
Yasser Elsayed 4ec770a70f Remove yebrahim from approvers/reviewers (#1787)
* Update OWNERS

* Update OWNERS

* Update OWNERS
2019-08-09 12:22:52 -07:00
Kirin Patel d32519d829 Fixed directory provided to COPY command (#1783) 2019-08-09 09:43:25 -07:00
IronPan 9835b5b0ba
Update kfp_api_single_file.swagger.json 2019-08-09 01:18:33 -07:00
Jiaxiao Zheng 90b9ad7657 Move imagepullsecrets sample to samples/core (#1767)
* Remove redundant import.

* Simplify sample_test.yaml by using withItem syntax.

* Simplify sample_test.yaml by using withItem syntax.

* Change dict to str in withItems.

* Add image pull secret sample.

* Move imagepullsecret sample from test dir to sample dir. Waiting on corresponding unit test infra refactoring.

* Update the location of imagepullsecrets so that it can serve as an example.

* Add minimal comments documenting usage.
2019-08-08 17:35:26 -07:00
Alexey Volkov 1407d86497 Backend - Docker build should fail on sample compilation failures (#1760)
Problem: Docker implicitly prepends "sh -c " to the RUN commands (no "-e"). Without "-e", the exit code of the shell script is the exit code of the last executed command. So the csample compilation script will only fail if the last sample failed the compilation.

Fix: Explicitly adding "set -e" to the command fixes the issue.

Fixes https://github.com/kubeflow/pipelines/issues/1735
2019-08-08 15:07:26 -07:00
Jiaxiao Zheng 9a047fb016
Add preemtptible gpu sample (#1749)
* Remove redundant import.

* Simplify sample_test.yaml by using withItem syntax.

* Simplify sample_test.yaml by using withItem syntax.

* Change dict to str in withItems.

* Add preemptible gpu tpu sample and unittest

* Update a test utility function.

* Seperate the location of sample and gold .yaml for testing purpose.
2019-08-08 13:58:46 -07:00
IronPan 957990c78e
fix update bug (#1765) 2019-08-08 13:00:34 -07:00
IronPan 3c9b23216c
fix tests (#1769) 2019-08-08 11:37:58 -07:00
Kirin Patel 48173ad776 Add Visualization Server to Cloud Build yaml Files (#1738)
* Added visualization server to Cloud Build yaml files

* Add pymongo to third_party_licenses.csv
2019-08-08 00:03:21 -07:00
Ning b8afd0418f remove copying the samples since we are not releasing the samples in the GCS (#1764) 2019-08-07 21:27:16 -07:00
sina chavoshi c07e975cf5 Basic component build sample (#1681)
* adding a basic sample for component build

* adding a basic command line based sample for component build

* remvoing use of global

* Update samples/core/component_build/component_build.py

Co-Authored-By: Jiaxiao Zheng <jxzheng@google.com>

* Switching to Notebook based sample

* Added Pip install KFP SDK
2019-08-07 20:25:17 -07:00
Tommy Li 79b58d7205 Update Watson Machine Learning auth with IAM (#1737)
* update watson auth with IAM

* remove username/password reference
2019-08-07 19:17:18 -07:00
IronPan 8b5ac7e5c3
revert 724f530127 2019-08-07 17:30:15 -07:00
IronPan 724f530127
[WIP] Skip storing logs to files 2019-08-07 17:29:35 -07:00
Ning 81db6bd77e
Move samples to the correct location (#1759)
* move ai-platform and artifact_location sample to core
* move some volume_op and volume_snapshot_op to contrib
2019-08-07 16:02:50 -07:00
IronPan 701b90de7c
Delete KFP component before reinstalling again (#1736)
* [WIP] investigate https://github.com/kubeflow/pipelines/issues/1735

* Update deploy-pipeline.sh

* Update deploy-kubeflow.sh

* Update deploy-kubeflow.sh

* Update deploy-pipeline.sh

* Update deploy-kubeflow.sh
2019-08-07 15:41:01 -07:00
IronPan a9602fbc3f
Add API to rerun the pipeline (#1720)
* add resubmit proto

* add compiled code

* fix

* add resubmit proto

* add

* refactor

* update builder

* refactor

* refactor

* refactor

* refactor

* refactor

* refactor

* add test

* add test

* add test

* add test

* fix test

* fix test

* fix test

* fix test

* fix test

* fix test

* fix test

* address comments

* add comments

* change request body def

* recompile api

* retry instead of resubmit

* update test

* update test

* fix tests

* fix tests

* fix tests

* robust retry

* robust retry

* robust retry

* robust retry

* robust retry

* robust retry

* robust retry

* robust retry

* robust retry

* add error handling

* reorder the call

* remove logic to update the database entry

* add mock

* add tests for rerousrce manager

* update error handling logic

* fix tests

* address comments
2019-08-07 13:59:06 -07:00
Alexey Volkov 6f2decf2b1 Revert "Backend - Starting the api-server container build from scratch (#1699)" (#1742)
This reverts commit 24347fbaed.
2019-08-07 03:33:19 -07:00
Alexey Volkov 6aa77b774a Revert "Backend - Updated the version of the ml metadata package (#1725)" (#1747)
This reverts commit 0dd1b1ce5f.
2019-08-07 03:29:22 -07:00
Riley Bauer 66883b0eed Fixes cloning of recurring runs (#1712)
* Fixes cloning of recurring runs

Simplifies NewRun a little

Creates NewRunParameters component

* Fixes all NewRun tests

* All tests pass

* Adds tests for NewRunParameters

* Adds clone test to RecurringRunDetails

* Clean up
2019-08-06 07:09:54 -07:00
carolynwang 351f4562a4 Refactor to match new samples folder structure (#1741) 2019-08-06 01:23:56 -07:00
Alexey Volkov dd59bc2597 SDK - Lightweight - Fixed regression for components without outputs (#1726) 2019-08-05 21:47:53 -07:00
Alexey Volkov 4fb329eaf8 SDK - ContainerOp.set_display_name should return self (#1718)
/assign @gaoning777
2019-08-05 20:47:52 -07:00
Alexey Volkov 2b72b7f147 Components - Added the pymongo license URL (#1740)
Fixes CloudBuild failures.
pymongo is installed by Apache Beam which is used by TF Transform.
2019-08-05 19:49:53 -07:00
carolynwang 3f8bcffaa7 Add SageMaker create workteam and Ground Truth components, sample demo pipeline, other minor updates (#1716)
* Add components for workteam and Ground Truth, minor update for HPO and train, add sample pipeline demo for workteam and GT, update images

* Minor style fixes

* Address PR comments

* Refactor for new folder structure
2019-08-05 15:33:50 -07:00
Ning 117492f49c fix cloudbuild failure (#1733) 2019-08-05 13:37:49 -07:00
sina chavoshi cd7c9e039f Moving samples to match the new folder structure (#1734) 2019-08-05 12:11:49 -07:00
Kirin Patel fa1abde7f6 Rename InputPath -> Source for Visualization API definition (#1717)
* InputPath -> Source

* Changed name of data path/pattern variable from InputPath to Source to improve consistency with current visualization method
* Updated unit tests to reflect name change
* Regenerated swagger definitions to reflect name change

* Readded test that was removed with previous commit

It was deleted by mistake
2019-08-05 10:55:50 -07:00
nirsagi 44f81980ed Support Single part PutFile (#1713)
* Add env var for single part support.

AddFile will have the option to send single part. for backend which doesn't support multipart.
in order to use it change ObjectStoreConfig.Disable.Multipart value to true

* few changes

* remove redundent import

* remove newlines
2019-08-02 23:07:52 -07:00
sina chavoshi 6668be4d1a Container op mount secret sample (#1676)
* Add a sample for mounting and using secrets

* Fixed formatting issue and updated comments

* Corrected formatting issue.

* Added API call to sample, moved to contrib
2019-08-02 22:03:51 -07:00
sina chavoshi 9d6956c977 Adding a sample for explicitly defining the execution order (#1668)
* Adding a sample for explicity defining the execution order

* Removed extra space, and fixed spelling error
2019-08-02 20:57:52 -07:00
Alexey Volkov a7635f1cd4 SDK - Using Airflow ops in Pipelines (#1483)
* SDK - Using Airflow ops in Pipelines

* Documented the create_component_from_airflow_op function

* Need to set use_code_pickling=True now

* Using the original operator name as the component name

* Filtering out `*args` and `**kwargs` parameters that some operators have

* Fixed the function call

* Changed the default airflow base image
Airflow has removed most of the old images and tags.
See https://issues.apache.org/jira/browse/AIRFLOW-5093 and  https://cwiki.apache.org/confluence/display/AIRFLOW/AIP-10+Multi-layered+and+multi-stage+official+Airflow+CI+image#AIP-10Multi-layeredandmulti-stageofficialAirflowCIimage-ProposedsetupoftheDockerHubandTravisCI .
2019-08-02 19:53:52 -07:00
Alexey Volkov 94969d6264 SDK/Lightweight - Updated default image to tensorflow:1.13.2-py3 (#1671) 2019-08-02 18:31:53 -07:00
Alexey Volkov 0dd1b1ce5f Backend - Updated the version of the ml metadata package (#1725)
Fixes https://github.com/kubeflow/pipelines/issues/1722
2019-08-02 17:03:52 -07:00
Alexey Volkov ca93033d47 SDK/Client - Added the create_run_from_pipeline_package method (#1523)
I does not add much value over run_pipeline, buy @hongyes proposed adding it for parity.
2019-08-02 14:13:51 -07:00
Riley Bauer 9a48d297dd Allows creation of jobs without experiments (#1702)
* Allows creation of jobs without experiments

Such jobs will be placed within the Default experiment

* Update job server test
2019-08-02 13:09:51 -07:00
Alexey Volkov 24347fbaed Backend - Starting the api-server container build from scratch (#1699)
* Backend - Starting the container build from scratch
This reduces the image size, reduces the attack surface and avoids security vulnerabilities.
Fixes https://github.com/kubeflow/pipelines/issues/1545

* Starting building other controller images from scratch
2019-08-02 11:27:53 -07:00
Ning e8a6feb229
Restructure samples (#1710)
* restructure samples
* update apiserver and sample test for the new location
2019-08-01 17:31:37 -07:00
Zane Durante f18b7fd121 Adding multiple outputs into sdk with sample (#1667)
* Added support for mulitple outputs

* Added test for multiple output

* Adding sample for multiple outputs

* func_signature now shorter form

* Added parameters tag

* Fixed func_signature mistake
2019-08-01 13:42:14 -07:00
Ilias Katsakioris 88667474e8 Reorganize ResourceOp samples (#1433)
* Samples: Move samples demonstrating VolumeOp usage to samples/volumes/

* Samples: Move samples demonstrating VolumeSnapshotOp usage to samples/snapshots/

* Samples: Move basic ResourceOp sample to samples/basic/
2019-08-01 12:38:14 -07:00
Kirin Patel 65233ffa3b Add code for python visualization service (#1651)
* Setup initial server with roc_curve visualization

* Created Dockerfile.visualization

* Fixed import issue

* Changed implementation of generate_html_from_notebook to allow template type to be specified

* Added tfdv.py

* Added unit tests for exporter.py

* Deleted __init__.py

* visualizations/ -> visualization/

* Added requirements.txt and updated Dockerfile.visualization to use it

* Updated .travis.yml to run python visualization unit tests

* Fixed travis file path issue

* Continued testing to fix travis test issues

* Removed jupyter from pip3 install

Previously included to ensure python3 kernel was accessible to jupyter_client.

* Updated requirements.txt to included ipykernel

* Removed maxDiff limit for all python tests

* Sorted keys within args dictionary to ensure tests do not fail due to dictionary order

* Created requirements-test.txt

* Added input_path argument support for python service

Also adds check for missing input_path argument and returns 400 error if argument is missing.

* Updated Copyright in Dockerfile.visualization

* Updated snapshot to include all tests

* Added types, additional comments, and TemplateType enum

Also made additional style changes

* Formatted template files

* Addressed most feedback made by @kevinbache

* Revert "Formatted template files"

This reverts commit a7afd7b8af. This was done due to issues faced by the templating engine.

* Fixed comment placement and switched os -> Path

* Changed way exporter is implemented to use importlib

* Reverted to str.format due to python comparability issue

Python 3.6 introduced support for f-stringsl, this results in the tests failing when run in a python 3.5 environment

* Added unit tests for tornado web server

* Added license script for open source compliance

* Added line between file comment and license to match exporter.py

* Updated server structure

* Created Exporter class
* Introduced ability to specify visualization timeout (default is 100 seconds)
* Added more comments
* Broke up post function in VisualizationHandler to call multiple function rather than handling all logic within post function
* Updated imports
* Updated tests

* Addressed additional feedback from @kevinbache

* Fixed snapshot for test_exporter

* Comments -> Docstring Comments and other small fixes

* Fixed missing and incorrect typings
* shutdown_kernel is now private method of Exporter class

* Added missing and updated docstring comments in server.py

* Resolved latency issue with visualization server

Issue stemmed from a recreation of an exporter object per request, this was resolved by creating a global exporter.
2019-08-01 11:30:15 -07:00
Alexey Volkov 0e0f84c697 Moved component_sdk to components/gcp/ (#1698) 2019-07-31 19:56:13 -07:00