* jwa(front): Add integration tests with Cypress
- Upgrade Cypress to version ^10.10.0
- Add integration tests with Cypress to check that:
* Index page renders every Notebook name into the table
* Index page shows correct Status icon for all notebooks
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* gh-actions(jwa): Add UI tests to JWA's frontend workflow
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* fixup! gh-actions(jwa): Add UI tests to JWA's frontend workflow
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* jwa(front): Add missing generateName form control
Add missing generateName form control when creating the metadata
form group from a PVC.
Signed-off-by: Tasos Alexiou <tasos@arrikto.com>
* jwa(front): Update volume's mount path when name changes
Extend VolumeMountComponent class and update volume's mount path
when it is not dirty and name is changed. This feature affects only
the data volumes and not the workspace volume.
Signed-off-by: Tasos Alexiou <tasos@arrikto.com>
* jwa(front): Add UI tests for volume's mount path input
Signed-off-by: Tasos Alexiou <tasos@arrikto.com>
Signed-off-by: Tasos Alexiou <tasos@arrikto.com>
* web-apps(front): Remove Protractor files
Remove Protractor files since it's not used anywhere in the common
code.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* web-apps(front): Add Cypress attributes
Add more attributes and modify some existing ones for elements to be
selectable during UI tests with Cypress.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Install Cypress
- Install Cypress & npm scripts for UI tests
- Remove Protractor files
- Update README.md with UI tests instructions
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Add UI tests with Cypress
- Add Cypress attributes for elements to be selectable during
UI tests.
- Add UI tests with Cypress to check that:
* New Volume form dialog has proper values
* Index page table contains all PVC names received
* Index page table status icons are correctly shown
* Index page table browse buttons are correctly shown
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* gh-actions(vwa): Add UI tests to VWA's frontend workflow
Add UI tests to VWA's frontend workflow. These tests should run in
Ubuntu 20.04 since Ubuntu 20.04 includes both Chrome and Firefox
installations by default.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Fix formatting errors
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* web-apps(front): Fix format errors
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* web-apps(front): Add script
Signed-off-by: Elena Zioga <elena@arrikto.com>
* web-apps(front): Install Prettier
Signed-off-by: Elena Zioga <elena@arrikto.com>
* web-apps(front): Format code
Signed-off-by: Elena Zioga <elena@arrikto.com>
* web-apps(front): Create a workflow for code formatting/linting and unit tests
Signed-off-by: Elena Zioga <elena@arrikto.com>
Signed-off-by: Elena Zioga <elena@arrikto.com>
* Set REGISTRY prefix when building notebook-server images
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
* Fix publish workflows for nb-server images when a PR is merged
Whenever a PR is merged:
* Build/Push notebook-server images with TAG=$(shell git describe --tags --always --dirty)
* Build/Push notebook-server images with TAG=latest when the target branch is master
* Build/Push notebook-server images with TAG=$(cat releasing/version/VERSION) when
Version changes
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
* Update manifests to use latest tag for notebook-server images
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
* web-apps(front): Sort tables according to input
Configure tableConfig with new fields (column and order) that the table
will use to sort items during initialization.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* web-apps(front): Sort conditions table by timestamp
Initialize conditions table sorted by Last Transition Time column, with
the most recent ones being on top.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* jwa(front): Sort events by timestamp
Initialize events table in EVENTS tab by Created at column, with the
most recent ones being on top.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Sort events by timestamp
Initialize events table in EVENTS tab by Created at column, with the
most recent ones being on top.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Fix format errors
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* web-apps(front): Create lib-urls component
Create a URLs component in Kubeflow common library which takes a
list of URLs and their corresponding name and exposes them
horizontally in a div.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* web-apps(front): Add unit test for lib-urls
Add a unit test for lib-urls component
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* jwa(front): Remove column Volumes from index page
Remove Volumes column from the table in JWA's index page.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* jwa(front): Link to a Volume details from JWA details page
- Expose all volumes from a notebook, not only PVCs.
- Expose the volumes grouped by type, having PVCs link to their
corresponding volume details page in VWA, using lib-urls
component.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Implement lib-urls in VWA details page
Implement lib-urls component in the OVERVIEW tab of VWA's volume
details page to avoid duplicate code.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* jwa(front): Use common link styles
Use common link styles in configurations component.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* Fix linting errors
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Fix a bug in the namespace selectors of JWA, VWA and TWA. In order to
show the namespace selector, they only checked if there is no
env.production variable available. This resulted in the selector not
showing even if there was no dashboard which is not expected.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
review changes
* build images with the latest tag only when a PR
is merged to master branch
* revert changes in manifests/workflows for the
notebook-server images
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
* jwa(front): Add buttons to Notebook details page
In this commit:
- Add buttons for Connect, Start/Stop, Delete actions.
- Create Actions Service to handle button actions and implement it
in all components that use these buttons.
- Small CSS tweak in title toolbar component in order for
buttons to be aligned horizontally.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* jwa(front): Handle query parameters in Notebook page
Add query parameter handling for each tab in order for the user to
be able to navigate directly to the tab of choice inside the
Notebook details page.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* web-apps(front): Add default values in lib-conditions-table fields
Add default values for lastTransitionTime, reason & message fields
in order to prevent the table's Sorting functionality returning
error due to null values.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* jwa(front): Add unit tests for notebook-page component
In this commit, add unit tests in order to:
- Show only the proper tab according to query parameters passed.
- Switch tabs according to query parameters passed.
- Update disabled field of buttons according to notebook status.
- Update start/stop button according to notebook status.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* jwa(front): Add unit tests for OVERVIEW tab component
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Handle query parameters in Volume details page
Add query parameter handling for each tab in order for the user to
be able to navigate directly to the tab of choice inside the Volume
details page.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Add unit tests for volume-details-page component
Add unit tests in order to:
- Show only the proper tab according to query parameters passed.
- Switch tabs according to query parameters passed.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Add unit tests for overview component
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* gh-actions(vwa): Add frontend tests
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Fix linting errors
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* jwa(front): Fix panel.ts file
Signed-off-by: Elena Zioga <elena@arrikto.com>
* jwa(front): Modify form name component
Signed-off-by: Elena Zioga <elena@arrikto.com>
* web-apps(front): Add a helper tooltip in section component
Signed-off-by: Elena Zioga <elena@arrikto.com>
* jwa(front): Rework the Create page
Signed-off-by: Elena Zioga <elena@arrikto.com>
* jwa(front): Fix linting errors
Signed-off-by: Elena Zioga <elena@arrikto.com>
Signed-off-by: Elena Zioga <elena@arrikto.com>
Extend spinner component by adding some text below the spinner in order
to inform users why we're spinning about.
Signed-off-by: Elena Zioga <elena@arrikto.com>
Signed-off-by: Elena Zioga <elena@arrikto.com>
* Introduce intergration test workflow for notebook-controller
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
* Publish Docker image only when PR is merged
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
* Remove kind & manifest gh-action workflows
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
* Update tag in manifests to v1.6.0
This change is required as images with v1.5.0 do not
exist in Dockerhub.
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
* Introduce intergration test workflow for tensorboard-controller
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
* Publish Docker image only when PR is merged
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
* Remove kind & manifest gh-action workflows
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
* Update tag in manifests to v1.6.0
This change is required as images with v1.5.0 do not
exist in Dockerhub.
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
* jwa: Extend tests for using images of each PR
Changes:
* Introduce intergration test workflow for JWA
* Publish Docker image only when PR is merged
* Remove kind & manifest gh-action workflows
* Update tag in manifests to v1.6.0
- This change is required as images with tag v1.5.0 do not
exist in "docker.io/kubeflownotebookswg" registry.
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
* twa: Extend tests for using images of each PR
Changes:
* Introduce intergration test workflow for TWA
* Publish Docker image only when PR is merged
* Remove kind & manifest gh-action workflows
* Update tag in manifests to v1.6.0
- This change is required as images with tag v1.5.0 do not
exist in "docker.io/kubeflownotebookswg" registry.
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
* vwa: Extend tests for using images of each PR
Changes:
* Introduce intergration test workflow for VWA
* Publish Docker image only when PR is merged
* Remove kind & manifest gh-action workflows
* Update tag in manifests to v1.6.0
- This change is required as images with tag v1.5.0 do not
exist in "docker.io/kubeflownotebookswg" registry.
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
Signed-off-by: Apostolos Gerakaris <apoger@arrikto.com>
* jwa(front): Add source maps in the browser
* Enable source maps in both development and production.
Signed-off-by: Elena Zioga <elena@arrikto.com>
* vwa(front): Add source maps in the browser
* Enable source maps in both development and production.
Signed-off-by: Elena Zioga <elena@arrikto.com>
* twa(front): Add source maps in the browser
* Enable source maps in both development and production.
Signed-off-by: Elena Zioga <elena@arrikto.com>
Signed-off-by: Elena Zioga <elena@arrikto.com>
* twa(front): Update @angular/common package
Signed-off-by: Elena Zioga <elena@arrikto.com>
* twa(front): Fix unit tests
Signed-off-by: Elena Zioga <elena@arrikto.com>
* gh-actions: Add GH action to run TWA unit tests
Signed-off-by: Elena Zioga <elena@arrikto.com>
Signed-off-by: Elena Zioga <elena@arrikto.com>
Update manifests for volumes-web-app-cluster-role to be able to list
notebooks in kubeflow.org.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Fix tests symLinks to Kubeflow common code
Add field preserveSymLinks in angular.json in order to link to
Kubeflow common library during tests.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Fix unit tests failing
Fix unit tests failing for the following components: app, index,
index-default, index-rok, form-default, form-rok
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Add delete button to Volume details page
In this commit:
- Add button for Delete action.
- Create Actions Service to handle delete action and implement it in
all components that use it.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(back): Get a PVC's events
Add logic in the backend to fetch the events of a PVC.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Add EVENTS tab to Volume details page
Add Events tab to show the available events of the pvc in the form
of a table, in order to help a user with debugging the pvc.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): fix linting errors
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* jwa(front): Rename form-default component
Signed-off-by: Elena Zioga <elena@arrikto.com>
* jwa(front): Create missing module files
Signed-off-by: Elena Zioga <elena@arrikto.com>
* jwa(front): Remove form-rok and form components
Signed-off-by: Elena Zioga <elena@arrikto.com>
* jwa(front): Update JWA's @angular/common package
Signed-off-by: Elena Zioga <elena@arrikto.com>
* jwa(front): Modify rok-url component
Signed-off-by: Elena Zioga <elena@arrikto.com>
* web-apps(front): Add Rok URL message
Signed-off-by: Elena Zioga <elena@arrikto.com>
* vwa(front): Update VWA's @angular/common package
Signed-off-by: Elena Zioga <elena@arrikto.com>
* vwa(front): Remove the headers request
Remove the headers request since the common code implements it.
Signed-off-by: Elena Zioga <elena@arrikto.com>
* jwa(front): Fix JWA's unit tests
Fix JWA's unit tests.
Signed-off-by: Elena Zioga <elena@arrikto.com>
* gh-actions: Add GH action to run JWA unit tests
Signed-off-by: Elena Zioga <elena@arrikto.com>
* jwa(build): Update Dockerfile
Update Dockerfile to not build Rok.
Signed-off-by: Elena Zioga <elena@arrikto.com>
Signed-off-by: Elena Zioga <elena@arrikto.com>
Add tab to show the full YAML both from the Notebook and from its
underlying pod, when there is one.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(back): Get a single PVC and the pods using it
Add logic in the backend to fetch a single PVC and the pods using
it.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Create Volume details page with OVERVIEW tab
Create OVERVIEW tab to show key information about the PVC.
* vwa(front): Format files
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Create a .gitignore file to ignore web-apps-dev files generated
during the virtual env creation.
Signed-off-by: Elena Zioga <elena@arrikto.com>
Signed-off-by: Elena Zioga <elena@arrikto.com>
* jwa(back): Get a notebook's events
- Add logic in the backend to fetch the events of a notebook.
- Fix the authorization parameters in the get_notebook_events
function.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* jwa(front): Add EVENTS tab to Notebook details page
Add Events tab to show the available events of the notebook in the
form of a table, in order to help a user with debugging the
notebook.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* jwa(back): Get a notebook's logs
Add logic in the backend to fetch the logs of a notebook's
underlying pod.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* jwa(front): Add LOGS tab to Notebook details page
- Create Logs tab to show the logs of the notebook's underlying
pod.
- Create Logs Viewer component in Kubeflow common library exactly
like the one we have in MWA.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
As part of the effort for the new Notebook details page in JWA, update
the manifests for jwa's cluster role in order to list resources pods and
get pods/log.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* vwa(front): Support all-namespaces
The VWA will now be able to work with the "All namespaces" option of
the CentralDashboard.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* twa(front): Support all-namespaces
The TWA will now be able to work with the "All namespaces" option of
the CentralDashboard.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* wa(front): Add cypress attributes
Add more attributes for elements to be selectable when running e2e
tests.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* jwa(e2e): Add e2e tests for all-namespaces
Add a new e2e test that checks if the Namespaces column is shown
when selecting all-namespaces.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* dashboard: Allow all-namespaces for vwa/twa
The dashboard will be allowing the VWA and TWA to work with
all-namespaces, now that we added this functionality.
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
Signed-off-by: Kimonas Sotirchos <kimwnasptd@arrikto.com>
* jwa(back): Get a single notebook and its pod
In this commit:
- Add logic in the backend to fetch a single notebook and its
underlying pod.
- Make list_pods function in Kubeflow common code to accept a
label_selector parameter and use it to filter out results when
available.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* jwa(front): Create Notebook details page with OVERVIEW tab
In this commit:
- Create OVERVIEW tab to show key information about the notebook
and its underlying pod.
- Create Content List Item component in Kubeflow commonn library to
be able to encapsulate any content/component in the form of a
list item.
- Create Variables Group component in Kubeflow common library to
show groups of variables in the form of chips.
- Small UI tweak in Details list Item component from Kubeflow
common library in order to stop chips from overlapping with each
other.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* Fix linting errors
* Include Kubeflow common library's new package-lock.json
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* jwa(front): Replace pod conditions with notebook status conditions
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* web-apps(back): Backend fetch pods fix
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Import new Editor component from Kubeflow Common Library and replace
all instances of previous Ace Editor.
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
Signed-off-by: Orfeas Kourkakis <orfeas@arrikto.com>
* web-apps(front): Import @types/lodash package
Import @types/lodash package to support type definitions.
Signed-off-by: Elena Zioga <elena@arrikto.com>
* web-apps(front): Changes needed for trials table
In this commit:
- Adjust filtering tooltip to expose info only for the existing
columns.
- Extend table component to be able to highlight a row.
- Fix autocomplete dropdown bug.
Signed-off-by: Elena Zioga <elena@arrikto.com>
Signed-off-by: Elena Zioga <elena@arrikto.com>