Commit Graph

376 Commits

Author SHA1 Message Date
dependabot[bot] 24100c45e1
chore(deps): bump immer from 1.10.0 to 8.0.1 in /frontend (#5018)
Bumps [immer](https://github.com/immerjs/immer) from 1.10.0 to 8.0.1.
- [Release notes](https://github.com/immerjs/immer/releases)
- [Commits](https://github.com/immerjs/immer/compare/v1.10.0...v8.0.1)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-29 01:14:10 -08:00
dependabot[bot] 3fcd5e784e
chore(deps): bump axios from 0.19.2 to 0.21.1 in /frontend/server (#4949)
Bumps [axios](https://github.com/axios/axios) from 0.19.2 to 0.21.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v0.21.1/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.19.2...v0.21.1)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-29 01:14:01 -08:00
James Liu bf655186a3
feat(frontend): Add Task Details tab when clicking a node: Info includes ID, Name, Time, Status. Fixes #4699 (#5023)
* Add Task Details tab when clicking a node: Info includes ID, Name, Time, Status

* fix test and add comment

* Address comments

* address comment, move tab to right order

* small update on the optional chaining

* test the python upgrade for presubmit failure

* Try with python 3.8 for latest stable version

* Change python 3.7 because 3.8 is not supported by current ml-metadata version

* Update Dockerfile

Co-authored-by: Yuan (Bob) Gong <4957653+Bobgy@users.noreply.github.com>
2021-01-26 03:37:01 -08:00
Niklas Hansson f653913096
fix(frontend): updated the docs to point to the correct cron expression descriptions. Fixes #2654 (#5028)
* updated the docs to point to the correct cron expression descriptions

* fix test
2021-01-22 16:09:40 -08:00
Ilias Katsakioris dbd4370e94
feat(frontend): Add run ID and workflow name in RunDetails config. Part of #4921 (#4922)
* [UI] Show run ID in the config tab of RunDetails

* [UI] Show workflow name in the config tab of RunDetails
2021-01-07 23:44:53 -08:00
Ilias Katsakioris e806f45972
fix(frontend): Change CachedIcon to something more intuitive (#4912)
Change the icon used on cached steps to make them more intuitive.
The previously used CachedIcon (from material UI) can be easily confused
with some kind of 'loop' or 'sync'.

This commit changes the icon used to a combination of SuccessIcon and
CachedIcon from the material UI library. This clarifies that the step
actually ran successfully and its execution was cached.
2020-12-23 22:58:26 -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] 5443d176b4
chore(deps): bump ini from 1.3.5 to 1.3.7 in /frontend (#4889)
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.7.
- [Release notes](https://github.com/isaacs/ini/releases)
- [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.7)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-16 23:39:09 -08:00
Yuan (Bob) Gong df7a66f3b7
fix(frontend): fixed getting executions failure. Fixes #4903 (#4907) 2020-12-16 19:09:09 -08:00
meowcakes d4e8b8736c
fix(frontend): Use task_display_name annotation when displaying run metrics (#4875)
* use task_display_name annotation when displaying metrics

* remove unused import

* forgot to run code formatting

* address nitpicks
2020-12-16 01:44:20 -08:00
Rui Fang 982b506d4e
chore(release): update @kubeflow/frontend to include MLMD client upgrade to 0.25.1 (#4866) 2020-12-03 20:49:26 -08:00
Feng Li 1108ad340b
fix(frontend): Fix the yaml cannot show in Safari browser issue. Fixes #4727 (#4818) 2020-11-30 20:54:51 -08:00
DavidSpek 0df9473bba
feat: Set current namespace for in-cluster SDK in multi-user mode and add healthz endpoint to API backends (#4638)
* Set current namespace in local KFP context if running from notebook

* Create "~/.config/kfp/" instead of ".config/kfp/"

At first it was assumed the `get_user_namespace` command would be executed from the home directory.

* Create local context file if it doesn't exist during set_user_namespace

* Grab path from LOCAL_KFP_CONTEXT when creating folder

Instead of harcoding the os.mkdirs path to `~/.config/kfp` it now grabs it from the LOCAL_KFP_CONTEXT. Also, removed path creation in `get_user_namespace` as that is now handled in `set_user_namespace`. Also, it now checks if the path exists rather than the local_context_file to remove the situation where it tries to create ~/.config/kfp/ because the context.json doesn't exist when the path does.

* add multi-user setting to healthz api

* Add http prefix to health api url

* move healtz api call to own function and fix multi_user boolean

* Fix HEALTH_PATH declaration

* Move check to Client __init__ and change get_kfp_healthz to avoid breaking in case of old apiserver image

* Add multi_user to frontend healthz

* Expose multi_user in frontend and add integration test

* Fix integration test

* Fix host hardcoding and error handling

* Handle empty API response, check if API up to date

* Fix response return

* remove API check due to empty response

* retry API call if first response empty

* retry getting healthz api if no response

* change health_api to https

The healthz_api has been returning empty responses which might be caused by sending an http request to an https endpoint. Although requests handles redirects, this commit is to test if this solves the issue.

* Add some debug info to healthz exception

* add url to debug and lower retries to 1

* Use api_client to get healthz data

* Debug info for API response

* Follow API redirect history

* Fix indentation

* Add healthz proto

* Try getting healthz api with new python backend

* Add installation of kfp_server_api in tests

* Fix incorrect setup location

* Replace old .get with new http backend .multi_user

* Code clean up

* Small fixes and TimeOutError for retries healthz api

* Remove changes to go dependencies

* Send empty proto request and fix exception client

* Remove unused commit_sha and tag_name
2020-11-24 15:36:39 -08:00
Ilias Katsakioris e3bbf1645f
fix(frontend): Fix logic deciding if a node was cached. Fixes #4814 (#4819)
The UI was deciding whether a node was cached based on whether it was
pointing to some other node's output artifacts.

This works for nodes that correspond to pods, but leads to a wrong
decision for the rest of the nodes. For example, if the node is a Retry
one, it points to another node's outputs because it is that other node
that actually produced them.

We now apply this logic on pod-type nodes only.

Fixes #4814

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>
2020-11-24 01:07:01 -08:00
Yuan (Bob) Gong b34e057199
chore(frontend): update external urls (#4791)
* chore(frontend): update external urls

* update snapshots
2020-11-19 21:42:51 -08:00
Rafał Bigaj 678ae0fe08
feat(backend): new server API to read run log. Fixes #4468 (#4493)
* New server API: read run log

- The new server API endpoint (/apis/v1beta1/runs/{run_id}/nodes/{node_id}/log) to fetch run log
- `ARCHIVE_LOG_FILE_NAME` and `ARCHIVE_LOG_PATH_PREFIX` options allows to control archive log path
- UI Server fetches logs from server API or directly from k8s depending on `STREAM_LOGS_FROM_SERVER_API` option

* New server API: read run log

- ml-pipeline rbac update: allow for access to log

* Read run log: enhanced error handling

- log message on Pod access errors

* Read run log: enhanced log archive options

* Code format

* Test update after getPodLogs signature change

* Updated comments after review

* `follow` query parameter in GET /apis/v1beta1/runs/{run_id}/nodes/{node_id}/log

* Env variable friendly config names & comments

- Config options: ARCHIVE_CONFIG_LOG_FILE_NAME, ARCHIVE_CONFIG_LOG_PATH_PREFIX
- Copyright message update
- New endpoint as `v1alpha1`

* Licence updates

- fluent-bit licence inlined
- copyright message updates

* Master merge

- dependency conflicts
2020-11-11 00:37:50 -08:00
Yuan Gong 66ccf335e8 chore: update OWNERS 2020-11-09 10:18:18 +08:00
Yuan (Bob) Gong e3992faf83
feat(frontend): UX change to support downloading directory artifacts. Fixes #3667 (#4696)
* feat(frontend): change artifact link to download without extracting. Fixes #3667

* update artifact preview UX

* Fix tests

* add frontend unit tests

* fix

* move artifact integration tests to its own file

* fixed flaky aws-helper test

* refactor and add ui server integration tests

* Update UX according to feedback

* update snapshots

* Update minio-helper.ts

* update
2020-11-03 05:36:15 -08:00
Alexey Volkov 85bdbc1773
feat(frontend): Show full node names. Fixes #3989 (#4663) 2020-10-23 20:33:01 -07:00
radcheb 02b0899dd9
fix(frontend): fix parsing large workflow graph. Fixes #4179 (#4180)
* frontend: add large pipeline example to mocked data

* add util function decodeCompressedNodes

* decode compressedNodes in workflow if node is empty and compressedNodes exit

* fix decodeCompressedNodes

* prettify code

* Frontend:test Utils decodeCompressedNodes

* test RunDetails page render compressed grah

* add util function decodeCompressedNodes

* Frontend:test Utils decodeCompressedNodes

* test RunDetails page render compressed grah

* reformat code

* update jest snapshot to add compressed node case

* fix tests

* reformat code

* update RunDetails snapshot

* remove dupplicate test code

* RunDetails: remove compressedNodes after decoding it

* reformat decodeCompressedNodes + add failure case test

* decodeCompressedNodes returns undefined on error

* RunDetails decodeCompressedNodes test: snapshot same as single node graph

* do not wait for decodeCompressedNodes + debug print workflow

* fix Run load + refresh snapshot

* format code

* Fix one-node compressed workflow graph + update snapshot

* reformat code

* rename large pipeline name

* fix decompressNodes to work in browser

* fix test

* fix tests

* remove some of the console.log

* clean code

* address comments

* address comments: wait for zlib instead of mocking decodeCompressedNodes

* address comments: decodeCompressedNodes reject in case of error + catch error on run load

* address comments
2020-10-16 07:27:26 -07:00
Yuan (Bob) Gong 21d84ef195
chore: update @kubeflow/frontend to include MLMD client upgrade to 0.22.1 (#4605) 2020-10-09 21:40:46 -07:00
Yuan (Bob) Gong fffe830ba9
test(frontend): make run details graph captured in unit test snapshot (#4538) 2020-09-23 03:32:09 -07:00
dependabot[bot] 4c9282b720
chore(deps): bump http-proxy from 1.17.0 to 1.18.1 in /frontend (#4480)
Bumps [http-proxy](https://github.com/http-party/node-http-proxy) from 1.17.0 to 1.18.1.
- [Release notes](https://github.com/http-party/node-http-proxy/releases)
- [Changelog](https://github.com/http-party/node-http-proxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/http-party/node-http-proxy/compare/1.17.0...1.18.1)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-11 20:18:57 -07:00
Eterna2 ca29b5c964
fix(frontend): do not render Retry nodes in UI DAG as they are virtual nodes. Fixes #4425 #2705 (#4474)
* Fix #4425 #2705: do not render Retry nodes as they are virtual nodes with no physical counterpart - e.g. pod logs.

* Add unit test for filtering our virtual retry node
2020-09-11 18:28:57 -07:00
dependabot[bot] ef5b633ff8
chore(deps): bump node-fetch from 2.6.0 to 2.6.1 in /frontend/server (#4485)
Bumps [node-fetch](https://github.com/bitinn/node-fetch) from 2.6.0 to 2.6.1.
- [Release notes](https://github.com/bitinn/node-fetch/releases)
- [Changelog](https://github.com/node-fetch/node-fetch/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/bitinn/node-fetch/compare/v2.6.0...v2.6.1)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-11 17:42:58 -07:00
dependabot[bot] 83a7ae27b3
chore(deps): bump http-proxy from 1.18.0 to 1.18.1 in /frontend/server (#4470)
Bumps [http-proxy](https://github.com/http-party/node-http-proxy) from 1.18.0 to 1.18.1.
- [Release notes](https://github.com/http-party/node-http-proxy/releases)
- [Changelog](https://github.com/http-party/node-http-proxy/blob/master/CHANGELOG.md)
- [Commits](https://github.com/http-party/node-http-proxy/compare/1.18.0...1.18.1)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-06 18:27:41 -07:00
dependabot[bot] bec0592348
chore(deps): bump bl from 3.0.0 to 3.0.1 in /frontend/server (#4456)
Bumps [bl](https://github.com/rvagg/bl) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/rvagg/bl/releases)
- [Commits](https://github.com/rvagg/bl/compare/v3.0.0...v3.0.1)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-09-02 19:19:39 -07:00
haibingzhao 7f77e8bc7f
feat(frontend): support tensorboard viewer and other visualize Results using volume mount path. Part of #4208 (#4236)
* support local file storage type for local volume mount path, refer: https://github.com/kubeflow/pipelines/issues/4208

* add todo comment to support directory and filePath include wildcards '*', detail refer: https://github.com/kubeflow/pipelines/issues/4208

* revert old code indent

* run 'npm run format' to format code

* support tensorboard viewer and other visualize Results using volume mount path, modify 'file' schema to 'volume':

1. source schema: volume://volume-name/relative/path/from/volume/xxx.csv
2. for tensorboard(also support Series1:volume://volume-name/path_to_model_dir_1,Series2:volume://volume-name/path_to_model_dir_2):
* check volume-name was specified in podTemplateSpec( which was inject by VIEWER_TENSORBOARD_POD_TEMPLATE_SPEC_PATH env)
* check /relative/path/from/volume/xxx file path was prefix-mounted in podTemplateSpec
3. for others:
* check volume-name was specified at ml-pipeline-ui pod
* check /relative/path/from/volume/xxx.csv file path exist

* fix test and add more tests

* change error message not found to not exist.

* fix tensorboard create test

* combining volume mount path and key as artifacts path

* extra complex code to a function and add more test

* use ml-pipeline-ui container name to find server container instead of use containers[0]

* fix review suggestion: https://github.com/kubeflow/pipelines/pull/4236

* format code

* extract how to find file path on a pod volume to a common function, and optimize error message

* fix k8s-helper.test error

* add more documentation and fix mistake: volumeMountPath to filePathInVolume

* fix test error

* Update k8s-helper.test.ts

* format error message

Co-authored-by: Yuan (Bob) Gong <gongyuan94@gmail.com>
2020-08-06 01:06:55 -07:00
dependabot[bot] 088410e110
chore(deps): bump elliptic from 6.4.1 to 6.5.3 in /frontend (#4306)
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.4.1 to 6.5.3.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](https://github.com/indutny/elliptic/compare/v6.4.1...v6.5.3)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-05 03:44:28 -07:00
Yuan (Bob) Gong c7300c343c
fix: all big enough ui proxy requests fail with error proxying with partial data (#4266)
* fix: all big enough ui proxy requests fail with error proxying with partial data

* Fix naming
2020-07-23 21:16:22 -07:00
dependabot[bot] 84b0aa2158
chore(deps): bump lodash from 4.17.15 to 4.17.19 in /frontend (#4237)
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 02:32:49 -07:00
dependabot[bot] 98e828b218
chore(deps): bump lodash from 4.17.15 to 4.17.19 in /frontend/server (#4225)
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-16 18:29:00 -07:00
Renmin 7f39f18db7
better native-keras based sample (#3900)
* move seq

* for test

* updated test
2020-06-22 02:24:40 -07:00
jingzhang36 53d0244538
enable pagination when expanding experiment in both the home page and the archive page (#4008) 2020-06-17 04:38:39 -07:00
Eterna2 4d2e31711f
Fix #3980 - mockapi tsconfig should reference root dir correctly (#4006) 2020-06-17 02:48:40 -07:00
Jonas De Beukelaer 040615c87f
Fix/log unavailable warning (#3848)
* [UI] only allow troubleshoot link on error banner

* [UI] improve use of banners in run view sidepanel

* [UI] add info type banner
2020-06-16 20:32:39 -07:00
dependabot[bot] 710c664660
Bump websocket-extensions from 0.1.3 to 0.1.4 in /frontend (#3929)
Bumps [websocket-extensions](https://github.com/faye/websocket-extensions-node) from 0.1.3 to 0.1.4.
- [Release notes](https://github.com/faye/websocket-extensions-node/releases)
- [Changelog](https://github.com/faye/websocket-extensions-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/faye/websocket-extensions-node/compare/0.1.3...0.1.4)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-06-08 00:47:46 -07:00
Jiaxin Shan 3cae116992
Generate clickable artifact url for s3 URI (#3531)
* Generate clickable artifact url for s3 URI

Signed-off-by: Jiaxin Shan <seedjeffwan@gmail.com>

* Format code using prettier@1.19.1

* Fix unit test failure

* Use encoded string in bucket url
2020-05-30 21:11:53 -07:00
Yuan (Bob) Gong 508f31aa0f
[UI] Also cloning recurring run schedule, fixes #3761 (#3840)
* [UI] Also cloning recurring run schedule

* Fix unit test for trigger and utils

* Add and fix unit tests for Trigger

* Add NewRun page unit tests

* Fix unit tests

* Fix jest test timezone
2020-05-25 05:03:12 -07:00
Yuan (Bob) Gong 0199de0cd0
[UI] Fix confusion matrix wrong axes (#3817)
* [UI] Fix confusion matrix wrong axes

* Fix confusion matrix background opacity
2020-05-22 00:18:38 -07:00
Yuan (Bob) Gong 61960efb87
Add probes to metadata grpc service (#3765)
* Add probes to metadata grpc service

* Fix port name length limit

* Update README.md
2020-05-14 13:50:59 -07:00
Yuan (Bob) Gong 5435e8724f
[UI Server] Refactor for configurable auth header (#3753)
* [UI] Make auth header configurable

* Refactor authorizeFn to move side effects out

* Refactor tests to reduce duplication
2020-05-12 22:06:25 -07:00
Yuan (Bob) Gong bb0c4d9805
[UI] Show tooltip on long version names (#3750)
* [UI] Show tooltip on version name in selector

* Update snapshots

* Add tooltip for pipeline version in run list

* refactor code
2020-05-12 20:38:26 -07:00
Yuan (Bob) Gong 06cd029af9
[UI] Fix artifact preview with outdated content (#3749)
* Fix preview with outdated content

* Update snapshot
2020-05-12 19:50:26 -07:00
Yuan (Bob) Gong bd4be88705
[UI] Wrap parameter/urls on overflow (#3747)
* [UI] Wrap parameter/urls on overflow

* Add comment about css

* Let artifact preview take over full width
2020-05-12 17:14:26 -07:00
Yuan (Bob) Gong e8356bc37a
Show version tag in UI (#3743)
* Show version tag in UI

* Add new arguments to test cloudbuild configuration

* backend cloudbuild should use commit_sha as argument

* Fix minor bug during dev
2020-05-12 11:02:21 -07:00
Eterna2 e57a61916c
Fix bug in #3707 - href should show full artifact content instead of preview (#3745) 2020-05-12 05:00:20 -07:00
Eterna2 30345d1d49
[frontend] Show artifact preview in UI (#2172) (#3707)
* show a preview of an artifact in the ui

* Add styling to preview box

* fix minor typo in unit test

* minor fixes + DetailsTable now accepts a ValueComponent again

* encode uricomponent for generate artifact url

* fix classname typo

* Added valueComponentProps for DetailsTable for better type checking.

* fix mock bug in test. peek -> maxbytes & maxlines for MinioArtifactPreview

* fix format

* mock Editor
2020-05-11 19:42:24 +08:00
Yuan (Bob) Gong b1c9976627
[UI] Make visualization tab easier to understand (#3717)
* Rename artifacts tab to visualizations and add documentation link

* Show a banner when no visualizations

* Clean up code

* Update snapshots

* Fix banner tests

* Add unit test for visualization creator

* Update VisualizationCreator.tsx

* Update VisualizationCreator.tsx
2020-05-08 21:53:51 -07:00
jingzhang36 fe019088e5
remove an accidentally committed debugging log (#3716) 2020-05-09 11:22:15 +08:00