Commit Graph

255 Commits

Author SHA1 Message Date
Yuan (Bob) Gong 02758421e7
Prepare snapshot for cra migration (#3159) 2020-02-23 23:34:47 -08:00
Yuan (Bob) Gong 6c0dcc6c59
[UI] Scheduled workflow catchup=false option (#3131)
* Update codegen instruction

* Regenerate api

* [UI] scheduled workflow catchup option

* Show catchup in recurring run details page

* Add help button to introduce swf catchup=false

* Update snapshots and fix tests
2020-02-20 20:52:33 -08:00
Yuan (Bob) Gong 24d77ed4b0
Move sidenav to top level, so its instance never changes (#3117) 2020-02-19 06:08:26 -08:00
Yuan (Bob) Gong 9b723bfe97
[UI] deep links to pipeline details page from start page (#3086)
* [UI] deep links to pipeline details page from start page

* Fix

* Update GettingStarted.tsx

* Update GettingStarted.tsx

* Update GettingStarted.tsx

* Adjust format to improve readability

* Use react-testing-library for getting started page tests

* Add error case unit tests

* Frontend import sample config from jsonn and presubmit test to verify configs are synced

* Update presubmit test error message

* Changed to sync only sample_config.json name to frontend

* Improve error message

* Fix tests
2020-02-17 08:13:30 -08:00
Renmin 10293ac6c7
add link to allow user easily report issue (#3030)
* done

* done

* done

Co-authored-by: renmingu <40223865+renmingu@users.noreply.github.com>
2020-02-12 04:34:51 -08:00
Yuan (Bob) Gong f0d96b77f6 [UI] Fix side nav text alignment after adding start page (#3015)
* Fix side nav text alignment after adding start page

* Fix format
2020-02-07 22:55:52 -08:00
Realsen cb4f4ba59e
Add support for automatic visualization of TFX artifacts (#2957)
* Basic prototype

* Get kfpPodName from RunDetails page

* disable tfma visualization

* Refactor more stuff

* Remove MLMD protos

* Adapt to kubeflow/frontend PR #29

* Don't throw errors if artifacts and contexts are not in MLMD

* Revert unnecessary changes

* Update package.json to include the latest kubeflow/frontend commit

* Restore changes to package.json and package-lock.json

* Address comments

* Use new TS syntax for concatenating lists, as per @Bobgy's suggestion

* Use @Bobgy's suggestion to re-throw exceptions with error messages

* Catch all exceptions and return an empty list for them.

* npm run format

* use === instead of ==

* Apply suggestions from code review

* Fix @kubeflow/frontend by using a forked fix

* Fix unit test failure

* Fixed error handling and code clean up

* Restructure output artifact loader to change detailed implementation as local functions instead of public static methods.

Co-authored-by: Yuan (Bob) Gong <gongyuan94@gmail.com>
2020-02-03 03:23:21 -08:00
sina chavoshi 8b6bf7e44f
[UI] Adding Troubleshooting guide link to Error / Warning Banner (#2930)
* [WIP] UI updated for daignose_me and FAQ Page

* Added message to banner directly and update test

* mintor changes to remove extra space

* changed Details button to match refresh

* Fixing formatting error

* Removing redundant CSS for troubleshooting link
2020-01-31 13:33:21 -08:00
Yuan (Bob) Gong 4709c6b42f
[UI] Getting started page for hosted pipelines (#2935)
* Implement getting started page.

* Add feature flag to only show getting started page on hosted pipelines

* Add tests

* Fix format

* Implement requested layout in getting started page

* Minor adjust layout

* Fix tests

* Fix snapshots

* Update page title
2020-01-31 12:35:20 -08:00
kwasi 0ad6a55b63
[MLMD][Lineage] Integrate Lineage View into KFP (#2918)
* Minimal change to verify that the new image will work on Marketplace

* Very rough working copy of LineageView in KFP

* Update kubeflow-frontend dependency

* Fix lint errors

* Update to latest version of kubeflow-frontend

* Update licenses to make gen_licenses script pass in Docker build
* Revert docker build dev change

* Bump kubeflow/frontend hash to latest version with pre-built library

* Remove debug string

* Replace metadata APIs with versions from kubeflow/frontend

* Use latest dev version of kubeflow/frontend package

* Pass route builder to ArtifactDetails for building details pages routes

* Review ResourcesInfo.tsx

* Review changes part 2

* Revert change to Status snapshot

This PR has no changes to the Status page, but the snapshot fails
locally for me unless I update the snapshot.

Reverting to the initial state to try to fix build failures.

* Revert Status snapshot to master

* Remove unneeded @ts-ignore

* Bump to latest mainline kubeflow/frontend hash

* Respond to comments PR comments

* Scope kubeflow/frontend to @kubeflow/frontend in package.json
* Use explicit tab name ordering
* Make ArtifactDetails class functions members to avoid binding

* Add missing await when loading ArtifactList

Fixes issue where loading spinner hides immediately before artifact list
loads.

* Fix casing on global constants in ArtifactDetails

* Improve readability on ExecutionList.tsx

* Remove `()!` pattern caused by not having @types/google-protobuf

* Remove a stray @ts-ignore

* Remove side effects from getRowsFrom{Artifacts,Executions}

* Add error handling back to Artifact and Execution pages

* Fix error message handling on getArtifacts()

* Fix ArtifactList response

* Check for potentially undefined `code` in serviceErrorToString

* Restore missing error handlers
2020-01-30 17:18:18 -08:00
Yuan (Bob) Gong c482d935cd [UI] Add tooltips to table name columns so they can be read fully (#2894)
* Add tooltips to table name columns so they can be read fully

* Update test snapshot

* Fix lint errors
2020-01-22 01:24:34 -08:00
Andrew Butler a29df34957 [UI] Add editor for json parameters in new run page (#2747)
* Add editor for json parameters in NewRun page

* Remove special formatting on start
When starting the pipeline remove special formatting used to display the json in the editor
Small code rework

* Add EnhancedTextField sub component

* Update tests and fix formatting

* Fix loss of focus and nits

* Add test for submitting a run with json parameters

* Test cleanup
2020-01-13 22:33:08 -08:00
jingzhang36 9a3a5c15cb Fix a typo in Tensorboard.tsx. Add a default TB version. (#2832)
* Fix a typo. Add a default TB version

* Comment and format

* rename const
2020-01-13 00:09:37 -08:00
Yuan (Bob) Gong e824c0b2f6 [UI] Show corresponding GKE cluster name (#2789)
* Add cluster name at the bottom of side panel

* Add unit test
2020-01-02 01:47:39 -08:00
Yuan (Bob) Gong 488805c683 [UI] Fix UI crash when invalid pipeline uploaded (#2774)
* Fix UI crashing when invalid pipeline uploaded

* Fix existing tests

* Use dive instead of shallow

* Add test case for error behavior
2019-12-26 01:35:38 -08:00
dldaisy 5c27fa82c8 Support choosing tensorboard version from UI (#2690)
* Support select tensorflow image for tensorboard

* modify test for tensorflow version select

* delete not available image entry

* Support tensorflow image selection to run tensorboard

* format code with prettier

* use HasPrefix instead of regexp

* delete

* modified tensorboard test

* delete tensorboard

* modify typo

* test tensorboard

* tensorboard test

* fuck

* fuck2

* modify test

* modify typo in tensorboard hint

* npm run format

* modify tensorboard snapshot

* compatible with previous kfp version. Allow vacant tensorflowImage field.

* add 2 tests for dialog

* modify default tensorflow image to 1.13.2

* merge get version and get tensorboard; let --bind_all support tensorboard3.x

* modify reconciler.go

* reconciler rollback

* modify corresponding test for --bind_all

* modify requested chances 12/23

* formControl sorted alphabetically

* select sorted alphabetically

* modify details from PR request 12/24

* moidfy format

* modify details 12/23

* modify snapshot

* retest

* retest
2019-12-24 03:39:29 -08:00
Feng Li 1285fd9fd9 update the snap file (#2752) 2019-12-21 04:37:33 -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 5ca787aa38 Frontend - Add support for Minio artifact URIs (#2645)
* Frontend - Add support for Minio artifact URIs

* Fixed style

* Removed unused variable

* Old Node does not support named capture groups in regexes

* Made the URL relative
2019-11-27 18:55:03 -08:00
Yuan (Bob) Gong 1b8daf7830 Trim pipeline upload url before sending to backend (#2630) 2019-11-19 23:49:18 -08:00
Yuan (Bob) Gong 0f0bb1d7e1 [UI] Separate page state for each page instance (#2622)
* Refactor Router to add failing test for inconsistent page title bug

* Separate toolbar state between page instances

* Revert unneeded change

* Rename to better reflect functionality

* Fix lint errors, disable lint for test files
2019-11-18 20:19:41 -08:00
Yuan (Bob) Gong 4a0a420b13 Add external links that make some content easier to discover (#2068)
* Add external links that make some content easier to discover

* Use appropriate icons for each external link

* Update snapshots

* Fix lint errors

* Add documentation link for compile pipeline in upload pipeline dialog

* Update snapshots
2019-11-05 19:50:59 -08:00
Alexey Volkov 499e24bdca Frontend - Added support for https artifact links (#2517)
* Added support for https artifact links

* Fixed formatting and description

* Renamed GcsLink to ArtifactLink

* Fixed lint issues
2019-11-01 13:03:41 -07:00
Yuan (Bob) Gong 26a244de24 Enlarge choose pipeline dialog to show more description (#2494)
* Fix description typo

* Format mock-backend/fixed-data.ts

* Make choose pipeline dialog bigger, render description in markdown

* snapshot fix
2019-10-25 07:31:39 -07:00
Yuan (Bob) Gong 479b1d1b60 [Frontend] Fix log viewer double scrollbar bug + not scrolling to bottom bug (#2480) 2019-10-24 02:25:09 -07:00
Yuan (Bob) Gong b72de99f0e Format all source files under frontend/src using prettier (#2462)
* Format frontend/src

* Fix lint errors

* Update snapshots
2019-10-22 02:55:21 -07:00
Yuan (Bob) Gong c82f8439d3 Fix CustomTable.tsx layout problems (#2444)
* Reformat files I will touch first

* Refactor CustomTable: extract selection section components

* Fix CustomTable layout issues for all combinations of expand button, radio button and disable selection options

* Fix snapshot tests

* Fix lint warnings
2019-10-21 21:31:20 -07:00
Yuan (Bob) Gong 7b918bcf01 [Frontend] Make links in pipeline description clickable (#2376)
* [Frontend] Make links in pipeline description clickable

* Improve, only use word break for links

* Prevent event bubbling

* Change the implementation to allow markdown rendering of pipeline description. Use inline format when in pipeline list page, and normal format in detail page.

* fix semicolon

* Adjust pipeline sample wording, use markdown link

* Refactor markdown viewer test to snapshot real html content

* Use markdown-to-jsx instead of markdown-it because it is compatible, but smaller

* Updated link to corresponding README files

* Update package and package lock

* Adjust link styling:

1. Use our theme color
2. Hide underline initially and show it on hover
demo: https://drive.google.com/file/d/1TVXJovghgUOTSQIO8vBkqo6LVOEhAC6H/view

* Update snapshot
2019-10-21 12:34:07 -07:00
Yuan (Bob) Gong 8bdc4ba9e0 [Frontend] Prettier config to be consistent with existing code style (#2409)
* Install and configure prettier to be consistent with existing code style

* Integrate with prettier + update frontend/README with things people should know about it

* Update README, add printWidth=100 option
2019-10-16 23:10:39 -07:00
Eterna2 e8477ff0d3 [Frontend] Node detail view now can show workflow input/output artifacts (#2305)
* Added component to render link to artifact. Updated workflow parser to extract artifacts. Update view to render artifacts.

* revert package-lock.jsons

* minor styling fixes

* Added WorkflowParser tests for getNodeInputOutputArtifacts

* fix typo

* Add test for DetailsTable.valueComponent

* Fix types for values passed into DetailsTable

* fix minor style errors
2019-10-14 20:35:51 -07:00
Yuan (Bob) Gong 9d4e184260 [Frontend] Fix cannot copy logs in LogViewer when scrolling (#2370)
* Fix LogViewer logs cannot be selected when scrolling.

* LogViewer only follows new log when user scrolled to bottom of logs

* Fix compile issues

* Improve performance when log size is huge

* Fix snapshot tests: upgraded enzyme to 3.10.0 to work with React.memo; Changed snapshots to mount + getDOMNode to be invariant to internal refactoring

* Fix type checking failure
2019-10-12 02:22:38 -07:00
Yuan (Bob) Gong 7659e238bf Execution detail page shows inputs and outputs (#2155)
* Utils to convert metadata api from callback paradigm to promise paradigm

* Show input and output in execution details page

* Change execution detail page input/output table styling

* Make artifact names in execution detail page a deep link

* Change deep link to artifact ID instead

* Fix absolute import

* Fix lint errors
2019-09-20 07:57:00 -07:00
Yuan (Bob) Gong 0a38ced70a Make gs:// links in metadata UI point to GCS console page (#2167)
* Add gcloud console link for gs:// uris on artifact list page

* Make every gs:// link clickable

* Fix compile error
2019-09-20 07:25:00 -07:00
Yuan (Bob) Gong a687573b47 Pretty print json value in execution/artifact detail page (#2165)
* Pretty print json property values in ResourceInfo

* Remove console.log
2019-09-18 22:59:14 -07:00
Yuan (Bob) Gong 08f471659e Add URI to artifact details page (#2157) 2019-09-18 22:58:59 -07:00
Riley Bauer 0c27a04e52 Add execution list and details pages (#2059)
* Adds execution list and details pages

* Simplifies envoy dockerfile

* Add routing

* Update tests
2019-09-06 22:31:18 -07:00
Riley Bauer 8d196d4dec Adds Metadata Artifacts to UI (#2057)
* Working, though the request seems malformed

* Working with grpc-web. trying to push to cluster

* WIP

* With great hax come great success

* Begin moving some metadata UI pages to KFP

* Artifact list and details pages work! A lot of clean up is needed. Look for console.log and TODO

* Clean up

* Fixes filtering of artifact list

* More cleanup

* Revert ui deployment

* Updates tests

* Update envoy deployment
2019-09-06 13:19:19 -07:00
Kirin Patel 3cbbd87021 Fix ROC Curve visualization argument placeholder (#2002)
* Updated ROC curve argument placeholder

* Updated snapshot

* Fixed method of obtaining values from variables dict for ROC curve visualization
2019-08-30 12:48:16 -07:00
Kirin Patel c5d2f68655 Add frontend support for Python based visualizations (#1959)
* EOD Push

Most work on feature is completed. Currently attempting to fix bug where UI does not properly render visualizations for selected component.

* Fixed bug where switching selected node would not update visualizations in artifacts tab

* Remove debugging code

* Updated RunDetails.test.tsx.snap

* Addressed PR comments

* Improved error message readability
2019-08-29 10:31:56 -07:00
Kirin Patel 6827a2c977 Remove TFMA from frontend (#1986) 2019-08-28 18:51:55 -07:00
Kirin Patel 32ed27a98f Add endpoint to allow custom visualizations (#1931)
* Added support for custom visualizations to the VisualizationCreator component

* Add support for enabling/disabling custom visualizations

* Added mock-backend support for new api endpoint

* Changed allowCustomVisualization to be a prop
2019-08-26 14:22:37 -07:00
Kirin Patel 3d69062e13 Add custom visualization support for Python based visualizations (#1929)
* Added custom visualization type

* Added support for custom visualizations to the VisualizationCreator component

* Re-generated API

* Updated VisualizationCreator.test.tsx.snap

* Updated VisualizationCreator.test.tsx tohave new and more specific tests

* Added tests to ensure Editor component is visible when specifying visualization type
* Updated test to properly validate provided source is rendered

* Added unit test to ensure that an argument placeholder is provided for every visualization type

* Fixed linting error

* Simplified canGenerate logic
2019-08-25 15:10:20 -07:00
Kirin Patel 3c8952e6bf Add TFDV, TFMA, and Table visualization support for Python based visualizations (#1898)
* Added table and tfdv visualization

Also fixed issue surrounding ApiVisualizationType enum

* Fixed table visualization

* Removed byte limit
* Fixed issue where headers would not properly be applied
* Fixed issue where table would not be intractable

* Updated table visualizaiton to reflect changes made to dependency injection

* Fixed bug where checking if headers is provided to table visualizations could crash visualization

* Added TFMA visualization

* Updated new visualizations to match syntax of #1878

* Updated test snapshots to account for TFMA visualization

* Small if statement synax changes

* Add flake8 noqa comments to table.py and tfma.py
2019-08-22 13:57:20 -07:00
Kirin Patel 851e7c80d2 Replace codemirror editor react component with react-ace editor component (#1890)
* Replaced CodeMirror with Editor in PipelineDetails.tsx

* Replaced codemirror in DetailsTable with react-ace

* Removed codemirror

* Updated unit tests for Editor.tsx to test placeholder and value in simplified manner

* Updated DetailsTable.test.tsx.snap to reflect changes made in DetailsTable.tsx

* Updated PipelineDetails test snapshot

* Changed width of Editor in DetailsTable to be 100% instead of 300px

* Revert "Updated unit tests for Editor.tsx to test placeholder and value in simplified manner"

This reverts commit 40103f2e01.
2019-08-21 19:04:31 -07:00
Kirin Patel 7b442f4a54 Created extensible code editor based on react-ace (#1855)
* Created extensible code editor based on react-ace

* Installed dependencies

* Updated unit tests for Editor.tsx to test placeholder and value in simplified manner

* Updated Editor unit tests to use snapshot testing where applicable
2019-08-20 18:27:19 -07:00
Riley Bauer 2d6a314e54 All tests passing (#1812) 2019-08-12 15:33:40 -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
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
Kirin Patel f3de0c415d Add new PlotType to Allow for Visualization Creation (#1677)
* Added VisualizationCreator as new PlotType

* Addressed PR feedback made by @rileyjbauer

* Fix issue where updated props would not be accessible to VisualizationCreator

View [comment](https://github.com/kubeflow/pipelines/pull/1677#discussion_r307490016) for more details

* Updated select and input fields to become disabled when isBusy is true

* Updated test names to be more descriptive

* Fixed bug where enum key was used rather than enum value when determining ApiVisualizationType
2019-07-26 12:05:57 -07:00
Riley Bauer e059511a08 Sets min widths for buttons to avoid text wrapping (#1637)
* Sets min widths for buttons to avoid text wrapping

* Update tests
2019-07-24 13:35:52 -07:00
jingzhang36 bf6fee9bbb Add a helper function to create tensorboard crd (#1237)
* Add a helper function to create a tensorboard crd.

* Add a helper function to create a tensorboard crd.

* Remove optional parameter "pretty".

* Reuse constants when possible

* createTensorboardInstance, getTensorboardInstance, waitForTensorboardInstance

* Revise getTensorboardHandler and createTensorboardHandler to use getTensorboardInstance
and createTensorboardInstance

* remove trailing spaces

* Fix comment

* Ajust paremeter values.

* stringfy error objects; change 'plural' to 'viewer'

* Change 'plural' to 'viewers'

* Use derived namespace (instead of hardcoded kubeflow) to create viewer
 CRD. Derive viewer CRD's name from log dir.

* Adjust local dns

* Add GCP credentials for viewer resource.

* Address pr reviews

* auto formatting

* 1. viewer controller propagates credentials when creating pod
2. set credentials in viewer crd

* Put credentials info in PodTemplateSpec

* Cleanup not-to-be-included changes.

* Empty line

* Formatting

* Remove a duplicate include

* add crypto-js dependency

* Add path prefix

* Update k8s-helper.ts

* (1) set viewer service port be 6006 (2) trailing / is required for tensorboard path

* Remove url address encoding

* Remove an accidental change

* Formatting

* Add comment and TODO

* Change 6006 back to 80

* Remove deprecated functions from k8shelper. Revise some comments.

* Use getNamespacedCustomobject

* Try to fix unit test for the tensorboard.tsx change

* Re-arrange func order

* Polish comments

* When there is no existing tensorboard, GetNamespacedCustomObject's promise is reject, and in case of that reject, use ''
2019-06-20 13:00:36 -07:00
Riley Bauer b1a6848308 Only render JSON objects and arrays, not primitives (#1366) 2019-05-22 13:18:27 -07:00
Riley Bauer be4febc562 Trims the file extension from suggested pipeline names (#1349) 2019-05-17 13:28:11 -07:00
Riley Bauer 38540d7621 Pretty print inputs and outputs json (#1348)
* Pretty prints pipeline step input/outputs if they are JSON

* Further cleanup and added tests
2019-05-17 12:38:12 -07:00
Riley Bauer 814fe28511
Adds metrics table to Compare page, creates Metric component (#1284)
* Adds metrics table to Compare page, creates Metric atom

* Cleanup

* Adds tests for metric component

* Adds CompareUtils tests

* Adds MetricUtils tests

* Adds compare page tests
2019-05-16 15:46:15 -07:00
Riley Bauer 3289f43ef8 Fixes sorting in PagedTable so that it properly alternates between ascending and descending (#1261) 2019-05-02 00:42:16 -07:00
Ilias Katsakioris 07cb50ee0c Extend the DSL to implement the design of #801 (#926)
* SDK: Create BaseOp class

* BaseOp class is the base class for any Argo Template type
* ContainerOp derives from BaseOp
* Rename dependent_names to deps

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>

* SDK: In preparation for the new feature ResourceOps (#801)

* Add cops attributes to Pipeline. This is a dict having all the
  ContainerOps of the pipeline.
* Set some processing in _op_to_template as ContainerOp specific

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>

* SDK: Simplify the consumption of Volumes by ContainerOps

Add `pvolumes` argument and attribute to ContainerOp. It is a dict
having mount paths as keys and V1Volumes as values. These are added to
the pipeline and mounted by the container of the ContainerOp.

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>

* SDK: Add ResourceOp

* ResourceOp is the SDK's equivalent for Argo's resource template
* Add rops attribute to Pipeline: Dictionary containing ResourceOps
* Extend _op_to_template to produce the template for ResourceOps
* Use processed_op instead of op everywhere in _op_to_template()
* Add samples/resourceop/resourceop_basic.py
* Add tests/dsl/resource_op_tests.py
* Extend tests/compiler/compiler_tests.py

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>

* SDK: Simplify the creation of PersistentVolumeClaim instances

* Add VolumeOp: A specified ResourceOp for PVC creation
* Add samples/resourceops/volumeop_basic.py
* Add tests/dsl/volume_op_tests.py
* Extend tests/compiler/compiler_tests.py

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>

* SDK: Emit a V1Volume as `.volume` from dsl.VolumeOp

* Extend VolumeOp so it outputs a `.volume` attribute ready to be
  consumed by the `pvolumes` argument to ContainerOp's constructor
* Update samples/resourceop/volumeop_basic.py
* Extend tests/dsl/volume_op_tests.py
* Update tests/compiler/compiler_tests.py

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>

* SDK: Add PipelineVolume

* PipelineVolume inherits from V1Volume and it comes with its own set of
  KFP-specific dependencies. It is aligned with how PipelineParam
  instances are used. I.e. consuming a PipelineVolume leads to implicit
  dependencies without the user having to call the `.after()` method on
  a ContainerOp.
* PipelineVolume comes with its own `.after()` method, which can be used
  to append extra dependencies to the instance.
* Extend ContainerOp to handle PipelineVolume deps
* Set `.volume` attribute of VolumeOp to be a PipelineVolume instead
* Add samples/resourceops/volumeop_{parallel,dag,sequential}.py
* Fix tests/dsl/volume_op_tests.py
* Add tests/dsl/pipeline_volume_tests.py
* Extend tests/compiler/compiler_tests.py

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>

* SDK: Simplify the creation of VolumeSnapshot instances

* VolumeSnapshotOp: A specified ResourceOp for VolumeSnapshot creation
* Add samples/resourceops/volume_snapshotop_{sequential,rokurl}.py
* Add tests/dsl/volume_snapshotop_tests.py
* Extend tests/compiler/compiler_tests.py

NOTE: VolumeSnapshots is an Alpha feature at the time of this commit.

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>

* Extend UI for the ResourceOp and Volumes feature of the Compiler

* Add VolumeMounts tab/entry (Run/Pipeline view)
* Add Manifest tab/entry (Run/Pipeline view)
* Add & Extend tests
* Update tests snapshot files

Signed-off-by: Ilias Katsakioris <elikatsis@arrikto.com>

* Cleaning up the diff (before moving things back)

* Renamed op.deps back to op.dependent_names

* Moved Container, Sidecar and BaseOp classed back to _container_op.py
This way the diff is much smaller and more understandable. We can always split or refactor the file later. Refactorings should not be mixed with genuine changes.
2019-04-25 10:40:48 -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 c5a727abf7 Removes link to Kubeflow privacy links as KFP no longer runs Spartakus (#1074) 2019-04-01 11:36:34 -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
IronPan 2bde76092a remove jupyter hub link from UI (#1046)
* remove jupyter hub link from UI

* remove jupyter hub link from UI

* remove jupyter hub link from UI
2019-03-29 22:49:08 -07:00
Riley Bauer afcecbb480 Improve runtime graph exit-handler node name (#1059)
* Gives the exit-handler node in a runtime graph a human readable name

Also adds tooltips for full node names in graphs.

* Adds tests
2019-03-28 21:24:12 -07:00
Riley Bauer a60355abac Update sidebar styling (#1010)
* Update sidebar styling

* Update tests
2019-03-21 10:21:40 -07:00
Yasser Elsayed c0303b7d46 Add code formatting to markdown viewer (#935)
* add code formatting to markdown viewer

* tests
2019-03-08 14:20:55 -08:00
Yasser Elsayed 473c4be97c Add markdown viewer (#897)
* working, needs tests

* tests

* add output artifact loader tests

* cleanup new experiment tests

* pr comments
2019-03-04 16:53:01 -08:00
Riley Bauer 85de728236 Support rendering recursive static DAGs (#845)
* Adds support for rendering recursive pipelines to the StaticGraphParser

* Adds a recursive pipeline to the list of mocks

* Fixes recursive graph rendering under new styling

* Adds additional comments and surfaces pipeline yaml error to users

* Remove unnecessary comment
2019-02-25 17:48:26 -08:00
Riley Bauer a8b9107878 Update graph styling (#829)
* Updates styling for the graphs

* Break all diagonal edges into vertical and horizontal components

* Checkpointing. A lot of minor adjustments being made

* Change graph rendering to only use horizontal and vertical lines for
edges. Previously diagonal edges are converted into two vertical edges
and one horiztonal

* Small cleanup

* Hovering over node now highlights all incoming and outgoing edges, as does selecting a node

More fixes, stop stacking starting edges

* Clean up

* Remove edge starting circle code

* Returns the DAG to using arbitrary angles rather than right angles

* Adds small vertical segment to end of all edges

* Significant clean up and updating tests

* A little more clean up and adding tests for the new Status util function

* One more test for Status

* Increase node font weight

* PR comments

* A little more cleanup in Graph
2019-02-21 11:34:41 -08:00
Riley Bauer 2ec15c271e
Sets 'Choose file' button width to avoid wrap (#830)
* Sets 'Choose file' button width to avoid wrap

* Switch to white-space nowrap
2019-02-19 13:40:28 -08:00
Riley Bauer f07d578d64
Updates frontend to Typescript to 3.3.1 (#772)
* Updates Typescript to 3.3.1 and updates code around CustomTable customRenderer to make better use of FunctionComponent typings

* Remove extra afterEach from merge

* Further merge clean-up
2019-02-14 11:54:45 -08:00
Yasser Elsayed 603597d65b Archive runs UI (#748)
* update ts definitions from swagger

* fix case

* Update run.go

* storageState -> storage_state

* storageState -> storage_state

* wip mock backend changes, need to use filter for storagestate

* filter_by -> filter, remove options handlers

* show only available runs, mock middleware support

* add basic Archive page with runs

* fixes, added button to sidenav

* fix generated ts filter-related changes in definitions

* storageState -> storage_state

* fix after rebase

* cleanup

* use notequals archived instead of equals available

* augment runs request filter with storage state

* fix tests

* treat available runs as unarchived

* refactor buttons to separate file

* experiment details buttons, remove test console log

* cleanup

* added actions to Buttons module

* tests

* cleanup

* add messages to dialogs

* add archive/restore button to run details

* archive breadcrumb

* mention run will not stop when archiving

* pr comments
2019-02-13 13:50:12 -08:00
Riley Bauer 2c6ad29737 Improve runtime graph starting and running experience (#734)
* Improve runtime graph starting and running experience

- displays spinner when no nodes have started
- adds info message to bottom of runtime graph indicating that it is
runtime and that the graph will update over time
- adds placeholder nodes at end of graph to indicate future progress

* Update test snapshots

* Fix bug with virtual nodes, and add transition to graph

* PR comments, updating tests

* Moves IconWithTooltip to atoms/ and adds tests

* Update copyright and add further tests
2019-01-30 14:21:31 -08:00
Riley Bauer 5beffef614 Auto-refreshes the run details page (#722)
* Auto-refreshes the run details page

Auto-refresh is paused when the window loses focus (blur) and is resumed
upon re-focus. Autorefresh is permanently terminated if the run has
stopped due to failure, error, being skipped, or succeeding.

* Adds tests for Status.hasCompleted

* Clean up and PR comments
2019-01-24 10:55:02 -08:00
Riley Bauer 065e1f6e16 Adds a link in the side nav to the KF 'usage-reporting' doc (#682) 2019-01-15 11:39:01 -08:00
Riley Bauer 504b89620e Add build version to side nav (#670)
* Makes KF logo a button and adds tooltips to sidenav when collapsed

* Adds build version, date, and link to side nav. Still needs tests

* Cleanup and PR comments
2019-01-14 10:08:22 -08:00
Riley Bauer 705d00038c Add simple filtering by name to CustomTable (#656)
* Adds simple filtering by 'name' to CustomTable

* Update tests

* Adds new tests for filtering the CustomTable

* Filter using 'is_substring' rather than 'equal'

* Clean up and some comments

* Add snapshot to handleFilterChange test
2019-01-10 15:38:42 -08:00
Riley Bauer 2158d23279 Updates material-ui and react npm libraries (#630)
* Updates material-ui and react npm libraries

* Update failing BusyButton snapshots

* Reduce material-ui version to 3.7.1 to avoid known issue with 3.8.1
2019-01-04 16:07:44 -08:00
Yasser Elsayed d4d4f62056 Compare perf - pure components, disable ROC curve thumbnail animations (#598)
* pure components, no animations for roc curve thumbnails

* fix snapshot tests

* set state once when loading parameters

* manually check plot card pros/state to make it pure
2019-01-04 11:54:41 -08:00
Riley Bauer 58bb9afd1b Allows uploading a pipeline via a URL (#554)
Still needs verification on real cluster
2018-12-18 14:14:13 -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
Riley Bauer 4c5e6291c5 Adds tests for the run comparison page (#469)
* Adds tests for the run comparison page

* Rebase cleanup

* Remove Compare from CollapseButton props

* Minor test cleanup
2018-12-05 10:53:35 -08:00
Yasser Elsayed 9718826cba Show pipeline details embedded in runs (#447)
* show 'View pipeline' button when no pipeline id is present

* wip pipeline details to show pipeline from run spec

* pipeline details working, still need to show breadcrumbs

* breadcrumbs fixed, needs testing

* fix tests

* add more tests to cover changes

* make sure only pipeline is defined

* pr comments
2018-12-04 11:13:27 -08:00
Yasser Elsayed 351d9cc5ba Add loading spinner to custom table while loading items (#405)
* add loading spinner to cusom table

* tests

* pr comments
2018-12-03 11:46:05 -08:00
Yasser Elsayed 71def98d95 fix tb viewer test (#427) 2018-11-30 01:06:14 -08:00
Yasser Elsayed db772d51bc PipelineDetails page tests (#380)
* wip pipeline details tests

* pipeline details tests

* safe load template

* add close panel test

* pr comments
2018-11-27 23:31:19 -08:00
Riley Bauer f59c226bfe Disables back button when there is no history (#377)
This can happen whenever a user opens up a page from a URL.

A common way to hit this is to create a run from a notebook and click the link to see it in the UI.
2018-11-26 12:09:39 -08:00
Yasser Elsayed d313a9c623 PipelineDetails cleanup (#350)
* refactor out selected node info

* refactor details table title

* refactor out side panel

* cleanup

* pr comments
2018-11-21 12:02:04 -08:00
Yasser Elsayed 7a89c98f0a Add run status to page title (#287)
* dedicated pageTitle toolbar prop

* fix tests

* add run status icon

* Add parentheses

* fix tests after merge

* fix tests
2018-11-20 19:14:31 -08:00
Yasser Elsayed 003a8c8d11
Use latest npm and node on travis, fix tests (#317)
* use latest npm, node

* fix tests
2018-11-19 15:40:59 -08:00
Riley Bauer a807ad304c Update button styling for new experiment and new run (#264)
* Update button styling for new experiment and new run

* Add parantheses to condition
2018-11-19 11:53:40 -08:00
Yasser Elsayed 74270cb397 Recurring run details tests (#202)
* wip RecurringRunDetails tests

* more recurring run details tests

* more tests, covering all essential flows

* pr comments

* pr comments
2018-11-14 17:21:09 -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
Yasser Elsayed 8793d0e739 404 page (#135)
* 404 page

* add function signatures
2018-11-13 00:12:20 -08:00
Riley Bauer 5d9f85c2a8 Removes the magic in Input, reducing it to a styled TextField (#150)
* Removes the magic in Input, rducing it to a styled TextField

* Automatically use height='auto' for multiline inputs
2018-11-10 15:56:57 -08:00
Riley Bauer 8c2110d2eb Sets min height and min width of all viewers to 80% when fullscreen (#167) 2018-11-08 23:50:28 -08:00
Yasser Elsayed 3aa7643c64 Require full function signatures (#136)
* add function signatures

* Tests
2018-11-08 11:58:19 -08:00
Riley Bauer b782e5f5f8 Consolidate UI of toolbars for AllRunsList and ExperimentList (#124)
* Keep Experiments button in sidenav highlighted on non-pipeline pages

* Revert IDs in SideNav
2018-11-08 10:33:30 -08:00
Riley Bauer 7657f7859a Fixes bug where a new recurring run has no default trigger (#144)
* Fixes bug where a new recurring run has no trigger if user never interacted with the trigger form

* Update snapshot tests
2018-11-07 17:36:40 -08:00
Ajay Alfred d1c38e544f Expanded row changes (#120)
* updated favicon to monochrome color

* simple CSS changes to expanded row
2018-11-06 20:24:04 -08:00
Yasser Elsayed 2b58a16e12 Account for padding in metric progress fill (#107)
* Account for padding in metric progress fill

* small mock backend fix

* move to css classes, add color

* changes to breadcrumb style

* increase width of summary card

* tests

* merge tests
2018-11-06 16:44:10 -08:00
Yasser Elsayed 0e2030c645 ExperimentList tests, use immer.js (#86)
* experiment list tests

* use produce in more places

* remove extra test

* remove extra import
2018-11-06 14:09:31 -08:00
Ajay Alfred 80eceae867 CSS changes for nav menu and tables (#99) 2018-11-06 12:40:43 -08:00
Yasser Elsayed e6dbfacf06 PipelineList tests, fix clearing error banner (#50)
* wip pipeline list tests

* wip pipeline list tests

* more tests

* delete tests

* upload tests, safe setstate

* cleanup

* merge master

* pr comments

* pr comments

* add missing clearBanner in a bunch of places
2018-11-05 19:54:40 -08:00
Riley Bauer 153f61aefb Adds the Kubeflow logo to the side nav. Fetches specific font weights (#48)
* Adds the Kubeflow logo to the side nav, and fetches specific font weights

* Change favicon and webpage title

* Updates 'Pipelines' icon
2018-11-05 16:32:10 -08:00
Yasser Elsayed e5cdc02fe2 Push pagination control to CustomTable (#31)
* initial, moving paging into custom table, tests disabled

* wip, rest of custom table occurrences, run list broken

* fix run list and others

* tests

* cleanup

* pr comments
2018-11-04 00:06:22 -07:00
Pascal Vicaire 633e2ddcc8 Initial commit of the kubeflow/pipeline project. 2018-11-02 14:02:31 -07:00