Commit Graph

772 Commits

Author SHA1 Message Date
gkcalat d0a9405858
fix(backend): Fix priority in spec source. Closes #8948 (#8949) 2023-03-09 01:28:07 +00:00
gkcalat 7fdb1b91da
fix(backend): Allow runs and recurring runs without creator pipeline and pipeline version (#8926)
* Deprecate experiment_id in Run API v2

* Allow runs and recurring runs without pipeline version id

* Adjust the logic for retrieving existing pipeline name

* Remove pipeline parsing logic and tests

* Simplify the logic in fetching a template
2023-03-07 20:14:11 +00:00
gkcalat 2c4b128ece
feature(backend): Add support for accelerator config (#8932)
* Add nodeSelector and res to podSpec

* Add sample test draft

* Add accelerator-type logic to driver pod

* Remove accelerator sample. Closes #7043

* Add unit-tests and remove type handling
2023-03-07 01:22:10 +00:00
gkcalat 06f154250b
fix(backend): Deprecate experiment_id in Run API v2 (#8921) 2023-03-03 20:29:00 +00:00
gkcalat e568148264
fix(backend): Revert the url changes in run API v 2 (#8920) 2023-03-03 18:19:00 +00:00
Lingqing Gan 89bdac9340
feat(backend): support optional and default parameters. Fixes #8716 (#8765)
* support optional and default parameters

* add sample test

* change assert value

* update test

* update test

* fix sample test

* fix sample test

* fix sample test

* test fix

* change parameter logic

* test

* test

* change logic handling not provided parameter

* remove unnecessary code and add more sample case

* fix sample test bug

* fix sample test

* update logic

* change parameter logic

* update logic

* update logic handling when parameter not provided

* fix sample test

* add error message

* fix samples test

* samples test

* remove unused code
2023-03-02 17:47:04 +00:00
gkcalat fde6b944b5
fix(backend): Add checking for state change in state history (#8903)
* Add ListAllRuns endpoint

* Add state history change check. Closes #8902

* Fix unit test
2023-02-28 20:22:04 +00:00
gkcalat e8f10b1ff9
fix(backend): Add ListAllRuns endpoint (#8901) 2023-02-28 01:49:41 +00:00
Lingqing Gan faca1e5aab
feat(backend): add support for environment variables. Fixes #8704 (#8886)
* support env var and add test

* sample test fix

* remove compiler test case

* fix test script

* update sample test
2023-02-27 18:02:08 +00:00
gkcalat 1bed63a31e
feature(backed): Status-IR.part-1: Add updating tasks and run statuses to api server (#8850)
* Add children to PipelineTaskDetail

* Add state and state history to task

* Add state and state history to run

* Add pod_name to PipelineTaskDetail

* Add PodName and Payload to tasks table

* Add upsert to task store

* Add create or update task report wf

* Wire the report server

* Remove v1 and v2 specific functions

* Revert Run proto order

* Stage progress

* Add run id to exec spec

* Disable unit test due to #8851

* Address comments

* Address some comment

* Remove empty lines

* Refactor toModelTasks

* Address comments

* Address comments
2023-02-23 00:26:23 +00:00
Chen Sun 6dd2f5441b
chore(backend): update v2 images (#8860)
* update v2 images for beta release

* fix tests
2023-02-16 22:35:34 +00:00
gkcalat beeaed0c3e
fix(backend): Add default values to timestamps. Fixes #8845 (#8857)
* Add default values to timestamps

* Force not-null create, null-able other timestamps
2023-02-16 21:22:37 +00:00
gkcalat 03b7752e2f
fix(backend): Allow empty namespace in pipelines. Fixes #8840. (#8859) 2023-02-16 07:31:05 +00:00
Chen Sun 8552226c41
chore(test): revert api changes to deprecated client (#8841)
* revert api changes to deprecated client

* list experiments

* fix

* fix sample v2 test
2023-02-14 11:01:58 -08:00
gkcalat c8165859bd
Update API references and readme. Closes #8723 (#8828)
* Update API references and readme. Closes #8723

* Add a note about html headers

* Remove folders, update readme
2023-02-09 23:41:01 +00:00
Chen Sun fd3f694d9a
test: install compatible `kfp-server-api` and `kfp` packages (#8829)
* don't install kfp-server-api and kfp both from HEAD

* install compatible kfp-server-api and kfp
2023-02-09 20:30:01 +00:00
Ablai Akhazhanov 438b16597d chore(release): bumped version to 2.0.0-beta.0 2023-02-07 23:41:29 +00:00
Chen Sun fcdd738f5e
fix(test): fix missing test dependencies (#8813)
* Update requirements.txt

* Update requirements.txt
2023-02-06 22:36:42 -08:00
Lingqing Gan 6522e6c48a
fix(backend): add retry run in v2 api. Fixes #8735 (#8804)
* add retry run

* fix typo in comments

* fix proto typo and regenerate

* add logic to verify experiment id

* fix typo
2023-02-07 01:24:32 +00:00
gkcalat 1f748c5ba4
fix(backend): fix run, job from empty manifest. Closes #8802. (#8805)
* Fix run, job from empty manifest. Closes #8802.

* Add upgrade test case

* Rename function

* Fix typo, remove unnecessary check
2023-02-07 00:21:31 +00:00
gkcalat 135dc64854
feat(backend): Refactor apiserver, add Pipeline and other v2beta services (#8633)
* Staging WIP

* Fix recurring run, switch to pipeline_version_id

* Regenerate python client

* Refactor packages for pipeline service v2

* Stage progress

* Add support for pipeline service v2beta1

* Go mod tidy

* Update licenses

* Set default namespace to be empty

* Separate deletion of pipeline versions

* Change report ReportRunMetrics to obey AIP

* Use pipeline version id in run proto

* Update run.proto

* Upgrade storage

* Remove dependencies on api

* Stage refactoring progress

* Refactor apiserver

* Update v1beta1 unit test

* Update dependencies

* Fix integration test

* Revert visualization server changes (workaround)

* Address comments

* Basic lint the api server

* Update licenses file

* Adjust intergtaion tests

* Fix typos in the tests

* Update tests

* Update test

* Add support v1 delepe pipeline

* Remove gorm.Model to split into a different PR

* Lint api server

* Fix default experiment in upgrade test

* Update storage states

* Testing upgrade test run

* Add copying pod logs to the GCS bucket

* Fix upgrade test

* Adjust backend test for list

* Fix the tests

* Fix workflow manifest discrepancy at create

* Add a few unit-tests

* Add misc service and fix persistence agent

* Remove default values from TEXT columns

* Address comments. Fixes #8702.

* Address comment, reorder resource, server, storage

* Fix front end integration test

* Fix FE integration test

* Fix tabs, add pauses, make more explicit FE test

* Revert FE test changes

* Enable default experiment and disable its deletion

* Replace empty namespace with POD_NAMESPACE

* Default experiment is now the oldest

* Emplace empty with POD_NAMESPACE for argo only

* Fix api integration test

* Revert changes to default experiment's description

* Improve FE test flakiness

* Force refresh in the FE test

* Fix FE integration test

* Add delay in FE test

* Add local debug to FE test

* Update tests

* Fix typo

* Address comments

* Enforce template version verification

* Fix workflow manifest discrepancy with v1

* Fix FE test

* Revert changes in persistence agent

* Limit to one resource owner

* Change default run state to unknown

* Revert changes to FE integration test

* Make states consistent

* Remove links from error messages

* Address comments

* Address comments

* Change the order for teardown

---------

Co-authored-by: Chen Sun <chensun@users.noreply.github.com>
2023-02-03 20:17:01 +00:00
Connor McCarthy 78d31dc8a3
chore(sdk): remove v1 dependencies from SDK v2 (#8668)
* split out deprecated requirements

* pip install deprecated requirements for sample tests

* remove superfluous comments in requirements.in

* update release notes

* ignore deprecated directory in unit tests

* remove unused argo compiler

* ignore deprecated path

* update run sample yaml

* install deprecated requirements for e2e tests

* add todos
2023-01-19 12:53:27 -08:00
Lingqing Gan 6ee767769d
feat(backend): add support for "finished_at" and others in filter. Fixes #8654 (#8662)
* add support for "finished_at" and other in filter

* update job map

* add UTs

* add integration test for filter

* update integration test

* fix integration test

* add more info

* fixed integration test

* fix small bug

* fix flakiness
2023-01-15 19:00:58 +00:00
Steve Larkin 3824c5b537
feat(backend): Make cache-server webhook port number configurable (#8401)
* Make cache-server webhook port number configurable

Previously the webhook listened on a fixed port, 8443, which can clash
with other services when the webhook is run on the host network in
Kubernetes, which is required when using some CNI implementations,
notably Calico on EKS [1].

Enable configuration of the webhook listen port via the program flags.

[1] https://projectcalico.docs.tigera.io/getting-started/kubernetes/managed-public-cloud/eks#install-eks-with-calico-networking

Signed-off-by: Steve Larkin <steve.larkin@gmail.com>

* fixup! Make cache-server webhook port number configurable

Signed-off-by: Steve Larkin <steve.larkin@gmail.com>

* fixup! fixup! Make cache-server webhook port number configurable

Signed-off-by: Steve Larkin <steve.larkin@gmail.com>

Signed-off-by: Steve Larkin <steve.larkin@gmail.com>
2023-01-12 12:15:32 -08:00
Lingqing Gan d5244644ba
feat(backend): add run support for v2 api (#8647)
* remove template dependency on api

* add create run

* update run metrics proto

* add run methods

* small changes

* pass asserted types in model converter
2023-01-05 00:37:10 +00:00
Chen Sun cf3175ef4e
chore: address kubectl dry-run deprecation (#8643) 2023-01-03 23:08:24 +00:00
Lingqing Gan b74d18739f
test(backend): add recurring run tests (#8642) 2023-01-03 19:22:24 +00:00
Lingqing Gan d0f0ab309a
feat(backend): Add support for recurring run v2 api (#8634)
* add wiring

* added create recur run and wirings

* added get recurring run and test

* added enable disable delete rec run and tests

* revert namespace change

* fix typo

* use v1 counters for recurring runs

* fix bug

* change recurring run package name and regen

* merge recurring run and job server
2022-12-29 01:26:19 +00:00
Chen Sun 468262f221
chore: update licenses (#8636) 2022-12-28 20:41:19 +00:00
Lingqing Gan 7e7e1afcb0
feat(backend): Add support for converting v2 recurring run to scheduled workflow in template (#8521)
* add template support for v2 api

* copyright

* add v2 tests

* add proto files and generate clients

* update dockerfile

* update script

* refactor rec_run_id

* copyright info

* move string definition

* small fix to proto

* small refactor

* template takes model instead of api

* template changes

* convert to model in resource manager

* resolve conflicts

* fix integration test typos

* test

* test

* test

* testing

* temp change for debug

* temp change for debug 2

* temp change for debug 3

* temp change for debug 4

* temp change for debug 5

* temp change for debug 6

* revert resource manager change

* add print

* bring back integration tests

* folder name

* delete a file

* remove package debug

* fix bug

* print more variables

* add log

* add log

* small fix

* add log

* more logs

* add test

* add  logs

* test

* add another test

* use old function for Trigger convertion

* change modeltoCRDTrigger function

* removed V1 at the end of function name

* add comments

* removed unnecessary variable

* typo

* small change

* test

* remove logs for debugging

* small bug

* remove logs for debug

* nit and removed unused functions

* remove unused functions  and move var declararion
2022-12-21 19:43:13 +00:00
gkcalat 8e02cc5c5a
chore(backend): Add pipeline and runtime protos (#8533)
* Adjust generator.sh

* Format the existing protos

* Add pipeline protos

* Add runtime protos

* Generate client libs

* Fix typos, adjust readme

* Add python client

* Update package name

* Replace error.proto with google.rps.Status
2022-12-09 01:46:11 +00:00
Lingqing Gan acaa7f0b13
fix(backend): fixes a potential upgrade/downgrade error (#8515)
* fix upgrade/downgrade error

* add unit tests
2022-12-02 09:18:16 +00:00
Ilias Katsakioris 931c14a742
feat(backend): Upload namespaced pipeline definitions. Part of #4197 (#8511)
* feat(backend) Fix authentication in upload requests

Fix the way KFP API server authenticates pipeline upload requests.
We leverage 'isAuthenticated()` function which requires proper
initialization of the context object to include user identity.

* feat(backend): Add namespace field in pipeline upload swagger definition

Extend swagger defintion of the pipeline upload API with a namespace
parameter in order to support uploading namespaced pipelines.

* chore(backend): Generate Go & Python clients

Autogenerate the Go and Python clients after extending the swagger
definitions of upload pipeline APIs with a namespace field.
2022-12-01 19:22:44 +00:00
Lingqing Gan 6e364d35b1
feat(backend): Add v2 api for experiments (#8480)
* v2 exp proto and generate clients

* server changes

* move v1 and v2 protos into api folder

* regenerate v1 packages

* generate v2 package

* add v2 funcs.

* added v2 create experiment

* integration and initialization tests

* createexperiment works and rest can be pinged

* add create exp tests

* add get experiment

* add get experiment tests

* add list experiment and one test

* add list exp tests

* add TestValidateCreateExperimentRequest_Multiuser

* add delete exp tests

* add archive/unarchive exp and tests

* refactor storage and resource layers

* change api converter

* small fix

* small fixes

* move proto files outside and name v1 package api

* refactor

* refactor
2022-11-29 01:21:43 +00:00
Chen Sun 9970f3d0ab
fix(backend): Fix recurring run for v2 pipeline (#8487)
* Fix recurring run for v2 pipeline

* fix backward compatibility
2022-11-22 00:26:41 +00:00
Chen Sun 5b96860447
chore: require setting v2 image prefix in Makefile (#8472)
* Update Makefile

* Update Makefile
2022-11-20 05:17:11 +00:00
Chen Sun 7138072271
fix(backend): Avoid referencing v2 images via `latest` label. (#8448)
* Update argo.go

* Update hello_world.yaml

* Update importer.yaml

* fix labels
2022-11-15 05:20:26 +00:00
Lingqing Gan 3f2e20d14f
chore(backend): regenerate v1beta1 api clients (#8403)
* add v2 experiment.proto

* regenerate v1beta1 client

* remove api version from combined swagger file

* Revert "regenerate v1beta1 client"

This reverts commit 02769d779b.

* regenerate v1beta1 clients

* regenerate python packages without api version

* remove regenerated v1 python packages&change proto

* refactor v1 exp apis and functions

* remove v2 api package and refactor v1 proto

* regenerate v1 go clients

* regenerate v1 python package

* refactor and update the human maintained swagger

* renew swagger file

* regenerate v1 packages

* regenerate v1 python package

* refactor

* regenerate v1 go clients

* regenerate v1 python package

* recover dockerfile and add s in python

* fix func name

* use commit for sdk execution test

* change sdk execution test

* update test script

* add v1 to methods

* proto update v1 method names

* regenerate v1 go packages

* regenerate python client

* update server methods

* refactor

* refactor

* refactor

* refactor python client

* fix get_healthz

* update sample-test.sh in v2 backend

* sample test script

* change v2 sample test

* change package install order

* Revert "change package install order"

This reverts commit c24fcfbed9.

* use KFP server api from commit for v2 sample tests

* small fix
2022-11-10 19:18:00 +00:00
Ilias Katsakioris 7c114a0f18
feat(backend): Include namespace in Pipeline API model. Part of #4197 (#8375) 2022-10-26 17:56:30 +00:00
Lingqing Gan 6c6b1e3a94
chore(backend): move v1 api to v1beta1 package and folder (#8376)
* move v1 api to v1beta1 package and folder

* fix test

* update README.md

* update README.md

* update readme
2022-10-26 07:11:30 +00:00
Ablai Akhazhanov 850a5a5e27 chore(release): bumped version to 2.0.0-alpha.6 2022-10-14 23:22:02 +00:00
Chen Sun e3bf5edda0
fix(backend): Fix user cache setting P0D ignored by cache server. Fixes #8366 (#8368) 2022-10-14 21:36:48 +00:00
Chen Sun cd3474c17d
chore: Update backend/OWNERS (#8369) 2022-10-14 20:42:04 +00:00
juliusvonkohout 9f9f035fb6
feat(backend) add maximum_cache_staleness and default_cache_staleness (#8270)
* Update pipeline-install-config.yaml

* Update cache-deployment.yaml

* Update execution_cache_store_test.go

* Update execution_cache_store.go

* Update watcher.go

* Update mutation.go

* fix identation

* Update execution_cache_store_test.go

* Update execution_cache_store.go

* Update pipeline-install-config.yaml

Set default to infinity. stalenessToSeconds() returns -1 on empty strings.

* remove logging as requested by chensun
2022-10-04 19:19:23 +00:00
Chen Sun 73caa1a66c chore(release): bumped version to 2.0.0-alpha.5 2022-09-26 11:08:27 -07:00
Chen Sun 667a633d14
fix(backend): Fix "Unknown execution spec" error. Fixes #8256 (#8287) 2022-09-21 17:31:07 +00:00
Yihong Wang f6f8485f43
fix(backend): fix backward compatibility in scheduledworkflow (#8261)
Instead of changing the WorkflowResource.Spec to string,
use interface{} to allow backward compatibility.
Add type casting and marshal/unmarshal to properly
handle old swf CRs.

Signed-off-by: Yihong Wang <yh.wang@ibm.com>

Signed-off-by: Yihong Wang <yh.wang@ibm.com>
2022-09-15 18:32:41 +00:00
Ablai Akhazhanov 58052eafc1 chore(release): bumped version to 2.0.0-alpha.4 2022-08-31 21:55:27 +00:00
Lingqing Gan f25127fe76
feat(backend): Implement RuntimeConfig in backend for jobs(RecurringRun) (#8152)
* update server folder

* update storage folder

* update run_api_test.go

* update job_api_test.go

* update upgrade_test.go

* model converter and tests

* fix upgrade_test.go

* fix api tests

* update error messages
2022-08-23 00:01:25 +00:00
Lingqing Gan fe66d20b98
chore(backend): format backend code and add style guide (#8140)
* go fmt backend/src folder

* add backend style info

* Add backend code style guide

* update wording

* fix typo and link

* small fix
2022-08-17 12:50:52 -07:00
Lingqing Gan 2b556ec855
feat(backend): Implement RuntimeConfig in backend (#8085)
* add runtime config model

* add run store and tests

* add runtime_config to model converter and tests

* add runtime_config to api converter and its tests

* change api server and related tests

* remove v2 runtime_config test

* add runtimeconfig to upgrade test

* fix test values

* upgrade test debug

* tests

* add more info for debug

* use NullString instead of String, remove debug

* fix type conversion

* change function and add unit tests

* run go fmt

* Add comments for model

* marshal params using v2 structpb values

* fix small bug

* Revert "run go fmt"

This reverts commit 251c3a9535.

* No longer sort keys

* test values and explain comparison using .String()

* func toApiRuntimeConfig

* tests updates

* add api converter tests

* change test

* fix format

* change test

* simplify marshalling parameters
2022-08-11 23:21:52 +00:00
Yihong Wang e8abec24fe
feat(backend): Add ExecutionClient to access ExecutionSpec (#8050)
* Add ExecutionClient to access ExecutionSpec

Add ExecutionClient, ExecutionInterface to abstract the client
functions for ExecutionSpec. Replace WorkflowClient/WorkflowInterface
in all backend components to use ExecutionClient/ExecutionInterface.
Only add needed functions into ExecutionClient/ExecutionInterface.

Signed-off-by: Yihong Wang <yh.wang@ibm.com>

* replace argo Parameter to util.SpecParameter

replace argo Parameter to util.SpecParameter and
remove argo go pkg dependency in model_converter.go

Signed-off-by: Yihong Wang <yh.wang@ibm.com>
2022-08-06 08:05:50 +00:00
Ablai Akhazhanov 2bee241e03 Use STABLE base image to fix CVE-2022-2068 2022-08-05 06:07:49 +00:00
Diana Atanasova 1caa8e0d68
feat(backend): authorize readArtifacts and ReportMetrics endpoints (#7819)
* Authorize readArtifacts and ReportMetrics endpoints

New Verbs (reportMetrics and readArtifact) are added to ClusterRole with name: aggregate-to-kubeflow-pipelines-edit

Signed-off-by: Diana Atanasova <dianaa@vmware.com>

* Add authorization when Persistent Agent communicate with the api-server

Persistent Agent authorize itself based ot the namespace and the current user

Fixes: #7818

* Update persistence_agent.csv license file

Signed-off-by: Diana Atanasova <dianaa@vmware.com>

* Fix lexical error in persistent agent cluster role

Signed-off-by: Diana Atanasova <dianaa@vmware.com>

* Fix integration tests/Fix MULTIUSER= false usecase

Cover MULTIUSER=false usecase/Standalone pipeline installation.
In this case the namespace doesn't have `user` annotation and
there is no need to provide `kubeflow-userid` Header when making
a request against kfp-api-server

Signed-off-by: Diana Atanasova <dianaa@vmware.com>

* rebase: fix conflixt in license file

Signed-off-by: Diana Atanasova <dianaa@vmware.com>

* rebase add new line in the end of licensing file

Signed-off-by: Diana Atanasova <dianaa@vmware.com>
2022-08-04 10:24:06 +00:00
shayancanonical b10440d6a8
chore(backend): modify default_experiments and db_statuses tables to have primary keys. Fixes #8014 (#8023) 2022-07-26 09:03:14 +00:00
Connor McCarthy 8cf061b758
remove tfx from dependencies and simplify requirements files (#8030) 2022-07-14 12:19:53 -06:00
Ablai Akhazhanov f604406238 chore(release): bumped version to 2.0.0-alpha.3 2022-07-13 18:17:33 +00:00
Chen Sun 36e308002f
chore(backend): Use cloud sdk from GCR as base image for cache deployer (#8025) 2022-07-13 18:08:04 +00:00
Chen Sun 8bee2922c2
feat: Upgrade argo-workflow to v3.3.8 (#8009)
* Upgrade argo-workflow to v3.3.8

* update go liencenses files

* use golang 1.17 in build and test

* temporarily disable v2 image cloudbuild
2022-07-12 19:22:31 +00:00
Chen Sun 47809d4150
chore: Avoid duplicate go-licenses tool installation instructions (#8010) 2022-07-12 11:33:06 -07:00
ryansteakley 7923ba37fd
feat(backend): update minio-go to support irsa (#7946) 2022-07-08 23:58:51 +00:00
Yihong Wang 06c9310160
feat(backend): Expand ExecutionSpec Interface (#7766)
* feat(backend): Expand ExecutionSpec Interface

Expand the ExecutionSpec and ExecutionStatus interface
to cover more function and refactor the code to use
ExecutionSpec instead of Workflow

Signed-off-by: Yihong Wang <yh.wang@ibm.com>

* update license csv file

need to update licenses file for:
- persistent agent
- cache server

Signed-off-by: Yihong Wang <yh.wang@ibm.com>

* fix e2e integration failure

the Workflow content in the ReportWorkflowRequest struct
received from report_server API doesn't have TypeMeta.
Therefore, need to explicitly specify ExecutionType.

Signed-off-by: Yihong Wang <yh.wang@ibm.com>

* address comments

- clean up params in ExecutionStatus test
- remove UID setter
- add comment to point to Workflow.Status.Phase

Signed-off-by: Yihong Wang <yh.wang@ibm.com>

* add comment to the SpecParameter.Default

Need to revisit this property later and see if this
is needed or not

Signed-off-by: Yihong Wang <yh.wang@ibm.com>

* rebase and fix conflicts

rebase again and fix conflicts

Signed-off-by: Yihong Wang <yh.wang@ibm.com>
2022-06-24 21:06:40 +00:00
Lingqing Gan c7b56d6ca6
fix(backend): change downloaded IR from JSON to YAML. Fixes #7673 (#7768)
* change downloaded IR from JSON to YAML

* correct error message

* update error message

* change template.Bytes() to return yaml

* remove json to yaml conversion

* add TODO

* remove yaml package

* mod tidy

* change go mod

* Update test data for evaluation classification feature attribution pipeline.

PiperOrigin-RevId: 446739064

* feat(conformance): adapt run api tests to KF env (#7658)

- Undid earlier refactoring in test_util.go. I think having the util
  function to take a parameter structure is much more readable than
  constructing api parameters in the util function.

* feat(conformance): adapt remaining tests to KF env (#7670)

- Adapted job, rn, upgrade and visualization tests
- Undid earlier change where I had to pass in empty string to indicate
  that resource reference should not be overridden because experiment id
  is specified
- Updated visualization client to support SA token projection auth

* Revert "feat(conformance): adapt remaining tests to KF env (#7670)"

This reverts commit 3cf7c19be9.

* Revert "feat(conformance): adapt run api tests to KF env (#7658)"

This reverts commit e644d7a18b.

* Revert "Update test data for evaluation classification feature attribution pipeline."

This reverts commit 86a2fb2c02.

* block usage of json IR in backend. change test

* update tests

* update tests

* update tests

* fix test

* change commnets

* remove json test

Co-authored-by: Googler <nobody@google.com>
Co-authored-by: James Wu <54086668+james-jwu@users.noreply.github.com>
2022-06-22 01:13:25 +00:00
Lingqing Gan d11b097a08
fix(backend): "Started at", "Finished at" and "Duration" display error. (#7876)
* fix the time display on be, need colab with fe

* change finished_at display

* remove code for debugging

* fix format

* update backend tests

* make code more succinct
2022-06-14 21:45:01 +00:00
James Liu cf1b873a9a
fix(backend): Upgrade grpc-gateway patch version to enable correct swagger config (#7788)
* fix(backend): Upgrade grpc-gateway patch version to enable correct swagger config.

* Tag PR commit info

* Generate api based on reverted change
2022-06-01 19:09:49 +00:00
Chen Sun 9cfbc6695f
Revert "feat(api): add runtime_config.parameter_values with string typed values" (#7805)
This reverts commit 5b64733ef6.
2022-05-27 09:35:12 +00:00
James Wu 3867496983
feat(conformance): containerize KFP conformance test. (#7738)
* feat(conformance): containerize KFP conformance test.

* Address code review comments.

* Address code review comments.

* Address code review comments.

* Addressed code review comments.
2022-05-23 19:31:01 +00:00
hsinhoyeh bd38cb5ae8
fix(backend): fixes healthz response by adding json content type. Fixes #7525 (#7532) 2022-05-20 03:44:23 +00:00
Chen Sun 5b64733ef6
feat(api): add runtime_config.parameter_values with string typed values (#7734) 2022-05-16 20:38:17 +00:00
Kartik Kalamadi 2a82a0f159
fix(cache): Change kfp cache cert names to match cert-manager (#7538) 2022-05-11 04:16:33 +00:00
Yihong Wang 8cf022c84b
feat(backend): Add ExecutionSpec Interface (#7531)
* create an interface for Workflow

Use the new interface: `ExecutionSpec` to substitute
Workflow and remove the argo pkg dependency from
other code except `common/util/workflow.go`.

Signed-off-by: Yihong Wang <yh.wang@ibm.com>

* Add ExecutionStatus interface

Separate the status information from
ExecutionSpec to ExecutionStatus interface.

Signed-off-by: Yihong Wang <yh.wang@ibm.com>

* add license change

regenerate license files

Signed-off-by: Yihong Wang <yh.wang@ibm.com>
2022-05-09 21:17:06 +00:00
James Wu bcbdbd050f
feat(conformance): adapt remaining tests to KF env (#7670)
- Adapted job, rn, upgrade and visualization tests
- Undid earlier change where I had to pass in empty string to indicate
  that resource reference should not be overridden because experiment id
  is specified
- Updated visualization client to support SA token projection auth
2022-05-05 23:56:50 +00:00
Lingqing Gan 38bd93d6fc chore(release): bumped version to 2.0.0-alpha.2 2022-05-05 16:10:59 -07:00
James Wu 8b1155158e
feat(conformance): adapt run api tests to KF env (#7658)
- Undid earlier refactoring in test_util.go. I think having the util
  function to take a parameter structure is much more readable than
  constructing api parameters in the util function.
2022-05-05 18:27:13 +00:00
Lingqing Gan 98a58c7a0c
Pipeline level exit handler and v2 test (#7642)
* support IR YAML format in API

* Check the error message and return false if it is not nil

* update error message

* fixed simple loop but need cleaning up

* Deleted debug logs

* remove logs and fix some format

* fix static_loop_arguments

* change the driver image 

change the driver image back to the kfp container registry.

* change variable declaration

* remove logs

* remove log

* changed argo template

* change argocompiler dependency to my own repo

* Update go.mod

* Update VERSION

* v2 pipeline level exit handler; add test case

* Update VERSION

* remove logs and change temp dependency

* remove logs

* Update argo.go

* Update argo_test.go

* Update driver.go

* Update driver.go

* change VERSION

* Update VERSION

* Modifyb PR: remove loop fix and some changes

* update dsl compile command

* revert VERSION

* Update Makefile

* Update Makefile
2022-05-05 02:37:12 +00:00
Lingqing Gan 1180e10632
fix(backend): fix simple loop bug (#7578)
* support IR YAML format in API

* Check the error message and return false if it is not nil

* update error message

* fixed simple loop but need cleaning up

* Deleted debug logs

* remove logs and fix some format

* fix static_loop_arguments

* change the driver image 

change the driver image back to the kfp container registry.

* change variable declaration

* remove logs

* remove log

* move `ok` definition

* change test file for debug purpose

* change test for debug purpose

* update sample test for static loop

* update test file, remove code for debug
2022-05-05 01:31:12 +00:00
James Wu 913277a3aa
feat(conformance): adapt pipeline version API tests to run in KF (#7653) 2022-05-04 17:47:32 +00:00
James Wu 694a274b4f
feat(conformance): adapt pipeline API tests to KF environment (#7647) 2022-05-03 20:50:00 +00:00
James Wu 1265113dff
feat(conformance): Enable experiment API tests in KF mode. (#7596)
* Conformance: Enable experiment API tests in KF mode.

Added 3 flags:
- isDebugMode is enables HTTP request/response logging
- IsKubeflowMode enables the tests in full Kubeflow mode
- resourceNamespace: the namespace/profile under which the test
  resources are created

Added a new HTTP client that uses SA token volume projection auth. The
test pods will be set up to project SA token.

Plumbed everything through for experiment API tests. The other tests
will be enabled in subsequent PRs.

* Updated change to address comments.
2022-04-29 00:45:56 +00:00
Lingqing Gan 471c7d3425 chore(release): bumped version to 2.0.0-alpha.1 2022-04-04 16:38:48 -07:00
Lingqing Gan 4f398dc644
feat(backend): support IR YAML format in API (#7499)
* support IR YAML format in API

* Check the error message and return false if it is not nil

* update error message
2022-04-01 16:13:24 +00:00
Chen Sun 3fb1a9f8c8 chore(release): bumped version to 2.0.0-alpha.0 2022-03-16 10:08:02 -07:00
Yuan (Bob) Gong 7c2f520fe3
chore: use the upstream go-licenses tool (#7408) 2022-03-16 02:10:34 +00:00
Chen Sun 5fe4f50a4f
chore(backend): clean up pipelinespec.Value usage (#7407) 2022-03-14 17:32:57 +00:00
Yaqi Ji 8bb0d0e025
feat(sdk)!: move v2 to main namespace (#7376)
* feat(sdk)!: move v2 to main namespace

* edit samples
2022-03-04 21:56:51 +00:00
Yaqi Ji b693909a08
feat(sdk)!: move v1 to deprecated folder (#7291)
* chore(sdk): move v1 to deprecated

* fix testsg

* fix testsg

* fix setup.py

* fix test

* s'

* fix tests

* fix test

* retore v2 test changes

* fix py3.6 test

* fix py3.6 test

* fix py3.6 import fallback error

* remove deprecated

* fix samples test

* sample test

* fix samples

* add readme

* restroe test

* python require

* remove path

* fix tests

* inteegration tests

* remove tfx tests for dependency with kfp v1

* fix e2e

* fix e2e

* fix integration tests

* fix sampe

* move client down

* change to kfp

* add import alias

* fix

* runid

* fix dsl

* only use kfp for function

* revert train_until_good

* tfx test

* kfp

* try import

* onprem
2022-03-04 00:52:59 +00:00
Chen Sun 2a4b60ee2f
chore(release): bump version to 1.8.1 on master branch (#7353)
* chore(release): bump version to 1.8.1 on master branch

* update marketplace manifest snapshot

* update formatting
2022-02-26 09:23:35 +00:00
James Liu 2afd52f3c9
fix(backend): Read env var for default service account in multi-user mode. Fix #7336 (#7337)
* fix(backend): Read env var for default service account in multi-user mode

* fix test

* update config.json
2022-02-22 07:34:23 +00:00
Chen Sun 21c3e30130
chore(release): bump version to 1.8.0 on master branch (#7318)
* chore(release): bump version to 1.8.0 on master branch

* update marketplace snapshot
2022-02-16 10:31:07 +00:00
Alex Latchford 3f4d686f6a
fix(backend): AIP-5634: Add in LRU cache and temp file rotation for metadata-writer. Relates to #4347 (#7199)
* AIP-5634: Add in LRU cache and temp file rotation for metadata-writer.

* AIP-5634: Respond to Chens feedback. Fixing imports, requirements bounds and improve efficency of debug file cache

* AIP-5634: Use a FIFO approach and actually remove the old file paths

* AIP-5634: Update to use deque for constant time appends/poplefts
2022-02-15 21:42:06 +00:00
Diana Atanasova 81438f3c03
feat(backend): add new endpoint that get pipeline by name (#7004)
* feat(backend): add new endpoint that get pipelines by name

Add new endpoint getPipelineByName that take in consideration the current namespace,
because the name is unique within a namespace only.

Fix: https://github.com/kubeflow/pipelines/issues/7003

Signed-off-by: Diana Atanasova <dianaa@vmware.com>

* Remove extra identation in pipeline.proto file

Signed-off-by: Diana Atanasova <dianaa@vmware.com>

* feat(backend): add new endpoint GetPipelineByName

Use explicit URL. Namespace isn't passed through `resource_references`, but
is part of the URL path.
In cases when only the pipeline name is required(standalone installation, shared pipelines)
, a hyphen "-" is used. Example:
/apis/v1beta1/namespaces/-/pipelines/{name}

Signed-off-by: Diana Atanasova <dianaa@vmware.com>

* Check for authorization in MultiUserMode

Signed-off-by: Diana Atanasova <dianaa@vmware.com>
2022-02-15 17:38:41 +00:00
Chen Sun 5ce3d57244
chore(release): bump version to 1.8.0-rc.3 on master branch (#7293)
* chore(release): bump version to 1.8.0-rc.3 on master branch

* update gcp marketplace snapshot
2022-02-11 09:40:40 +00:00
Chen Sun 3e734ed191
fix(backend): Update API RuntimeConfig to use protobuf.Value. Fixes #7119 (#7231)
* Update api runtimeConfig to use protobuf.Value

* fix test
2022-02-10 10:22:15 +00:00
Diana Atanasova 96a6a3b103
feat(backend): Forbid unarchive runs that belog to archived experiment (#7147)
* [backend] Forbid unarchive runs that belog to archived experiment

Adds validation so that the user cannot activate a Run that belongs to Archived Experiment.

Issue: https://github.com/kubeflow/pipelines/issues/7014

Signed-off-by: Diana Atanasova <dianaa@vmware.com>

* Change the err message to be more action-driven

Signed-off-by: Diana Atanasova <dianaa@vmware.com>
2022-02-09 23:24:32 +00:00
Tommy Li 5ba96537c5
fix(backend): make cache-deployer generate CSR using kubelet-serving signerName (#7273) 2022-02-08 08:13:42 +00:00
Chen Sun 8061da3749
fix(backend): Fix v1 caching to read Argo template from container env. Fixes #7266 (#7267)
* Fix v1 caching to read argo template from container env.

* fix test
2022-02-07 08:19:17 +00:00
Chen Sun 7ac1b390c6
chore: update backend/OWNERS (#7262) 2022-02-04 22:38:14 +00:00
Chen Sun d5b615e517
chore: update go-licenses installation path in backend/README.md (#7221) 2022-01-28 13:04:37 +00:00
Pavel Klyuev 6b7adfa784
fix(backend): set correct permissions for local directory (#7212) 2022-01-26 19:51:44 +00:00
Chen Sun fe70363ec7
chore(backend): Check for forbidden license during image build and in presubmit (#7210)
* Check for forbidden license during image build

* Add forbidden license check in backend presubmit

* update backend presubmit to use golang image
2022-01-26 00:30:43 +00:00
Chen Sun 07f36ba0a4
chore(backend): Increase launcher memory limit and request from 64Mi to 128Mi (#7209)
* Update argo.go

* Update argo.go

* Update hello_world.yaml
2022-01-25 03:26:55 -08:00
Chen Sun 1b107eb4bb
chore(backend): Merge v2 code into backend/src/ (#7173)
* merge v2 code

* update go-licenses tool and base licenses files

* clean up unused files

* fix dockerfiles

* fix path to sdk folder

* fix path
2022-01-25 01:21:24 -08:00
Yuan (Bob) Gong 15fac0b538
chore: remove Bobgy from OWNERS (#7195) 2022-01-25 08:11:28 +08:00
capri-xiyue 073539a50a
chore: change owner (#7113) 2021-12-24 01:26:42 +00:00
James Liu 9bf30b8eb6
test: fix test failing to find kfp (#7108)
* tests: Try to figure out what causes test failing to find kfp

* mistune not ready for upgrade
2021-12-23 12:37:43 +00:00
Hao Xin 7157764f21
feat(backend): Upgrade MLMD to 1.5.0 (#6996) 2021-12-09 11:35:55 +00:00
James Liu 949cfdca37
chore(backend.v2): Honor Argoworkflow generateName format, only use pipeline template name. Fix #6972 (#7000)
* attempt to fix create run from backend

* add strings

* add tests

* fix test
2021-12-08 05:48:58 +00:00
Niklas Hansson 8778dbb0eb
chore: add missing error check in newOutOfClusterSwfClient (#6655)
* missing error check

* wrapp error
2021-12-07 20:35:19 +00:00
Joshua Carp 25dfe6065d
chore(backend): bump argo-workflows to latest. (#6920)
* Bump argo-workflows to latest.

* Bump presubmit golang version.

* Pull latest image tags.

* Update cloud.build and manifests to argo v3.2.3

Co-authored-by: James Liu <jamxl@google.com>
2021-12-01 06:19:13 +00:00
Yuan Gong ca9b9444ac chore(release): bumped version to 1.8.0-alpha.0 2021-12-01 00:49:31 +00:00
Niklas Hansson f2c22fa3b4
test: clean up of api server tests (#6650)
* Clean up fot the server

* Remove creation of pipeline version

* Missed to commit

* Futher clean up and update of test

* Clean up and move to done

* Missed to update nbr of returns
2021-11-30 12:43:30 +00:00
James Liu b3d15cd066
feat(backend): Upgrade MLMD to 1.4.0 (#6910)
* feat(backend): Upgrade MLMD to 1.4.0

* set kfp~1.8

* add tensorflow_model_analysis

* update requirements

* Resolving tfx dependencies

* update Frontend MLMD

* chore: remove v2 compatible sample from builtin samples

Co-authored-by: Yuan Gong <gongyuan94@gmail.com>
2021-11-26 20:42:07 +08:00
Niklas Hansson 062ddd8a85
chore: break out submitNextWorkflowIfNeeded clean up from #4752 (#6918) 2021-11-20 01:54:34 +00:00
David Xia 73f9b14515
docs(backend): fix incorrect maxNumViewers help text (#6752)
maxNumViewers is per namespace not entire cluster.
[This PR](https://github.com/kubeflow/pipelines/pull/1623/files#diff-36da225a16f9c6742cee006c2554b6ef6836c9ab2b509a5169b5d3a4acc36977)
changed the scope from cluster to namespace.
2021-11-03 01:00:06 -07:00
David Xia 425cdc0552
chore(backend): Fix typo in log message (#6807) 2021-11-03 00:09:06 -07:00
James Liu e094b0aa4b
chore(release): bump version to 1.7.1 on master branch (#6842) 2021-11-01 21:39:59 -07:00
capri-xiyue 2e945750cb
feat(v2): V2 create run api (#6689)
* added draft of create v2 pipeline run

* fixed broken UT and added UT for parsing template

* modified run apis to support v2 IR spec

* remove temporary patch

* fixed dependency

* fixed build failure

* finished draft

* finished create job and run

* refactor template and fixed broken UT

* updated go license

* fixed build failure

* fixed build

* added UT

* modified UT

* fixed build failure

* fixed license
2021-10-28 21:53:51 -07:00
James Liu 4cf34e2d08
feat: upgrade argo to v3.1.14 (#6809)
* feat: upgrade argo to v3.1.14

* go mod tidy

* fix license versions
2021-10-28 15:17:51 -07:00
Yuan (Bob) Gong 4360652e66
test(backend/integration): pipeline API integration tests for v2 spec (#6798)
* test(backend/integration): pipeline API integration tests for v2 spec

* test: update PipelineClientInterface
2021-10-26 17:48:27 -07:00
juliusvonkohout 22f2693813
fix: the cache server in combination with kubeflow profile quotas (#5743)
* Update mutation.go

* Update mutation.go
2021-10-21 11:29:02 -07:00
Yuan (Bob) Gong 6c35daa1a1
test(backend): v2 create pipeline/version unit tests (#6751)
* refactor(backend): table driven create pipeline version tests

* test(backend): v2 pipeline name unit tests

* test(backend): create pipeline unit tests, including v2 spec

* Update template_util.go
2021-10-20 11:21:37 -07:00
Yuan (Bob) Gong 6607a04553
chore(backend): delete cache owners (#6765) 2021-10-19 20:42:14 -07:00
Niklas Hansson 484c61931a
chore: remove sleep from api_job_test.go and add retry instead. (#6584)
* Add retry logic instead of sleep

* retry instead of sleep

* to do comment

* Updated to 8 times and 5 seconds

* missed to update on two places
2021-10-19 02:38:33 -07:00
Joshua Carp d7dc511e94
chore: Update CertificateSigningRequest to current api version. (#6668)
* Update CertificateSigningRequest to current api version.

* Add required `signerName` to csr.
2021-10-15 00:35:36 -07:00
Yuan (Bob) Gong 49de8a92c2
feat(backend): support uploading v2 pipeline spec. Fixes #6169 (#6513) 2021-10-14 21:01:36 -07:00
boarder7395 773e9650a7
fix(backend): Updates nodeSelector, and Affinity Paths in cache-server. Fixes #6623 (#6656)
nodeSelectors needs to start with /.
2021-10-14 16:12:36 -07:00
Yuan (Bob) Gong ef2233291b
refactor(backend): remove dep from model to common package (#6621) 2021-09-30 19:24:24 -07:00
Niklas Hansson d5223b396e
chore: add condition check and missing error asserts in run_api_test.go (#6604)
* Fix missing asserts and add missing test case

* Update the expected value of the list
2021-09-28 17:02:46 -07:00
Niklas Hansson 129f46a943
chore: add missing assert in pipeline_version_api_test.go, run_api_test.go and upgrade_test.go (#6605) 2021-09-28 16:02:54 -07:00
Niklas Hansson 8d3a368d70
chore: add missing assert and remove duplicate package import in pipeline_api_test (#6603) 2021-09-28 16:02:47 -07:00
Niklas Hansson 1c446baec9
chore: remove unused fields in the persistence client (#6606) 2021-09-28 14:52:47 -07:00
Joshua Carp ccc5dc9608
fix(backend): Decompress workflow node statuses if necessary. Fixes #6547 (#6548)
* Decompress workflow node statuses if necessary.

* Add regression test for workflow decompression.

* Tidy go modules.

* Update apiserver license.

* Test offloaded node status.

h/t @capri-xiyue
2021-09-16 17:12:43 -07:00
Joshua Carp e58aff78f6
fix(backend): Fix connection lifetime default and variable names. (#6509)
The apiserver config parser uses `viper.GetDuration` to parse the mysql
connection lifetime variable. The `viper.GetDuration` function uses
`cast.ToDuration`, which uses `cast.ToDurationE`, which assumes
durations to be in nanoseconds if they don't explictly include a unit.
Since the default lifetime in the kustomize manifest is `120`, we
expire connections after 120ns, which is probably unintended. To make
this more clear, this patch includes duration units in the default
values, and drops the `Secs` suffix from the configuration variables,
since the code doesn't assume that durations are in seconds.

See
22b2b540ce/caste.go (L68-L72).
2021-09-08 03:48:07 -07:00
Gerard Casas Saez 19b3de4dd0
feat(frontend): Add to UI pipeline version description. Part of #6256 (#6393)
* add description to upload_pipeline_description http endpoint

* add test for pipeline upload server description

* add description to new pipeline version

* show pipeline version in pipeline detail page

* make description optional on UI + show version descriptio or pipeline description

* remove unused reference

* revert wrong change of ref

* updated on should be pipeline version

* add more versions to mock-backend

* show pipeline and version description at the same time

* add tests for UI

* show pipeline version always
2021-09-06 20:55:38 -07:00
James Liu e035a88149
feat: upgrade MLMD to 1.2.0. Fix #6436 (#6437)
* chore(frontend): upgrade MLMD to 1.2.0

* update version for backend

* update dependencies

* makefile

* tfx compatiblity update
2021-08-28 16:59:22 -07:00
Yuan Gong 6ccf5bcd0b chore(release): bumped version to 1.7.0 2021-08-25 06:44:50 +00:00
Matts966 702e48b9ec
fix(backend): recognize "sidecar.istio.io/inject" annotation to use Istio service mesh optionally. Fixes #6200 (#6391)
* Recognize "sidecar.istio.io/inject" annotation to use istio service mesh optionally

* Fix return to continue

Co-authored-by: Matts966 <Matts966@users.noreply.github.com>
2021-08-19 06:23:53 -07:00
Yuan Gong 78491d12b8 chore(release): bumped version to 1.7.0-rc.4 2021-08-19 05:04:29 +00:00
Joshua Carp 0511983a5f
chore: fix broken links (#6386) 2021-08-18 21:50:53 -07:00
Gerard Casas Saez 943dc128e1
feat(backend): Add pipeline version description to backend. Part of #6256 (#6261)
* start adding description to version

* add description to resource manager

* remove description from pipeline default version

* update pipeline_store

* add some tests to ensure its being passed around

* update frontend generated api

* run auto formatter

* add comment to frontend readme about running npm run format

* add missing api converter step
2021-08-18 20:59:53 -07:00
Yuan (Bob) Gong 366b70eaa7
feat: upgrade argo to v3.1.6-patch (#6376)
* feat: upgrade argo to v3.1.6-patch

* Update Dockerfile

* Update install-argo-cli.sh
2021-08-18 03:17:38 -07:00
Yuan (Bob) Gong 59a0c9d1de
feat: upgrade TFX to 1.2.0 (#6375)
* feat: upgrade TFX to 1.2.0

* fix

* update

* fix visualization server

* fix2
2021-08-18 01:50:37 -07:00
capri-xiyue 2639ba060b
feat: added namespace as cache scope (#6342)
* added namespace as cache scope

* fixed comments

* change namespace to optional
2021-08-17 05:35:42 -07:00
Yuan (Bob) Gong ee8cbfa31c
feat: upgrade argo to v3.1.6 (#6333)
* feat: upgrade argo to v3.1.6

* feat: use argo v3.1.6 image

* update licenses
2021-08-13 02:32:54 -07:00
Chen Sun 7559e27cfb
feat(backend/sdk): Rename `pipeline-output-directory` to `pipeline-root`. Fixes #6307 (#6329) 2021-08-13 00:41:54 -07:00
Jiyong Jung a1f7160cf5
chore: upgrade tfx to 1.0.0 (#6316)
* test: fix sample test image build

* update to TFX 1.0.0

* update argo CLI

* Uses TFX 1.0 APIs in parameterized_tfx_oss example.

Co-authored-by: Yuan Gong <gongyuan94@gmail.com>
2021-08-12 04:02:03 -07:00
Yuan (Bob) Gong a6ab4e4411
chore(swf): fix recurring run + v2 compatible (#6297) 2021-08-11 03:22:25 -07:00
Yaqi Ji 9989d37021
chore: update Dockerfile for SDK 1.7.0 (#6262) 2021-08-06 18:13:27 -07:00
Yuan Gong 3c6d1285a0 chore(release): bumped version to 1.7.0-rc.3 2021-08-06 07:13:16 +00:00
Joshua Carp 2f843f95aa
fix: fix a spelling error (#6236) 2021-08-05 17:17:46 -07:00