Closed jlewi closed 1 day ago
Issue-Label Bot is automatically applying the label improvement/enhancement
to this issue, with a confidence of 0.95. Please mark this comment with :thumbsup: or :thumbsdown: to give our bot feedback!
Links: app homepage, dashboard and code for this bot.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
I can try and take that one.
I'll start with some basic end-to-end cases such as creating and deleting Notebooks and will gradually try to add more advanced ones.
/assign kimwnasptd
@kimwnasptd any update on this?
Bump to P0 because this is a requirement for 1.0.
@jlewi I'm reading the e2e instructions in the testing repo and I have some questions.
prow_config.yaml
to be run as a postsubmit job?Does each test (.py file) need to be encapsulated in an argo workflow in order to be triggered from prow? If yes, where should this bundle (.py + argo app) live in the code base?
An E2E test will be an Argo workflow that contains steps for building and deploying the application and then testing it. The invocation of the python code (e.g. pytests) to test your application will be steps in this workflow.
The code for the primary E2E test for kubeflow is defined in kfctl_e2e_workflow.py
So you can use that as the basis for defining an E2E workflow for the jupyter web app
If you want to create a presubmit test that you would write an E2E workflow that would have Argo steps for the following
You will like want to define this workflow in the same repository as the source code; i.e. kubeflow/klubeflow
Once you have a python file you can add it to the prow file.
Writing a postsubmit test might be a little easier because you could run the test against the most recently deployed cluster from master. In which case you wouldn't have to worry updating the manifests or deploying the Kubeflow clusters.
You can model this on create_e2e_workflow.py which is a test for our examples
It might be useful to discuss at the community meeting or in an out of band meeting.
@kimwnasptd any update on this?
@kimwnasptd any update on this?
If @kimwnasptd is Ok with it I can start working on this. I've seen there are a lot of area/jupyter
tickets in KF1.0 that could be easily tested if we have a suite in place.
I've already started to refactor https://github.com/jlewi/kubeflow/blob/1690703d261d29ccd7e1d5ff154d79064473d9d8/kubeflow/jupyter/tests/jupyter_test.py#L85
Just finished the basic structure of the test. It has two test cases for now:
Lets first add these tests to have something to work with and we can then further expand them.
@jlewi IIUC the python test file will be in the kubeflow/kfctl
repo, under the py/kubeflow/kfctl/testing/pytests/
directory correct?
@kimwnasptd You could probably put it in kubeflow/kfctl or kubeflow/kubeflow depending on what is easier. The e2e test will be split across those repos since it depends on code in multiple repos.
@kimwnasptd Any update on this? Do you have a link to your PR?
@fediazgon I think what you are working on is complementary. https://github.com/jlewi/kubeflow/blob/1690703d261d29ccd7e1d5ff154d79064473d9d8/kubeflow/jupyter/tests/jupyter_test.py#L85 is testing that Jupyter itself is accessible; i.e. its testing that the notebook controller correctly sets up ISTIO reverse proxy routes for notebooks.
I think @kimwnasptd is testing the UI for launching notebooks (i.e. creating Notebook resources).
I think we need both. So if you want to go ahead and work on testing the Jupyter Notebook UI that would be a huge help. Perhaps we should open up a separate issue for that?
@kimwnasptd Any update on this? Do you have a link to your PR?
@fediazgon I think what you are working on is complementary. https://github.com/jlewi/kubeflow/blob/1690703d261d29ccd7e1d5ff154d79064473d9d8/kubeflow/jupyter/tests/jupyter_test.py#L85 is testing that Jupyter itself is accessible; i.e. its testing that the notebook controller correctly sets up ISTIO reverse proxy routes for notebooks.
I think @kimwnasptd is testing the UI for launching notebooks (i.e. creating Notebook resources).
I think we need both. So if you want to go ahead and work on testing the Jupyter Notebook UI that would be a huge help. Perhaps we should open up a separate issue for that?
I was working on the Argo workflow that you mentioned in this comment to wrap @kimwnasptd tests. My idea was to add a flag in create_unique_kf_instance to allow creating a deployment but overriding some images. Then, test this deployment in the pytests.
@fediazgon replied in slack; my suggestion would be to start by running in postsubmits and periodic tests run against our auto-deployed clusters so that we don't have to modify create_unique_kf_instance. I added some pointers in slack. We can continue to discuss there.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
@kimwnasptd What's the status of E2E testing for the jupyter web app? Are we running and reporting the e2e test results?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
@kimwnasptd and @StefanoFioravanzo any update on this?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
@kubeflow/wg-notebook-leads Any update on this?
I will raise this in the notebook working group slack channel.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
/reopen /lifecycle frozen
@kimwnasptd: Reopened this issue.
/transfer notebooks
/close as decided by @andreyvelich @tarilabs in the migration document
@juliusvonkohout: Closing this issue.
We should have E2E tests for the Jupyter web app using a framework like selenium.
See kubeflow/testing#288