* 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.
* 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
* Regenerated run api for frontend
* Added support for reference name to resource reference API in frontend
* Revert "Regenerated run api for frontend"
* Addressed PR comments
* Removed extra if statement by setting default value of parameter
* Removed the whole comment
* Addressed PR feedback
* Addressed PR feedback
* Simplified logic after offline discussion
* Skips calling getPipeline in RunList if the pipeline name is in the pipeline_spec
* Update fixed data to include pipeline names in pipeline specs
* Remove redundant getRuns call
* 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
* 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
* 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
* Generated visualization swagger files for frontend
* Changed swagger codegen cli version from 2.4.1 to 2.3.1
Regenerated visualization API with swagger codegen cli version 2.3.1
* 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 ''
* Frontend - Show customized task display names
* Added customized name test
* Added ContainerOp.set_display_name(name) method
* Stopped writing human_name to display_name annotation for now
Reason: It's a change to existing pipelines.
* Added test for op.set_display_name
* Fix for tests that have workflows with status nodes, but without any spec or templates
* Fixed the test workflow
* Fix linter error
Error: "The key 'metadata' is not sorted alphabetically"
* kfp frontend API service can configure minio client params thru env vars
* minio endpoint is composed from host and namespace to support k8s yaml
* Added kustomize patch for pipeline-ui deploy
* Shows link to Stackdriver logs if logs retrieval fails and cluster is running in GKE
* Add additional link for new k8s stackdriver resource names
* Fix spacing
* Add s3 and local support for artifact viewer
* Remove local file support and use ViewerCRD instead
* Fix condition failed tests
* Keep using minio for metadata manifests
* 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
* 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.
* 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
* Fixes deletion of recurring runs and redirects after deleting pipeline from pipeline details page
* Add comment for deletion on recurring run and pipeline details pages
* Remove refreshOnComplete flag from buttons
From the ExperimentDetails and ExperimentList pages, calls to getRun and
getExperiment are removed.
From the RunList page, calls to getRun are removed.
* 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