Commit Graph

44 Commits

Author SHA1 Message Date
Joe Li 443a67438a
test(frontend): Improve v1 frontend-integration-test (#9811)
* test: access specific field via "id".

* test: access specific field via "id".

* update snapshots.

* Add test to validata description changes.

* Change id def for input tag.

* Skip unit tests

* Add unit tests back and change id

* Add a helper for clear default value in input field.
Remove unnecessary 'tab' command

* Add comment to explain the parameter name for tests
Remove default value for runName before typing new value
2023-08-08 21:16:33 +00:00
Joe Li 59db2835fa
fix(frontend): Parameter field is missing when creating run from run list (#9335)
* Redirect to v2 new run after selecting v2 pipeline when creating run

* Add a tab in FE-integration test

* Add tab to the failed tests

* Add query keys back to NewRunSwitcher
2023-05-05 21:40:52 +00:00
Joe Li ab2499dd27
chore(frontend): Integrate pipeline / pipeline version functions with KFP v2 API (#9123)
* Separate pipelineServiceApiV1 and pipelineServiceApiV2.
Add uploadPipelineVersionV2 helper.

* Ingegrate new pipeline functionality with v2 API.
Create a new pipeline dialog for v2 pipeline because the error is
not string type.

* Integrate getPipelineVersion() in run/recurring run details router
with v2 API.

* Integrate listPipelines() / listPipelineVersions() in PipelineList and
PipelineVersionList with v2 API.

* Update private and shared pipelines unit tests.

* Separate v1 and v2 logics (based on API return value) in pipeline
details (router).
Noted: add additional listPipelines() to get latest version because v2
don't default version field.

* Change pipeline props in PipelineDetailsV2 and PipelineVersionCard
Remove default version in PipelineVersionCard test.
Append version id to URL for unspecified versionId scenario.

* Create new ResourceSelectorV2 and make corresponding changes (back to
v2beta1Pipeline) in PipelineDialogV2 and NewPipelineVersion

* Create resource converter to make various API returned objects fit in
base resource.
Change the behavior of "selectionChanged" to achive more general usage.

* Integrate getPipeline() / getPipelineVersion() in "create / clone run"
with v2 API.

* Integrate get started page with v2 pipeline API.

* Integrate getPipelineVersion() in run list with v2 API.

* Integrate delete pipeline / pipeline version with v2 API.

* Remove unused imports. Change relative path to absolute path.

* Add unit test for PipelineDialogV2 and ResourceSelectorV2.

* Fix incorrect Version Description in PipelineVersionCard and rename the
constant in unit test.
Add size limitation in the listPipelineVersions() called by
getSelectedVersion.
Add missing props in NewRunV2 test.
Fix FE-integration test (trial)

* Simplify the logic of deletePipelineVersion. Remove
dialoghandlerMultiId.
2023-04-09 00:04:52 +00:00
Chen Sun 7079164135
test: Update frontend-integration-test image (#9028) 2023-03-23 00:29:20 +00:00
Chen Sun fe71e17a4d
test(frontend): upgrade frontend integration test dependencies and base image. (#8806)
* upgrade frontend integration test dependencies and base image.

* remote unused libraries

* fix junit config

* fix junit config
2023-02-07 01:24:39 +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
gkcalat c79d35f53b
fix(test): Add frontend integration test manual run (#8767)
* Fix bug in the front-end test

* Add local debugging to the FE test

* Save testing artifacts to GCS

* Address comments
2023-01-31 06:49:30 +00:00
dependabot[bot] 3c3bb1fdcd
chore(deps): bump qs from 6.5.2 to 6.5.3 in /test/frontend-integration-test (#8618)
Bumps [qs](https://github.com/ljharb/qs) from 6.5.2 to 6.5.3.
- [Release notes](https://github.com/ljharb/qs/releases)
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ljharb/qs/compare/v6.5.2...v6.5.3)

---
updated-dependencies:
- dependency-name: qs
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-30 11:25:27 +00:00
dependabot[bot] d31026d10d
chore(deps): bump decode-uri-component from 0.2.0 to 0.2.2 in /test/frontend-integration-test (#8617)
Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-30 11:25:20 +00:00
Joe Li 7d5985b4d4
feat(frontend): Creating run from various entry points (#8190)
* Enable choose pipeline and pipeline version for creating a run without pipeline ID and run ID.

* Wrap pipeline selector dialog as a function component (need to fix).

* Added a callback in NewRun component to handle the situation (choosing v1 pipeline first, and then change to v2 pipeline).

* Format.

* Set NewRunV1 as default page.
Added existingPipelineId into props of NewRunV1 to show pipeline and pipeline version details at the very first fetch.

* Wrap pipeline version selection as a function component
added exisingVersionId and callback in NewRun component to change the versionId in parent component(NewRunSwitcher)

* Replace url if users choose other pipeline version and pipeline version.

* Added additional check in if condition for callback in order to avoid breaking current v1 design.

* Fixed field in test components.

* Pre-fill experiment name for NewRunV2.

* Added comments and unit tests

* Added comments in NewRun to specify the timing of call back behavior.

* Update URL when experiment is changed.
Remove unused props

* Change behavior of updating url for changed experiment in NewRunV2

* Revert to 7966ae8.

* Remove updating URL for changed experiment.

* Added updating URL for changed experiment back.

* Hold for all changes related to URL.

* remove cache time setting.

* Add all changes related to URL update back
Modified the FE-integration-test to match current behavior
Enabling pre-filling run name of v1 new run page.
Fixing the errors in NewRunSwitcher.

* Modified the frontend-integration-test to match current v1 behavior (pre-filling the run name).

* Remove obsolete snapshot.

* Remove the old test (rely on snapshot) and add new test for selecting pipeline with params
Added tiny test for prefilling the run name when pipeline is selected.

* Format

* Replace useEffect() with callback for changed experiment.

* Replace useEffect() with callback fn() for changed pipeline and pipeline version.

* Remove unused parameters
Directly use existingPipeline and existingPipelineVersion without declaring another parameters
Added a test to validate the run name for selected pipeline
Wraped NewRun props into an interface.
Added "experiment" constant in useQuery for getting experiment details.

* remove compile warning.

* Rename the variable name in NewRunParameterV2 to get rid of the compile warning and avoid infinite loop.

* format

* Change unit test for NewRunV1 to match new behavior (callback).

* Remove unused parameters.

* Remove the unnecessary useEffect() for setApiExperiment
add runId condition for selected experiment.
2022-08-31 19:34:54 +00:00
Yuan (Bob) Gong bd281a55fa
test: prepare samples to be emissary executor compatible. Part of #5718 (#6109)
* test: prepare samples to be emissary executor compatible

* fix sample test
2021-07-22 18:00:01 +08:00
dependabot[bot] 76f8b3e9ac
chore(deps): bump lodash from 4.17.19 to 4.17.21 in /test/frontend-integration-test (#5612)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.19 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.19...4.17.21)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-08 04:39:07 -07:00
Alexey Volkov cc83e1089b
Assigned copyright to the project authors (#5587) 2021-05-05 13:53:22 +08:00
StefanoFioravanzo c320a5d8fd
feat(frontend): Reorganize Experiments, Runs, and Archive pages. Fixes #4918 (#4919)
* Introduce a Runs sidenav item

Signed-off-by: Stefano Fioravanzo <stefano@arrikto.com>

* Remove Archive item from sidenav

Signed-off-by: Stefano Fioravanzo <stefano@arrikto.com>

* Create new page with active and archived Runs

Signed-off-by: Stefano Fioravanzo <stefano@arrikto.com>

* Reorganize Experiments page

Signed-off-by: Stefano Fioravanzo <stefano@arrikto.com>

* Remove Archive page

Signed-off-by: Stefano Fioravanzo <stefano@arrikto.com>

* Update snaps

Signed-off-by: Stefano Fioravanzo <stefano@arrikto.com>

* Run prettier

Signed-off-by: Stefano Fioravanzo <stefano@arrikto.com>

* Fix frontend integration tests

Signed-off-by: Stefano Fioravanzo <stefano@arrikto.com>

* Fix SideNav snapshot

Signed-off-by: Stefano Fioravanzo <stefano@arrikto.com>
2020-12-23 20:44:26 -08:00
dependabot[bot] 0c65238773
chore(deps): bump lodash from 4.17.15 to 4.17.19 in /test/frontend-integration-test (#4227)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-18 14:16:50 -07:00
Yuan (Bob) Gong e5bd2df3e8
[UI] textbox to select KSA when creating runs/jobs (#3651)
* Add service account field to run and job api objects

* Update description

* Fix field casing

* Use service account from api object

* Fix bug and add unit test

* [UI] Allow choosing Kubernetes service account

* fix unit tests

* fix format

* Also clone service account

* service account UI features

* Add unit test for cloning service account

* Fix frontend integration tests
2020-05-06 20:39:09 -07:00
Yuan (Bob) Gong 02fabd306e
[Testing] Use google/cloud-sdk:279.0.0 to resolve workload identity flakiness (#3019)
* [Testing] Use gke 1.15.8 to mitigate workload identity flakiness

* Upgrade gcloud version

* Update image builder image too

* Turn on workload identity

* Update deploy-cluster.sh

* secret sample uses python3 instead

* Increase xgboost time limit

* Revert files with bad format

* Update component and pipelines to use gcloud 279.0.0

* Fix secret sample using python3

* Upgrade frontend integration test image

* Rebuild frontend integration test image
2020-02-11 18:34:07 -08:00
jingzhang36 a04ef2d444 Add pipeline version support to frontend (#2667)
* FE changes for version ui

* sort methods; remove console

* format

* remove obsolete snapshots

* cosmetic change: simplify href link construction

* fix the clone run behavior when version present

* format

* run-integration-test

* frontend-integration-test: try to simulate uploading file

* fix frontend-integration-test

* address comments

* address comments and add one more unit test
2019-12-06 01:44:50 -08:00
Alexey Volkov 1c566f8bd1 Tests - Use base image for frontend tests (#190)
* Tests - Use base image for frontend tests

* Moved the base image to ml-pipeline-test bucket.
The ml-pipeline-staging bucker is inaccessible by the image-builder container.

* Moved the gcloud installation to the base image

* Setting correct user for /src

* Trying to chown the directory using a different technique.

* GCP SDK is now in /tools/

* Using the official gcloud install method
See https://github.com/GoogleCloudPlatform/cloud-sdk-docker/blob/master/debian_slim/Dockerfile

* Running gcloud only under the seluser user

* COPY --chown=seluser
For some reason the root, not the active user owns the data copied using COPY

* No need to run apt-get update again.
Cleaning files before committing the layer.
Installing pip using apt-get (it's no longer in python-setuptools)
2019-10-22 19:52:13 -07:00
hongye-sun c5418fdb46 Fix github security alert. (#1798) 2019-08-11 14:25:10 -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
Yasser Elsayed a0433a31d8
Add rileyjbauer to frontend integration tests OWNERS (#1447) 2019-06-06 14:52:52 -07:00
Riley Bauer e9664bde52 Pin selenium chrome version (#1457) 2019-06-06 12:41:28 -07:00
Riley Bauer 25cb766dae Adds a toggle between one-off and recurring runs to NewRun page (#1274)
* Allows toggling between one-off and recurring runs in the new run page

* Clean up and adds tests

* Fix integration test - account for extra field in form

* Cleanup and PR comments
2019-05-04 11:29:37 -07:00
Riley Bauer d88ba380bc Clear default exp table on delete and create default exp on run create if none exists (#1199)
* Clear default exp table on delete and create default exp on run create
if no default exists

With this change, if the delete experiment API is called on the default
experiment, then the ID will also be removed from the default_experiments
table.

Additionally, if the default experiment doesn't exist and a new run is
created without an experiment, a new default experiment will be created,
and the run will be placed within this experiment.

* Adds integration test for creating a run without an experiment

* Fixes failure to close database connection and adds tests for recreating and deleting default experiment

* Rename function

* Revert some row.Close() calls
2019-04-29 12:13:35 -07:00
Riley Bauer 4de20179c6 Update to version 3.0.2 of npm package 'extend' (#1211)
* Update to version 3.0.2 of npm package 'extend'

* Use 'new' with Storage
2019-04-24 10:24:10 -07:00
Riley Bauer b29266351e Allow creating runs without experiments (#1175)
* Adds 'Create run' button to experiment list / all runs page

* Add run without experiment and filtering to FE integration test

* Update snapshots

* Add refresh and wait to integration test

* Adjust

* Adjust

* Don't exit integration test early if npm test fails

* PR comments

* TEMP - take screenshots to debug integration test

* Store screenshots

* Remove create run without experiment integration test for now as it fails due to the default experiment being deleted at the end of the API initialization and integration test suites
2019-04-22 11:59:45 -07:00
Riley Bauer fbae0f855e Creates a default experiment at API server set up time (#1089)
* WIP - Create default experiment upon API server initialization

* Default experiment initialization caused crashes if API server pod was restarted without clearing DB

* Adding new table to store default experiment ID

* Add default experiment type model definition

* Minor fixes, everything seems to work now

* Clean up. Renamed to default_experiment_store

* Adds tests for the default_experiment_store

* Add integration test for verifying initial cluster state. Currently only covers existence of default experiment

* Don't run initialization tests except as integration tests

* Fixes comments

* PR comments and cleanup

* Extract code in resource_manager to helper func
2019-04-15 15:55:04 -07:00
Riley Bauer 94925ff2bd Add run termination controls to ui (#1039)
* Update swagger definitions

* WIP - Adds ability to terminate runs to frontend

* Update snapshots

* Adds tests. Also changes warning message color to orange rather than red

* Remove refresh button from run details page

* Elaborate terminate confirmation message

* Minor fixes

* Remove references to refresh button from integration tests
2019-04-01 10:18:35 -07:00
Yasser Elsayed b79bb5f527 Deflake frontend e2e test (#904) 2019-03-04 17:55:03 -08:00
Riley Bauer 600acbdd23
Updates lodash to version 4.17.11 (#803)
* Pin lodash version

* Commit updated package-locks
2019-02-13 10:40:21 -08:00
Yasser Elsayed be19cbc259 Refactor UI buttons to lib file (#737)
* refactor buttons to lib file

* Add license header

* fix e2e test
2019-01-28 11:27:45 -08:00
Riley Bauer d9665549ce Use "create" rather than "start" except when initiating a run (#650)
* Uses 'Create' for all actions that lead to creation flow, or result in a static object (experiment). 'Start' is used solely for initiating runs

* Update integration test
2019-01-09 11:56:45 -08:00
Riley Bauer 114c99d808 Add experiment selector to NewRun (#486)
* Adds an experiment selector to the new run page. Needs tests

* Adds an experiment selector to the new run page. Needs tests

* Adds tests for the new experiment selector in NewRun

* Rename PipelineSelector -> ResourceSelector since it handles experiments as well

* Makes ResourceSelector more abstract. No longer coupled to experiments and pipelines

* PR comments, NewRun clean-up

* Moves resourceToRow function into ResourceSelector

* Fix e2e test
2018-12-07 13:50:01 -08:00
Yasser Elsayed 5c9010cdf8
Refresh and wait for run to start (#472) 2018-12-04 19:14:12 -08:00
Yasser Elsayed 401f738ec2
Wait until logs appear right (#459) 2018-12-04 15:40:08 -08:00
IronPan 9b77d4a8a6 Switching test to kubeflow deployment (#351)
* test

* fix

* fix

* fix

* fix

* fix

* update

* cleanup

* fix

* coopy test

* chmod

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* update

* fix

* fix

* fix

* fix

* fix

* fix

* fix sample test

* fix

* fix

* merge

* update image builder image

* update script

* mount permission
2018-11-28 21:36:12 -08:00
Yasser Elsayed a2e533da49 increase timeout waiting for test run to start (#392) 2018-11-27 16:58:10 -08:00
Alexey Volkov bcbb2c51b9 Tests - Fixed many test issues (external PRs, code de-sync) by getting rid of git clone (#315)
* Tests - Getting rid of git clone in */run_test.sh
run_test.sh scripts no longer pull the repo code, because the code is now correctly baked in during the image build. This saves ~11 pulls per commit
Backend unit test image is now build as part of the test suite

* Added target-image-prefix parameter to simplify test configuration

* Build all images from source code prepared by Prow. Got rid of git pulls
All images are now built from archived version of code the source code prepared by Prow.
This saves 25 more pulls and improves test reliability.
The archived source code location is passed through image-build-context-gcs-uri parameter.

* Addressed the PR feedback.
2018-11-26 13:56:49 -08:00
Riley Bauer 4550513ed0 Adds NewRun tests (#242)
* Adds tests for the NewRun page

* Add more tests

* Adds many more tests, cleans-up PipelineSelector a bit, and fixes bug in Utils.ts

* Update create run button ID in e2e test

* Test clean-up and PR comments
2018-11-14 16:31:21 -08:00
nealgao 790cb36f73 Move basic sample tests to e2e tests (#235)
* move basic sample tests to e2e tests

* remove pipeline deletion to avoid conflicts with concurrent basic e2e tests.
2018-11-14 13:51:54 -08:00
Alexey Volkov f0c189f3a5 Marked scripts as executable (#188)
chmod +x scripts
2018-11-09 19:50:30 -08:00
Pascal Vicaire 3df28a9700 Updating OWNERS files. Adding per-subdirectory OWNER files. 2018-11-05 14:03:33 -08:00
Pascal Vicaire 633e2ddcc8 Initial commit of the kubeflow/pipeline project. 2018-11-02 14:02:31 -07:00